tSqoopExportの標準プロパティ
これらのプロパティは、標準ジョブのフレームワークで実行されているtSqoopExportを設定するために使われます。
標準のtSqoopExportコンポーネントは、ビッグデータファミリーとファイルファミリーに属しています。
このフレームワークのコンポーネントは、すべてのビッグデータ対応の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内のファイルまたはディレクトリーには読み取りまたは書き込みの適切な権限を持つ特定のオーナーがあるため、このフィールドを使用して、処理するファイルまたはディレクトリーにアクセスする適切な権限を持つユーザー名の下でジョブを直接実行できます。このフィールドは、使用しているディストリビューションに応じて利用できます。 |
[JDBC property] (JDBCプロパティ) |
[Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。
|
接続 |
ターゲットデータベースへの接続に使うJDBC URLを入力します。 |
[User name] (ユーザー名)および[Password] (パスワード) |
認証情報をターゲットデータベースに入力します。 パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。 パスワードがファイルに保保管れている場合は、[The password is stored in a file] (パスワードをファイルで保管)チェックボックスをオンにして、[File path] (ファイルパス)フィールドが表示されたら、そのファイルへのパスを入力します。
|
[Driver JAR] (ドライバーJAR) |
[Use Commandline] (コマンドラインの使用)モードまたは[Java API]モードのどちらかで、使用するデータベースのドライバーファイルを、使用しているHadoopディストリビューションのlibフォルダーに追加する必要があります。その目的で、この[Driver JAR] (ドライバーJAR)テーブルを使用して、デザインしている現在のジョブ用にそのドライバーファイルを追加します。 |
ドライバークラス名 |
指定したドライバーのクラス名を二重引用符で囲んで入力します。たとえば、RedshiftJDBC41-1.1.13.1013.jarドライバーの場合、入力する名前はcom.amazon.redshift.jdbc41.Driverになります。 |
[Table Name] (テーブル名) |
データがHDFSまたはHCatalogから転送されるターゲットテーブルの名前を入力します。このテーブルはターゲットデータベース内に既に存在している必要があります。入力ファイルは、読み取られ、解析されて、ユーザーが指定した区切りに従ってレコードのセットに分割されます。 |
[Input source] (入力ソース) | データの読み取り元となるソースシステムのタイプを選択します。以下はこのシステムの例です。
|
[Direct] (直接) |
高速エクスポートパスを使うには、このチェックボックスをオンにします。 |
[Specify Number of Mappers] (マッパー数の指定) |
データ転送の実行に使用するマップタスク(並列プロセス)の数を示す場合は、このチェックボックスを選択します。 Sqoopで並列プロセスを使用しない場合は、表示されたフィールドに1と入力します。 |
[Call a stored procedure] (ストアドプロシージャーを呼び出す) |
データをターゲットデータベースに書き込む特定のストアドプロシージャーを呼び出すには、このチェックボックスをオンにしてコンポーネントを有効にします。 表示されるフィールドに、使用するストアドプロシージャーの名前を入力する必要があります。 ストアドプロシージャーの構文と機能はデータベースによって異なります。そのため、特定のストアドプロシージャーを呼び出す方法は、使用するデータベースのドキュメンテーションを参照することをお勧めします。 |
[Use batch mode] (バッチモードを使用) |
複数のレコードをターゲットデータベースに書き込むには、複数行のINSERTステートメントを実行する代わりに、このチェックボックスをオンにしてステートメントをバッチモードで実行します。 |
[Clear staging table] (ステージングテーブルをクリア) |
目的のデータ転送に特定のステージングテーブルを使う場合は、このチェックボックスをオンにして、データ転送が実行される時にステージングテーブルを確実に空にしておきます。 |
[Define a staging table] (ステージングテーブルの定義) |
転送するデータ用にステージングテーブルを作成するには、このチェックボックスをオンにします。転送するデータは、ターゲットテーブル内に書き込まれる前に、このテーブル内でステージングされます。これは、転送が失敗した場合にターゲットテーブルにデータの一部のみがコミットされることを防ぐためです。 特定のデータ転送でステージングテーブルがサポートされているかどうかについては、Sqoopに関するApacheのドキュメンテーションをご覧ください。 |
[Specify how updates are performed when new rows are found with non-match keys in database] (データベース内に不マッチングキーのある新しい行が見つかった時に実行するアップデートの方法を指定する) |
このチェックボックスをオンにして、ターゲットテーブル内で特定のアップデートキーに一致するレコードがない場合に実行されるアクションを決定します。その場合は、以下のオプションのいずれかを選択します。
|
[Use column for update] (アップデート用カラムを使用) |
このチェックボックスをオンにして、表示されるテーブルに、アップデートキーとして使うカラムを追加します。 |
[Print log] (ログを印刷) |
[Verbose]チェックボックスを有効にする場合は、このチェックボックスを選択します。 |
[Verbose] (詳細) |
作業中に、デバッグ情報など、その他の情報を印刷する場合は、このチェックボックスを選択します。 |
詳細設定
[Use MySQL default delimiters] (MySQLデフォルトの区切り文字を使用) |
MySQLのデフォルト区切りセットを使用する場合は、このチェックボックスを選択します。このチェックボックスは、Talend CommandLineモードでのみ利用できます。 |
[Define Java mapping] (Javaマッピングの定義) |
Sqoopは、ほとんどのSQLタイプを適切なJavaタイプにマップするデフォルト設定を提供します。ランタイムにカスタムマップを使用してデフォルトのマップを上書きする必要がある場合は、このチェックボックスを選択して、表示されるテーブル内に使用するマップを定義します。 |
[Additional arguments] (追加の引数) |
必要に応じて、このテーブルに入力して追加の引数を使用します。 引数を追加することで、1回のトランザクションで複数のオペレーションを実行できます。たとえば、--hive-importと--hive-tableをTalend CommandLineモードで、またはhive.importとhive.table.nameをJava APIモードで使用して、Hiveテーブルを作成し、HDFSにデータを書き込むトランザクションのランタイムでデータを書き込むことができます。Talend CommandLineモードとJava APIモードでそれぞれ利用できるSqoop引数の詳細は、 追加の引数をご覧ください。 Talend CommandLineモードでは、適切な形式でこのテーブルに入力することで、汎用引数が使えます(例: -D org.apache.sqoop.splitter.allow_text_splitter)。
情報メモ注: 先頭にハイフンが1つ付いているツール固有の引数(例: -mまたは-e)は使わず、省略なしの名前引数(例: --num-mappersまたは--query)を使います。
Java APIモードでは、Hadoopプロパティを使って適切な形式で値を入力することで、汎用引数が使えます(例: org.apache.sqoop.splitter.allow_text_splitter)。
情報メモ注: APIの制限のために、Java APIモードでは一部の引数がサポートされない場合があります。
汎用引数と特定の引数については、Sqoopの公式ドキュメンテーションでUsing Generic and Specific Argumentsをご覧ください。 |
[Use speed parallel data transfers] (速度並行データ転送の使用) |
TeradataデータベースとHortonworks Hadoopディストリビューションの間で並列データ転送を迅速に行う場合は、このチェックボックスを選択します。[Specific params] (パラメーターを設定)テーブルと[Use additional params] (追加パラメーターの使用)チェックボックスが表示され、並列転送に必要なTeradataパラメーターを指定できます。
[Use Commandline] (コマンドラインの使用)モードでのみ使用できます。 |
[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] (トリガー): サブジョブがOKの場合、サブジョブがエラーの場合に実行します。
受信リンク (あるコンポーネントからこのコンポーネントへのリンク): [Row] (行): Iterate; [Trigger] (トリガー): Run if; On Subjob Ok; On Subjob Error; On Component Ok; On Component Error
接続の詳細は、ジョブにおける接続の使い方をご覧ください。 |