tSqoopMergeの標準プロパティ
これらのプロパティは、標準ジョブのフレームワークで実行されているtSqoopMergeを設定するために使われます。
標準のtSqoopMergeコンポーネントは、ビッグデータファミリーとファイルファミリーに属しています。
このフレームワークのコンポーネントは、すべてのビッグデータ対応のTalend製品およびTalend Data Fabricで使用できます。
基本設定
[Mode] (モード) |
Sqoopをジョブ実行で呼び出すモードを選択します。 [Use Commandline] (コマンドラインの使用): Sqoopを呼び出すためにSqoopシェルが使用されます。HDFSとHCatalogのどちらからでもデータを読み取ることができます。このモードでは、Sqoopがインストールされているホストにジョブをデプロイして実行する必要があります。したがって、サブスクリプションユーザーの場合は、Talendがそのホスト内に提供しているTalend JobServerをインストールおよび使用してジョブを実行することを推奨します。ビッグデータ対応のTalendソリューションの1つを使用している場合は、使用するTalend StudioとSqoopが同じマシン上にあることをご確認ください。 [Use Java API] (Java APIの使用): Sqoopの呼び出しにJava APIが使用されます。このモードでは、ジョブをTalend Studioでローカルに実行できますが、使用するHadoopディストリビューションへの接続を設定する必要があります。JDKにはジョブをJava APIモードで実行することが求められ、両方のマシンにインストールするJDKキットのバージョンが互いに互換性を持つ必要があります。たとえば、同じバージョンであるか、またはHadoopマシンのJDKバージョンの方がより新しいバージョンである必要があります。 |
[Hadoop properties] (Hadoopプロパティ) |
[Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。
|
[Distribution] (ディストリビューション) |
ドロップダウンリストから、使用するクラスターを選択します。リストのオプションは使用するコンポーネントによって異なります。これらのオプションの中でも、以下のオプションを使用するには特定の設定が必要です。
|
[Hadoop version] (Hadoopのバージョン) |
使用しているHadoopのディストリビューションのバージョンを選択します。使用可能なオプションは、使用しているコンポーネントによって異なります。 |
[NameNode URI] (ネームノードURI) |
Hadoopシステムのマスターノード、Hadoop NameNodeのURIを入力します。たとえば、NameNodeとしてmasternodeという名前のマシンを選択した場合、その場所はhdfs://masternode:portnumberになります。 WebHDFSを使用している場合、ロケーションはwebhdfs://masternode:portnumberとなります。WebHDFS with SSLはまだサポートされていません。 |
[JobTracker Host] (JobTrackerホスト) |
このチェックボックスを選択して、表示されるフィールドにディストリビューションのResourceManagerのロケーションを入力します。たとえば、tal-qa114.talend.lan: 8050のようにします。 使用するクエリーがWindowsで実行され、Selectクエリーである場合、このプロパティが必要になります。たとえば、SELECT your_column_name FROM your_table_nameです。 その後、使用するHadoopクラスターの構成に応じて以下のパラメーターを引き続き設定できます (パラメーターのチェックボックスをオフのままにしておくと、実行時に、使用するHadoopクラスター内のこのパラメーターに関する設定は無視されます):
Hadoop Map/Reduceフレームワークの詳細は、Apache Hadoopに関するドキュメンテーションでMap/Reduceのチュートリアルをご覧ください。 |
[Use Kerberos authentication] (Kerberos認証を使用) |
Kerberosセキュリティを実行しているHadoopクラスターにアクセスする場合は、このチェックボックスを選択し、表示されるフィールドにネームノードとしてKerberosのプリンシパル名を入力します。これにより、ユーザー名を使って、Kerberosに保存された認証情報に対して認証を実行できます。 また、このコンポーネントはMap/Reduceの計算を実行するため、対応するフィールドのディストリビューションに応じてジョブ履歴サーバーやリソースマネージャーまたはJobTrackerなど関連するサービスを認証する必要があります。これらのプリンシパルはディストリビューションの設定ファイルの中にあります。たとえばCDH4ディストリビューションでは、リソースマネージャーのプリンシパルはyarn-site.xmlファイルで設定され、ジョブ履歴のプリンシパルはmapred-site.xmlファイルで設定されています。 接続しているHadoopのディストリビューションによってはこのチェックボックスが表示されないこともあります。 |
[Use a keytab to authenticate] (Keytabを認証に使用) |
[Use a keytab to authenticate] (Keytabを認証に使用)チェックボックスをオンにして、所定のkeytabファイルを使ってKerberos対応のシステムにログインします。keytabファイルには、Kerberosのプリンシパルと暗号化されたキーのペアが含まれています。使用するプリンシパルを[Principal] (プリンシパル)フィールドに入力し、keytabファイルへのアクセスパスを[Keytab] フィールドに入力します。このキータブファイルは、ジョブが実際に実行されているマシン(Talend JobServerなど)に保存する必要があります。 keytabが有効なジョブは、プリンシパルに任命されたユーザーでなくても実行できますが、使用するkeytabファイルの読み取り権限が必要です。たとえばuser1というユーザー名でジョブを実行し、使用するプリンシパルがguestの場合、user1に使用するキータブファイルの読み取り権限があることをご確認ください。 |
[Hadoop user name] (Hadoopユーザー名) |
ジョブを実行するユーザー名を入力します。Hadoop内のファイルまたはディレクトリーには読み取りまたは書き込みの適切な権限を持つ特定のオーナーがあるため、このフィールドを使用して、処理するファイルまたはディレクトリーにアクセスする適切な権限を持つユーザー名の下でジョブを直接実行できます。このフィールドは、使用しているディストリビューションに応じて利用できます。 |
[Old data directory] (古いデータディレクトリー) |
マージする古いデータセットのパスを入力します。 |
[New data directory] (新しいデータディレクトリー) |
マージする新しいデータセットのパスを入力します。 |
[Target directory] (ターゲットディレクトリー) |
マージング出力を配置するディレクトリーを入力します。 |
[Merge key] (マージキー) |
マージする各レコードのキーとして使用するカラムの名前を入力します。 このプライマリキーは一意にする必要があります。 |
[Need to generate the JAR file] (JARファイルの生成が必要) |
このチェックボックスをオンにすると、マージするデータセットを解析するために必要なマージjarファイルとマージクラスが生成されます。jarファイルのデフォルト名とクラスはSqoopMerge_component_IDになります。ここでcompnent_IDは、jarファイルとクラスtSqoopMerge_1、tSqoopMerge_2などを生成するtSqoopMergeコンポーネントのIDです。 このjarファイルはインポートデータのソーステーブルから生成されるため、このチェックボックスをオンにすると、対応するパラメーターが表示され、テーブルの接続を設定できます。 |
[JDBC property] (JDBCプロパティ) |
[Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。
|
[Connection] (接続) |
ソースデータが保存されているデータベースに接続するために使用されているJDBC URLを入力します。 |
[User name] (ユーザー名)および[Password] (パスワード) |
ソースデータベースへの接続に使用する認証情報を入力します。 パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。 |
[Table Name] (テーブル名) |
ソーステーブルの名前を入力します。 この名前は、生成されるjarファイルの名前に使用されます。 |
[Driver JAR] (ドライバーJAR) |
[Use Commandline] (コマンドラインの使用)モードまたは[Java API]モードのどちらかで、使用するデータベースのドライバーファイルを、使用しているHadoopディストリビューションのlibフォルダーに追加する必要があります。その目的で、この[Driver JAR] (ドライバーJAR)テーブルを使用して、デザインしている現在のジョブ用にそのドライバーファイルを追加します。 このドライバーjarは、マージjarファイルの生成に使用するデータベースに接続する場合にのみ必要となります。そのため、この[Driver JAR] (ドライバーJAR)テーブルは、[Need to generate the JAR file] (JARファイルの生成が必要)チェックボックスをオンにした場合にのみ使用できます。 |
[JAR file] (JARファイル) |
必要なマージクラスが既に存在し、使用できる場合、そのクラスを含むjarファイルへのアクセスパスを指定してクラスを再利用します。 このような場合は、[Advanced settings] (詳細設定)タブの[Class name] (クラス名)フィールドにクラスの名前を入力する必要があります。 |
[Print log] (ログを印刷) |
[Verbose]チェックボックスを有効にする場合は、このチェックボックスを選択します。 |
[Verbose] (詳細) |
作業中に、デバッグ情報など、その他の情報を印刷する場合は、このチェックボックスを選択します。 |
詳細設定
[Custom class name] (カスタムクラス名) |
このチェックボックスをオンにすると、[Class name] (クラス名)フィールドが表示され、使用するマージクラスの名前を入力できます。 [Basic settings] (基本設定)タブで[Generate the JAR file] (JARファイルを生成)する場合は、このチェックボックスをオフにする必要があります。 |
[Additional arguments] (追加の引数) |
必要に応じて、このテーブルに入力して追加の引数を使用します。 引数を追加することで、1回のトランザクションで複数のオペレーションを実行できます。たとえば、--hive-importと--hive-tableをTalend CommandLineモードで、またはhive.importとhive.table.nameをJava APIモードで使用して、Hiveテーブルを作成し、HDFSにデータを書き込むトランザクションのランタイムでデータを書き込むことができます。Talend CommandLineモードとJava APIモードでそれぞれ利用できるSqoop引数の詳細は、 追加の引数をご覧ください。 |
[Hadoop properties] (Hadoopプロパティ) |
Talend Studio では、Hadoopディストリビューションの処理を実行するエンジンに、デフォルト設定を使用しています。特定の場合にカスタム設定を使用する必要がある場合は、カスタマイズするプロパティをこのテーブルで設定します。設定後、カスタマイズしたプロパティによってこれらのデフォルトのプロパティが実行時に上書きされます。
Hadoopやその関連システム(HDFS、Hiveなど)で必要なプロパティの詳細は、使用しているHadoopディストリビューションのドキュメンテーションか、ApacheのHadoopドキュメンテーションをご覧になって、必要なバージョンのドキュメンテーションを選択してください。以下のリンクでは、一部のプロパティについて実例を紹介しています。
|
[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)フィールドにそれぞれ入力してください。デフォルトでは、いずれのフィールドも通常は計算の実行に適切な1024に設定されています。 設定するメモリパラメーターは[Map (in Mb)]、[Reduce (in Mb)]、[ApplicationMaster (in Mb)]です。これらのフィールドは、MapとReduceの計算、およびYARNのApplicationMasterに動的にメモリを割り当てることができます。 |
[Path separator in server] (サーバーのパス区切り) |
サーバーのパス区切りのデフォルト値はそのままにしておきます。区切りをコロン(:)以外のHadoopディストリビューションのホストマシンで使用されているPATH変数またはその他の単語に変更している場合は除きます。その場合、値はホストで使用しているものに変更する必要があります。 |
[tStatCatcher Statistics] (tStatCatcher統計) |
このチェックボックスを選択すると、コンポーネントレベルでログデータを収集できます。 |
グローバル変数
グローバル変数 |
ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。 EXIT_CODE: リモートコマンドの終了コード。これはAfter変数で、整数を返します。 Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。 フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。 変数の詳細は、コンテキストと変数を使用をご覧ください。 |
使用方法
使用ルール |
このコンポーネントは、スタンドアロンとして使用されます。Sqoopの前提条件に準拠しています。使用するには、Sqoopに関する知識が必要です。 Talendでは、コンポーネントのファンクションをフルに活用するために、バージョン1.4+のSqoopを使用することをお勧めします。 Sqoopについては、http://sqoop.apache.org/docs/でSqoopのマニュアルをご覧ください。 |
前提条件 |
Talend Studio との操作を確実に行うには、Hadoopディストリビューションを適切にインストールする必要があります。以下のリストに、MapR関連の情報などを示します。
Hadoopディストリビューションのインストール方法の詳細は、使用しているHadoopディストリビューションに対応するマニュアルをご覧ください。 |
[Limitation] (制限事項) |
[Use Commandline] (コマンドラインの使用)モードを選択した場合、このコンポーネントを使用してジョブを実行するには、Sqoopがインストールされているホストを使用する必要があります。 |
[Connections] (接続) |
外部リンク(このコンポーネントから別のコンポーネントへのリンク): [Trigger] (トリガー): Run if; On Subjob Ok; On Subjob Error; On Component Ok; On Component Error
受信リンク (あるコンポーネントからこのコンポーネントへのリンク): [Row] (行): Iterate; [Trigger] (トリガー): Run if; On Subjob Ok; On Subjob Error; On Component Ok; On Component Error
接続の詳細は、ジョブにおける接続の使い方をご覧ください。 |