Apache Spark BatchのtHiveOutputプロパティ - 7.3

Hive

EnrichVersion
Cloud
7.3
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
EnrichPlatform
Talend Studio
task
ジョブデザインと開発 > サードパーティーシステム > DBコンポーネント > Hive
データガバナンス > サードパーティーシステム > DBコンポーネント > Hive
データクオリティとプレパレーション > サードパーティーシステム > DBコンポーネント > Hive

このプロパティはSpark Batchジョブフレームワークで実行されているtHiveOutputを設定するために使います。

Spark Batch tHiveOutputコンポーネントはデータベースファミリーのコンポーネントです。

このフレームワーク内のコンポーネントは、ビッグデータ対応のサブスクリプションTalend 製品すべて、およびTalend Data Fabricで使用できます。

基本設定

[Hive storage configuration] (Hiveストレージ設定)

Hiveに接続するための設定の詳細をSparkに使用させるtHiveConfigurationコンポーネントを選択します。

[HDFS Storage configuration] (HDFSストレージ設定)

特定のHDFSシステムに接続し、依存するjarファイルをこのHDFSシステムに転送するために、設定の詳細を取ってSparkで使用するtHDFSConfigurationコンポーネントを選択します。このフィールドは、オンプレミスのディストリビューションを使用している場合にのみ該当します。

Schema (スキーマ)およびEdit schema (スキーマの編集)

スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。

スキーマを変更するには[Edit schema] (スキーマの編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを使用できます。

  • View schema (スキーマの表示): スキーマのみを表示する場合は、このオプションを選択します。

  • Change to built-in property (組み込みのプロパティに変更): ローカルで変更を行うためにスキーマを組み込みに変更する場合は、このオプションを選択します。

  • Update repository connection (リポジトリー接続を更新): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーのコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

 

Built-in (組み込み): そのコンポーネントのみのスキーマを作成して、ローカルに保存します。

 

Repository (リポジトリー): スキーマは作成済みで、リポジトリーに保管されており、さまざまなプロジェクトやジョブデザインで再利用できます。

[Output source] (出力ソース)

tHiveOutputに変更させる出力データのタイプを選択します。

  • [Hive table] (Hiveテーブル): [Database] (データベース)フィールド、[Table name] (テーブル名)フィールド、[Table format] (テーブル形式)リスト、および[Enable Hive partitions] (Hiveパーティションの有効化)チェックボックスが表示されます。接続先のHiveデータベースと変更する必要のあるHiveテーブルの関連情報を入力する必要があります。

    デフォルトでは、出力データの形式はJSONですが、[Table format] (テーブル形式)リストから対応するオプションを選択して、ORCまたはParquetに変更できます。

  • [ORC file] (ORCファイル): [Output folder] (出力フォルダー)フィールドが表示され、Hiveストレージ設定リストが無効になります。ORCファイルはHiveをホストしているHDFSシステムに保存する必要があるためです。出力データが書き込まれるディレクトリーを入力する必要があります。

[Save mode] (保存モード)

ターゲットHiveテーブルに関して行う変更のタイプを選択します。
  • 作成されたばかりのまだ空のテーブルに入力する時は、[Append] (追加)モードを使用するだけでなく、[Retrieve table schema from Hive metastore] (Hiveメタストアからテーブルスキーマを取得)チェックボックスをオンにする必要があります。

[Enable Hive partitions] (Hiveパーティションの有効化)

[Enable Hive partitions] (Hiveパーティションの有効化)チェックボックスを選択して、[Partition keys] (パーティションキー)テーブルで、作成または変更するHiveテーブルのパーティションを定義します。[Partition keys] (パーティションキー)テーブルで、パーティションキーとして使用するtHiveOutputの入力スキーマからカラムを選択します。

以下のことを考慮しておきます。
  • 使用する[Save mode] (保存モード)[Append] (追加)である(つまり既存のHiveテーブルにデータを追加しようとしている)場合、[Partition keys] (パーティションキー)テーブルで選択するパーティションカラムは既に、更新するHiveテーブルのパーティションキーになっている必要があります。

  • Spark固有の制限により、tHiveOutputによって作成されたパーティション分割済みのHiveテーブルを読み取ることができるのは、tHiveInputのみです。パーティション分割されたテーブルをHive自体を使用して読み取る必要がある場合は、標準ジョブでtHiveRowまたはtHiveCreateTableを使用してこのテーブルを作成してから、tHiveOutputを使用してそこにデータを追加することを推奨します。

  • カラムをパーティションキーとして定義しても、データは変更されず、パーティションキーを使用してサブフォルダーが作成され、そこにデータが入るだけです。

詳細設定

[Sort columns alphabetically] (カラムをアルファベット順にソート) スキーマのカラムをアルファベット順にソートするには、このチェックボックスをオンにします。このチェックボックスをオフのままにすると、これらのカラムはスキーマエディターで定義された順序に従います。

使用方法

使用ルール

このコンポーネントは終了コンポーネントとして使用され、入力リンクを必要とします。

このコンポーネントは、Hiveに接続するために同じジョブ内にあるtHiveConfigurationコンポーネントを使用する必要があります。

このコンポーネントは、所属するSpark Batchコンポーネントのパレットと共に、Sparkバッチジョブを作成している場合にだけ表示されます。

特に明記していない限り、このドキュメントのシナリオでは、[Standard] (標準)ジョブ、つまり従来の Talend データ統合ジョブだけを扱います。

[Spark Connection] (Spark接続)

[Run] (実行)ビューの[Spark Configuration] (Spark設定)タブで、ジョブ全体でのSparkクラスターへの接続を定義します。また、ジョブでは、依存jarファイルを実行することを想定しているため、Sparkがこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリを指定する必要があります。
  • Yarnモード(YarnクライアントまたはYarnクラスター):
    • Google Dataprocを使用している場合、[Spark configuration] (Spark設定)タブの[Google Storage staging bucket] (Google Storageステージングバケット)フィールドにバケットを指定します。

    • HDInsightを使用している場合、[Spark configuration] (Spark設定)タブの[Windows Azure Storage configuration] (Windows Azure Storage設定)エリアでジョブのデプロイメントに使用するブロブを指定します。

    • Altusを使用する場合は、[Spark configuration] (Spark設定)タブでジョブのデプロイにS3バケットまたはAzure Data Lake Storageを指定します。
    • Quboleを使用する場合は、ジョブにtS3Configurationを追加し、QuboleでS3システム内に実際のビジネスデータを書き込みます。tS3Configurationを使用しないと、このビジネスデータはQubole HDFSシステムに書き込まれ、クラスターをシャットダウンすると破棄されます。
    • オンプレミスのディストリビューションを使用する場合は、クラスターで使用されているファイルシステムに対応する設定コンポーネントを使用します。一般的に、このシステムはHDFSになるため、tHDFSConfigurationを使用します。

  • [Standalone mode] (スタンドアロンモード): tHDFSConfigurationまたはtS3Configurationなど、クラスターで使用されているファイルシステムに対応する設定コンポーネントを使用します。

    ジョブ内に設定コンポーネントがない状態でDatabricksを使用している場合、ビジネスデータはDBFS (Databricks Filesystem)に直接書き込まれます。

この接続は、ジョブごとに有効になります。