tHiveLoadの標準プロパティ
これらのプロパティは、標準ジョブのフレームワークで実行されているtHiveLoadを設定するために使われます。
標準のtHiveLoadコンポーネントは、ビッグデータファミリーとデータベースファミリーに属しています。
このフレームワークのコンポーネントは、すべてのビッグデータ対応のTalend製品およびTalend Data Fabricで使用できます。
基本設定
-
このコンポーネントをGoogle Dataprocと併用する場合:
[Project ID] (プロジェクトID)
Google Cloud PlatformプロジェクトのIDを入力します。
プロジェクトIDがわからない場合は、Google Cloud Platformサービスの[Manage Resources]ページでご確認ください。
[Cluster ID] (クラスターID)
使用するDataprocクラスターのIDを入力します。
[Region] (リージョン) 使用するGoogle Cloudリージョンをこのドロップダウンリストから、選択します。
[Google Storage staging bucket] (Googleストレージステージングバケット) Talendジョブでは、依存jarファイルが実行されることを想定しているため、ジョブが実行時にこれらのjarファイルにアクセスできるよう、これらのファイルの転送先にするGoogle Storageディレクトリーを指定します。
入力するディレクトリーの末尾はスラッシュ(/)にする必要があります。ディレクトリーがない場合は即座に作成されますが、使用するバケットはあらかじめ作成しておく必要があります。
[Database] (データベース)
このフィールドにデータベースの名前を入力します。
[Provide Google Credentials in file] (Googleクレデンシャルをファイルで指定)
Google Cloud SDKがインストールされており、Google Cloud Platformへのアクセスでユーザーアカウント認証情報の使用が許可されている特定のマシンからジョブを起動する場合は、このチェックボックスをオフにします。この状況では多くの場合、このマシンはお使いのローカルマシンです。
リモートマシン(Talend JobServerなど)からジョブを起動する場合は、このチェックボックスを選択し、[Path to Google Credentials file] (Googleクレデンシャルファイルへのパス)フィールドが表示されたら、このJSONファイルを保存するTalend JobServerrマシン内のディレクトリーを入力します。また、[....]ボタンをクリックし、ポップアップダイアログボックスでJSONファイルを参照することもできます。
Googleクレデンシャルファイルの詳細は、Google Cloud Platformの管理者に問い合わせるか、Google Cloud Platform Auth Guideをご覧ください。
-
Microsoft HD Insightディストリビューションでこのコンポーネントを使用する場合:
Livyの設定
使用するMicrosoft HD Insightクラスターのアドレスと認証情報を入力します。たとえば、アドレスはhttps://your_hdinsight_cluster_name.azurehdinsight.netとなり、Azureアカウントの認証情報は次のようになります: yourname。Talend Studioは、このサービスを使用してジョブを HD Insightクラスターに送信します。
[Job result folder] (ジョブ結果保存フォルダー)フィールドに、使用するAzure Storageでのジョブの実行結果を保存するロケーションを入力します。
ジョブステータスポーリングの設定
[Poll interval when retrieving Job status (in ms)] (ジョブステータスを取得する時のポーリング間隔(ミリ秒))フィールドで、Talend StudioがジョブのステータスをSparkに要求する時間間隔(ミリ秒)を入力します。たとえば、このステータスは[Pending] (保留中)または[Running] (実行中)になります。
[Maximum number of consecutive statuses missing] (見つからないステータスの最大連続回数)フィールドには、ステータスのレスポンスがない場合にTalend Studioがステータス取得のために再試行する最大回数を入力します。
[HDInsight configuration] (HDInsightの設定)
- [Username] (ユーザー名)は、クラスターの作成時に定義されたものです。これは、クラスターの[SSH + Cluster] (SSH + クラスター)ログインブレードで確認できます。
- [Password] (パスワード)は、このクラスターの認証でHDInsightクラスターを作成する時に定義します。
[Windows Azure Storage configuration] (Windows Azure Storageの設定)
使用するAzure StorageアカウントかADLS Gen2アカウントのアドレスと認証情報を入力します。この設定では、ビジネスデータを読み書きする場所は定義せず、ジョブをデプロイする場所のみ定義します。
[Container] (コンテナー)フィールドに、使用するコンテナーの名前を入力します。利用可能なコンテナーは、使用するAzure StorageアカウントのBlobブレードで確認できます。
[Deployment Blob] (デプロイメントBlob)フィールドに、このAzure Storageアカウントで現在のジョブとその依存ライブラリーを保存する場所を入力します。
[Hostname] (ホスト名)フィールドに、https://部分を含まないAzure StorageアカウントのプライマリーBlobサービスエンドポイントを入力します。このエンドポイントは、このストレージアカウントの[Properties] (プロパティ)ブレードにあります。
[Username] (ユーザー名)フィールドに、使用するAzure Storageアカウントの名前を入力します。
[Password] (パスワード)フィールドに、使用するAzure Storageアカウントのアクセスキーを入力します。このキーは、このストレージアカウントの[Access keys] (アクセスキー)ブレードにあります。
[Database] (データベース)
このフィールドにデータベースの名前を入力します。
-
その他のディストリビューションを使用する場合:
[Connection mode] (接続モード)
リストから接続モードを選択します。オプションは、使用しているディストリビューションによって異なります。
[Hive version] (Hiveのバージョン)
使用しているHiveのバージョンを選択します。
ホスト
データベースサーバーのIPアドレス。
[Port] (ポート)
データベースサーバーのリスニングポート番号。
[Database] (データベース)
このフィールドにデータベースの名前を入力します。
Username (ユーザー名)とPassword (パスワード)
データベースユーザー認証データ。
パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。
[Use Kerberos authentication] (Kerberos認証を使用)
Kerberosセキュリティを実行しているHiveメタストアにアクセスする場合は、このチェックボックスを選択し、表示されたフィールドに関連するパラメーターを入力します。
次のパラメーターの値は、使用するHiveシステムのhive-site.xmlファイル内にあります。-
[Hive principal] (Hiveプリンシパル)はhive.metastore.kerberos.principalの値を使用します。これは、Hiveメタストアのサービスプリンシパルです。
-
[HiveServer2 local user principal] (HiveServer2ローカルユーザープリンシパル)は、hive.server2.authentication.kerberos.principalの値を使用します。
-
[HiveServer2 local user key tab] (HiveServer2ローカルユーザーキータブ)は、hive.server2.authentication.kerberos.keytabの値を使用します。
-
[Metastore URL] (メタストアURL)は、javax.jdo.option.ConnectionURLの値を使用します。これは、HiveメタストアへのJDBC接続文字列です。
-
[Driver class] (ドライバークラス)は、javax.jdo.option.ConnectionDriverNameの値を使用します。これは、JDBC接続のドライバーの名前です。
-
[Username] (ユーザー名)は、javax.jdo.option.ConnectionUserNameの値を使用します。ユーザー名とパスワードのパラメーターは、Hiveメタストアへの接続用のユーザー認証情報になります。
-
[Password] (パスワード)は、javax.jdo.option.ConnectionPasswordの値を使用します。
接続しているHadoopのディストリビューションによってはこのチェックボックスが表示されないこともあります。
[Use a key tab to authenticate] (キータブを認証に使用) [Use a keytab to authenticate] (Keytabを認証に使用)チェックボックスをオンにして、所定のkeytabファイルを使ってKerberos対応のシステムにログインします。keytabファイルには、Kerberosのプリンシパルと暗号化されたキーのペアが含まれています。使用するプリンシパルを[Principal] (プリンシパル)フィールドに入力し、keytabファイルへのアクセスパスを[Keytab] フィールドに入力します。このキータブファイルは、ジョブが実際に実行されているマシン(Talend JobServerなど)に保存する必要があります。
keytabが有効なジョブは、プリンシパルに任命されたユーザーでなくても実行できますが、使用するkeytabファイルの読み取り権限が必要です。たとえばuser1というユーザー名でジョブを実行し、使用するプリンシパルがguestの場合、user1に使用するキータブファイルの読み取り権限があることをご確認ください。
[Use SSL connection] (SSL暗号化を使用)
SSLまたはTLS暗号化接続を有効にする場合は、このチェックボックスを選択します。
次に、表示されたフィールドに認証情報を入力します。-
[Trust store path] (トラストストアのパス)フィールドにパスを入力するか、使用するTrustStoreファイルに移動します。デフォルトでは、サポートされるTrustStore型は、JKSおよびPKCS 12です。
-
パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。
この機能は、以下のディストリビューションの[Standalone] (スタンドアロン)モードのHiveServer2でのみ利用できます。-
Hortonworksデータプラットフォーム2.0 +
-
Cloudera CDH4 +
-
Pivotal HD 2.0 +
-
Amazon EMR 4.0.0 +
[Set Resource Manager] (リソースマネージャーの設定)
このチェックボックスを選択して、表示されるフィールドにディストリビューションのResourceManagerのロケーションを入力します。たとえば、tal-qa114.talend.lan: 8050のようにします。
その後、使用するHadoopクラスターの構成に応じて以下のパラメーターを引き続き設定できます (パラメーターのチェックボックスをオフのままにしておくと、実行時に、使用するHadoopクラスター内のこのパラメーターに関する設定は無視されます):-
[Set resourcemanager scheduler address] (リソースマネージャースケジューラーアドレスの設定)チェックボックスをオンにして、表示されたフィールドにスケジューラーアドレスを入力します。
-
[Set jobhistory address] (ジョブ履歴アドレスの設定)チェックボックスをオンにして、使用するHadoopクラスターのJobHistoryサーバーの場所を入力します。これにより、現在のジョブのメトリックス情報がそのJobHistoryサーバーに保存されます。
-
[Set staging directory] (ステージングディレクトリーの設定)チェックボックスをオンにして、実行プログラムで作成される一時ファイル用のHadoopクラスターで定義されたこのディレクトリーを入力します。一般的には、このディレクトリーはディストリビューションのyarn-site.xmlやmapred-site.xmlなどの設定ファイル内にあるyarn.app.mapreduce.am.staging-dirプロパティの下にあります。
-
[Advanced settings] (詳細設定)ビューの[Set memory] (メモリの設定)チェックボックスをオンにして、適切なメモリ容量をYARNのMapとReduceの計算およびApplicationMasterに割り当てます。
-
[Set Hadoop user] (Hadoopユーザーの設定)チェックボックスをオンにして、ジョブを実行するユーザー名を入力します。Hadoop内のファイルまたはディレクトリーには読み取りまたは書き込みの適切な権限を持つ特定のオーナーがあるため、このフィールドを使用して、処理するファイルまたはディレクトリーにアクセスする適切な権限を持つユーザー名の下でジョブを直接実行できます。
-
[Use datanode hostname] (データノードホスト名を使用)チェックボックスをオンにして、これらのホスト名によるデータノードへのアクセスをジョブに許可します。これは、実際にはdfs.client.use.datanode.hostnameプロパティをtrueに設定しています。S3Nファイルシステムに接続する場合、このチェックボックスを選択する必要があります。
Hadoop Map/Reduceフレームワークの詳細は、Apache Hadoopに関するドキュメンテーションでMap/Reduceのチュートリアルをご覧ください。
[Set NameNode URI] (ネームノードURIの設定)
このチェックボックスを選択して、表示されるフィールドに、HadoopシステムのマスターノードであるHadoop NameNodeのURIを入力します。たとえば、NameNodeとしてmasternodeという名前のマシンを選択した場合、その場所はhdfs://masternode:portnumberになります。 WebHDFSを使用している場合、ロケーションはwebhdfs://masternode:portnumberとなります。WebHDFS with SSLはまだサポートされていません。
Hadoop Map/Reduceフレームワークの詳細は、Apache Hadoopに関するドキュメンテーションでMap/Reduceのチュートリアルをご覧ください。
Sparkカタログ
使用するSpark実装値を選択します。- In-memory: 外部メタストアではないHiveメタストアにHive Thriftメタストアを設定する場合は、この値を選択します。
- Hive: 使用するクラスターの外に存在する外部HiveメタストアにHive Thriftメタストアを設定する場合は、この値を選択します。
-
その他のプロパティ:
[Property type] (プロパティタイプ) |
[Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。 [Built-In] (組み込み): 一元的に保存されるプロパティデータはありません。 [Repository] (リポジトリー): プロパティが保存されているリポジトリーファイルを選択します。 |
[Use an existing connection] (既存の接続を使用) |
定義済みの接続の詳細を再利用する場合は、このチェックボックスを選択して、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。 情報メモ注: ジョブに親ジョブと子ジョブが含まれている時は、親ジョブと子ジョブの間の既存の接続を共有したい場合(たとえば、親ジョブで作成した接続を子ジョブと共有するなど)には、次のように実行します。
ジョブレベル全体でデータベース接続を共有する方法の例は、データベース接続を共有をご覧ください。 |
ディストリビューション |
ドロップダウンリストから、使用するクラスターを選択します。リストのオプションは使用するコンポーネントによって異なります。これらのオプションの中でも、以下のオプションを使用するには特定の設定が必要です。
情報メモ注: Talend Studio 8.0 R2024-04以降、[Distribution] (ディストリビューション)パラメーターは削除されています。
|
[Hive version] (Hiveのバージョン) |
使用しているHadoopのディストリビューションのバージョンを選択します。使用可能なオプションは、使用しているコンポーネントによって異なります。 情報メモ注: Talend Studio 8.0 R2024-04以降、[Hive version] (Hiveバージョン)パラメーターは削除されています。
|
Hiver Server | 使用しているHiveのバージョンを選択します。 |
[Hadoop version] (Hadoopのバージョン) | 使用しているHadoopのバージョンを選択します。 |
[Load action] (ロードアクション) |
指定した宛先にデータを書き込むために保持する必要があるアクションを選択します。
|
[Execution engine] (実行エンジン) |
このチェックボックスを選択して、ドロップダウンリストから、[INSERT] (挿入)アクションの実行に使用する必要のあるフレームワークを選択します。 このプロパティは次の接続モードで利用可能です:
Tezを使用する前に、使用しているHadoopクラスターがTezをサポートしていることを確認します。このコンポーネントの[Advanced settings] (詳細設定)ビューから関連するTezライブラリーへのアクセスを設定する必要があります。 TezでのHiveに関する詳細は、Apacheの関連ドキュメンテーションをご覧ください。そこには、Tezを使用してMapReduceを上回るパフォーマンスを得る方法を示すサンプルがいくつか示されています。 |
[Target type] (ターゲットタイプ) |
このドロップダウンリストは、[Load action] (ロードアクション)リストから[INSERT] (挿入)を選択した場合にのみ表示されます。 このリストから、データを書き込む必要がある場所のタイプを選択します。
|
テーブル名 |
データを書き込む必要があるHiveテーブルの名前を入力します。 [INSERT] (挿入)アクションでは、このフィールドは[Target type] (ターゲットタイプ)リストで[Table](テーブル) が選択されている場合のみ利用できます。 |
ファイルパス |
[Load action] (ロードアクション)リストから選択したアクションに応じて、データの読み取りまたは書き込みに必要なディレクトリーを入力します。
|
[The target table uses the Parquet format] (ターゲットテーブルはParquet形式を使います) |
データの書き込みが必要なテーブルがPARQUETテーブルの場合は、このチェックボックスを選択します。 使用するファイル形式が[PARQUET]である場合は、特定のPARQUET JARファイルを検索してTalend Studioにインストールするように指示するプロンプトが表示されることがあります。
[Compression] (圧縮)リストが表示されたら、PARQUETファイルの処理に必要な圧縮モードを選択します。デフォルトモードは[Uncompressed] (圧縮なし)です。 |
[Action on file] (ファイルに対するアクション) |
データ書き込みのために実行するアクションを選択します。 このリストは、ターゲットがHiveテーブルの場合にのみ使用できます。ターゲットがディレクトリーの場合、使用されるアクションは自動的に[OVERWRITE] (上書き)になります。 |
クエリー |
このフィールドは、 [Load action] (ロードアクション)リストから[INSERT] (挿入)を選択した場合にのみ表示されます。 指定されたHiveテーブルまたはディレクトリーにエクスポートするデータを選択するための適切なクエリーを入力します。 |
Local |
ローカルディレクトリーにアクセスするためにHiveLOCALステートメントを使用するには、このチェックボックスをオンにします。このローカルディレクトリーは実際には、ジョブが実行されるマシン内にあります。したがって、Hiveへの接続モードが[Standalone] (スタンドアロン)の場合、ジョブはHiveアプリケーションがインストールされたマシンで実行されるので、このローカルディレクトリーはそのマシン内にあります。 このステートメントは、[File path] (ファイルパス)フィールドで定義したディレクトリーとともに使用されます。したがって、この[Local] (ローカル)チェックボックスは、[File path] (ファイルパス)フィールドが使用可能な場合のみ利用できます。
このLOCALステートメントの詳細は、Hiveの言語に関するApacheのドキュメンテーションをご覧ください。 |
パーティションの設定 |
Hiveテーブルにデータをロードまたは挿入する際にHive Partition句を使うには、このチェックボックスをオンにします。表示されるフィールドで使うパーティションキーとその値を入力する必要があります。 たとえば、contry='US', state='CA'と入力します。これにより、パーティション句の読みPartition (contry='US', state='CA')が作成されます。つまり、US and CAパーティションです。 また、重複するパーティションを作成しないようにするために、表示される[Create partition if not exist] (存在しない場合はパーティションを作成する)チェックボックスをオンにすることをお勧めします。 |
[Die on error] (エラー発生時に強制終了) |
エラー発生時にジョブを強制終了するには、このチェックボックスをオンにします。 |
詳細設定
[Tez lib] (Tezライブラリー) |
Tezライブラリーへのアクセス方法を選択します。
|
[Temporary path] (一時パス) |
クエリーselect * from your_table_nameを実行する時にJobtrackerとNameNodeを設定しない場合は、この一時パスを設定する必要があります。たとえば、Windowsでは/C:/select_allになります。 |
[Hadoop properties] (Hadoopプロパティ) |
Talend Studio では、Hadoopディストリビューションの処理を実行するエンジンに、デフォルト設定を使用しています。特定の場合にカスタム設定を使用する必要がある場合は、カスタマイズするプロパティをこのテーブルで設定します。設定後、カスタマイズしたプロパティによってこれらのデフォルトのプロパティが実行時に上書きされます。
Hadoopやその関連システム(HDFS、Hiveなど)で必要なプロパティの詳細は、使用しているHadoopディストリビューションのドキュメンテーションか、ApacheのHadoopドキュメンテーションをご覧になって、必要なバージョンのドキュメンテーションを選択してください。以下のリンクでは、一部のプロパティについて実例を紹介しています。
|
[Hive properties] (Hiveプロパティ) |
Talend Studioでは、Hiveデータベースの処理を実行するエンジンに、デフォルト設定を使用しています。特定の場合にカスタム設定を使用する必要がある場合は、カスタマイズするプロパティをこのテーブルで設定します。設定後、カスタマイズしたプロパティによってこれらのデフォルトのプロパティが実行時に上書きされます。詳細は、Hive専用のプロパティをご覧ください。
|
[Mapred job map memory mb] (MapredジョブMapメモリmb)および[Mapred job reduce memory mb] (MapredジョブReduceメモリmb) |
[Set memory] (メモリのセット)チェックボックスをオンにしてHadoopシステムでの計算実行で適切なメモリ割り当てをセットし、マッピングを調整して計算を減らすことができます。 このような場合は、必要な値を[Mapred job map memory mb] (MapredジョブのMapメモリMB)フィールドと[Mapred job reduce memory mb] (MapredジョブのReduceメモリMB)フィールドにそれぞれ入力してください。デフォルトでは、いずれのフィールドも通常は計算の実行に適切な1000に設定されています。 設定するメモリパラメーターは[Map (in Mb)]、[Reduce (in Mb)]、[ApplicationMaster (in Mb)]です。これらのフィールドは、MapとReduceの計算、およびYARNのApplicationMasterに動的にメモリを割り当てることができます。 |
[Path separator in server] (サーバーのパス区切り) |
サーバーのパス区切りのデフォルト値はそのままにしておきます。区切りをコロン(:)以外のHadoopディストリビューションのホストマシンで使用されているPATH変数またはその他の単語に変更している場合は除きます。その場合、値はホストで使用しているものに変更する必要があります。 |
[tStatCatcher Statistics] (tStatCatcher統計) |
このチェックボックスを選択すると、コンポーネントレベルでログデータを収集できます。 |
グローバル変数
グローバル変数 |
QUERY: 処理されているクエリーステートメント。これはFlow変数で、文字列を返します。 ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。 Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。 フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。 変数の詳細は、コンテキストと変数を使用をご覧ください。 |
使用方法
使用ルール |
このコンポーネントは、スタンドアロンで動作し、RC、ORC、AVROなどの幅広いデータ形式の書き込みをサポートします。 Hiveデータベースへの接続に使用しているTalend StudioがWindowsマシンにインストールされている場合は、Talend Studioがインストールされているディスクのルートにtmpというフォルダーを手動で作成する必要があります。 |
[Dynamic settings] (ダイナミック設定) |
[+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データストラクチャーが同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Talend Studioを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。 [Dynamic settings] (ダイナミック設定)テーブルは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている場合のみ利用できます。ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューの[Component List] (コンポーネントリスト)ボックスは利用できなくなります。 ダイナミックパラメーターの定義法を示すユースケースについては、コンテキストベースのダイナミック接続によってデータベースからデータを読み取りと、ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取りをご覧ください。ダイナミック設定とコンテキスト変数の詳細は、ダイナミックスキーマとコンテキストグループを作成し、その中でコンテキスト変数を定義をご覧ください。 |
前提条件 |
Talend Studio との操作を確実に行うには、Hadoopディストリビューションを適切にインストールする必要があります。以下のリストに、MapR関連の情報などを示します。
Hadoopディストリビューションのインストール方法の詳細は、使用しているHadoopディストリビューションに対応するマニュアルをご覧ください。 |