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

Hive

Version
7.3
Language
日本語
Product
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 Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > DBコンポーネント > Hive
データガバナンス > サードパーティーシステム > DBコンポーネント > Hive
データクオリティとプレパレーション > サードパーティーシステム > DBコンポーネント > Hive
Last publication date
2024-02-22

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

Spark BatchtHiveOutputコンポーネントは、データベースファミリーに属しています。

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

重要: Talendは、複雑なデータ型(配列、ストラクチャー、マップなど)のスキーマのインポートをサポートしていません。

基本設定

[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 Batchジョブを作成している場合にだけ表示されます。

特に明記していない限り、このドキュメントのシナリオでは、標準ジョブ、つまり従来の 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 Apache Spark BatchtS3Configuration Apache Spark Batchなど)に対応する設定コンポーネントを使用します。

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

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