Talend-hive

提供:Dev Guides
移動先:案内検索

Talend-ハイブ

この章では、TalendでHiveジョブを操作する方法を理解しましょう。

Talend Hiveジョブの作成

例として、NYSEデータをハイブテーブルにロードし、基本的なハイブクエリを実行します。 Job Designを右クリックして、新しいジョブ(hivejob)を作成します。 ジョブの詳細に言及し、[完了]をクリックします。

ハイブジョブ

Hiveジョブへのコンポーネントの追加

コンポーネントをHiveジョブに割り当てるには、パレットからデザイナーウィンドウにtHiveConnection、tHiveCreateTable、tHiveLoad、tHiveInput、およびtLogRowの5つのタレンドコンポーネントをドラッグアンドドロップします。 次に、tHiveConnectionを右クリックして、tHiveCreateTableに対するOnSubjobOkトリガーを作成します。 ここで、tHiveCreateTableを右クリックして、tHiveLoadへのOnSubjobOkトリガーを作成します。 tHiveLoadを右クリックし、tHiveInputで反復トリガーを作成します。 最後に、tHiveInputを右クリックして、tLogRowへのメインラインを作成します。

コンポーネントの追加

コンポーネントと変換の構成

tHiveConnectionで、使用しているclouderaとそのバージョンとしてディストリビューションを選択します。 接続モードはスタンドアロンになり、HiveサービスはHive 2になります。 また、次のパラメータがそれに応じて設定されているかどうかを確認してください-

  • ホスト:「quickstart.cloudera」
  • ポート:「10000」
  • データベース:「デフォルト」
  • ユーザー名:「ハイブ」

パスワードは自動入力されるため、編集する必要はありません。 他のHadoopプロパティもデフォルトで事前設定および設定されます。

コンポーネントの構成

tHiveCreateTableで、[既存の接続を使用]を選択し、tHiveConnectionをコンポーネントリストに配置します。 デフォルトのデータベースに作成するテーブル名を指定します。 以下に示すように、他のパラメーターを保持します。

Hive Create Table

tHiveLoadで、「既存の接続を使用する」を選択し、コンポーネントリストにtHiveConnectionを配置します。 [読み込み]アクションで[読み込み]を選択します。 [ファイルパス]で、NYSE入力ファイルのHDFSパスを指定します。 入力をロードするテーブルをテーブル名に記載します。 以下に示すように、他のパラメーターを保持します。

既存の接続

tHiveInputで、[既存の接続を使用する]を選択し、tHiveConnectionをコンポーネントリストに配置します。 [スキーマの編集]をクリックし、以下のスキーマスナップショットに示すように列とそのタイプを追加します。 ここで、tHiveCreateTableで作成したテーブル名を指定します。

Hiveテーブルで実行するクエリオプションにクエリを配置します。 ここでは、テストハイブテーブルの最初の10行のすべての列を印刷しています。

Hive接続 Schema_of_tHiveInput

tLogRowで、列の同期をクリックし、出力を表示するためにテーブルモードを選択します。

テーブルモード

Hiveジョブの実行

実行をクリックして実行を開始します。 すべての接続とパラメーターが正しく設定されている場合、以下に示すようにクエリの出力が表示されます。

Hive Jobの実行