Hive 接続の作成
- [Hive に読み込み] アクティビティを開きます。
- [ファイル名] フィールドに、読み取るファイルの名前を入力します。参照 [...] をクリックして、読み取るファイルを選択します。
-
[ファイル タイプ] フィールドで、読み取るファイルの形式を選択します。デフォルトでは、[区切り記号付き] のファイル形式が選択されています。
選択された [ファイル タイプ] が [区切り記号付き] または [シーケンス] の場合は、[フィールド区切り文字] と [レコード区切り文字] のフィールドが表示されます。それ以外の場合は、これらのフィールドは表示されません。
- [フィールド区切り文字] フィールドで、レコードの連続する各フィールドを区切る文字を選択します。
-
[接続] フィールドで、使用する Hive データベースへの接続を選択します。
-
接続を追加、変更、削除するには、[管理] をクリックします。
[Database Connection Manager] ウィンドウが開きます。
-
[追加] をクリックして新しい接続を作成するか、[変更] をクリックして既存の接続を編集します。
[接続プロパティ] ウィンドウが開きます。
- [接続名] を入力します。
- [データベース ドライバ] フィールドで、接続用の Hive データベース ドライバを選択します。
- [ユーザ]、[パスワード]、[ホスト]、[ポート]、[インスタンス] といった、接続のすべての詳細情報を指定します。
- 接続の詳細情報をテストするには、[テスト] をクリックします。
-
接続テストが正常に終了したら、[OK] をクリックします。
[接続プロパティ] ウィンドウが閉じます。
-
[OK] をクリックします。
[Database Connection Manager] ウィンドウが閉じます。
-
接続を追加、変更、削除するには、[管理] をクリックします。
-
[テーブル/ビュー] フィールドで、書き込み先のテーブルを選択するか、作成する新規テーブルの名前を入力します。
[テーブル/ビュー] フィールドで新しいテーブルを作成すると、[外部] チェックボックスが有効になります。既存のテーブルを選択する場合は、[外部] チェックボックスは無効のままです。
-
Hive データベースの外部に新しいテーブルを作成するには、[外部] チェックボックスをオンにします。
重要: 外部テーブルの場合:Hive の EXTERNAL テーブルの詳細については、こちらを参照してください。
- 既存のレコードは上書きできません。また、新しいレコードは追加できません。新しい外部テーブルを作成し、それにレコードを設定することだけが可能です。
- 特定のフォルダにある 1 つのファイルを選択すると、そのフォルダの中のすべてのファイルが自動的に選択されます。したがって、特定のフォルダに置くファイルはすべて、同じ形式である必要があります。
- テーブルの既存のレコードをすべて上書きする場合は、[上書き] チェックボックスをオンにします。これによって、選択されたテーブルの既存のレコードが削除され、ファイルから読み取られたレコードがテーブルに追加されます。
-
グリッドには、選択されたテーブルの列の名前とデータタイプが表示されます。
[テーブル/ビュー] フィールドで新しいテーブルを指定した場合は、グリッドの横にある [追加]、[変更]、[削除] の各ボタンを使用して、テーブルを定義するための列を追加し、その各データタイプを指定します。テーブル列の順序を指定するには、[上へ移動] ボタンと [下へ移動] ボタンを使用します。注: [追加]、[変更]、[削除]、[上へ移動]、[下へ移動] の各ボタンは、[テーブル/ビュー] フィールドで既存のテーブルを選択した場合は無効のままとなります。重要:
- すべてのデータタイプが String である場合以外は、ファイル内のすべてのフィールドのデータタイプが、各テーブル列のデータタイプと一致することを確認してください。一致しない場合は、データの読み込みによってデータの矛盾が生じる恐れがあります。
- ファイル内のフィールド数が、テーブル列の数と一致することを確認してください。一致しない場合、ファイル内の余分なフィールドは破棄されます。
- Hive は、名前がすべて小文字のテーブルおよび列のみを受け付けます。大文字を使った名前を入力した場合は、Hive によって小文字に変換されます。その結果得られるスキーマには、すべての名前が小文字で表示されます。
- [OK] をクリックします。
注: 新しいテーブルを作成してその列を定義することを選択した場合は、実行時にそれが作成されます。[Hive に読み込み] アクティビティで行われるのは、テーブル構造の設計だけです。実行時に、設計されたテーブルが作成され、ファイルから読み取られたデータがそれに書き込まれます。