tSqoopImportの標準プロパティ
これらのプロパティは、標準ジョブのフレームワークで実行されているtSqoopImportを設定するために使われます。
標準のtSqoopImportコンポーネントは、ビッグデータファミリーとファイルファミリーに属しています。
このフレームワーク内のコンポーネントは、ビッグデータ対応のTalend 製品すべて、およびTalend Data Fabricで利用できます。
基本設定
[Mode] (モード) |
Sqoopをジョブ実行で呼び出すモードを選択します。 [Use Commandline] (コマンドラインの使用): Sqoopを呼び出すためにSqoopシェルが使用されます。HDFSとHCatalogのどちらからでもデータを読み取ることができます。このモードでは、Sqoopがインストールされているホストにジョブをデプロイして実行する必要があります。したがって、サブスクリプションユーザーの場合は、 Talend がそのホスト内に提供しているJobServerをインストールおよび使用してジョブを実行することを推奨します。ビッグデータ対応の Talend ソリューションの1つを使用している場合は、使用するStudioとSqoopが同じマシン上にあることをご確認ください。 [Use Java API] (Java APIの使用): Sqoopの呼び出しにJava APIが使用されます。このモードでは、ジョブを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フレームワークの詳細は、http://hadoop.apache.org (英語のみ)で、Apache Hadoopに関するドキュメンテーションにあるMap/Reduceのチュートリアルをご覧ください。 |
[Use Kerberos authentication] (Kerberos認証を使用) |
Kerberosセキュリティを実行しているHadoopクラスターにアクセスする場合は、このチェックボックスをオンにし、表示されるフィールドにネームノードとしてKerberosのプリンシパル名を入力します。これにより、ユーザー名を使って、Kerberosに保存された認証情報に対して認証を実行できます。
また、このコンポーネントは、Map/Reduceの計算を実行するため、対応するフィールドのディストリビューションに応じてジョブ履歴サーバーやリソースマネージャーまたはジョブトラッカーなど関連するサービスを認証する必要があります。これらのプリンシパルはディストリビューションの設定ファイルの中にあります。たとえば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] フィールドに入力します。このkeytabファイルは、ジョブが実際に実行されているマシン、たとえば、Talend Jobserverに保存する必要があります。 keytabが有効なジョブは、プリンシパルに任命されたユーザーでなくても実行できますが、使用するkeytabファイルの読み取り権限が必要です。たとえばuser1というユーザー名でジョブを実行し、使用するプリンシパルがguestの場合、user1に使用するキータブファイルの読み取り権限があることをご確認ください。 |
[Hadoop user name] (Hadoopユーザー名) |
ジョブを実行するユーザー名を入力します。Hadoop内のファイルまたはディレクトリーには読み取りまたは書き込みの適切な権限を持つ特定のオーナーがあるため、このフィールドを使用して、処理するファイルまたはディレクトリーにアクセスする適切な権限を持つユーザー名の下でジョブを直接実行できます。このフィールドは、使用しているディストリビューションに応じて利用できます。 |
[JDBC property] (JDBCプロパティ) |
[Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。
|
[Connection] (接続) |
ソースデータが保存されているデータベースに接続するために使用されている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になります。 Oracleデータベースからデータをインポートするためにクエリーを実行している時に、次のようなエラーが発生した場合:
|
[Table Name] (テーブル名) |
HDFSに転送するテーブルの名前を入力します。 このフィールドは、[Use query] (クエリーの使用)チェックボックスをオンにして自由形式のクエリーモードを使用している場合は使用できません。 |
[File format] (ファイル形式) |
転送するデータのファイル形式を選択します。
|
[Delete target directory] (ターゲットディレクトリーの削除) |
このチェックボックスをオンにすると、ターゲットディレクトリーが削除されます。 |
[Append] (追加) |
このチェックボックスをオンにすると、転送したデータがHDFSの既存のデータセットに追加されます。 |
[Compress] (圧縮) |
圧縮を有効にする場合は、このチェックボックスを選択します。 |
[Direct] (直接) |
高速インポートパスを使用する場合は、このチェックボックスを選択します。 |
[Specify columns] (カラムの指定) |
このチェックボックスをオンにすると、HDFSに転送するカラムを指定できるカラムテーブルが表示されます。 |
[Use WHERE clause] (WHERE句の使用) |
このチェックボックスをオンにすると、転送する行を制御するWHERE句を使用できます。表示されたフィールドに、必要な行を選択するための条件を入力できます。たとえば、id >400と入力すると、idカラムの値が400より大きい行のみがインポートされます。 |
[Use query] (クエリーの使用) |
Sqoopによって提供される自由形式のクエリーモードを使用するには、このチェックボックスをオンにします。 これを選択すると、使用するクエリーを自由形式で入力できるようになります。 次に、ターゲットディレクトリーを指定し、Sqoopで並行してデータをインポートする場合は、Split by引数も指定します。 情報メモ警告:
ここでクエリーを入力した場合、[Advanced settings] (詳細設定)タブの[Additional arguments] (追加の引数)テーブルで、引数--fields-terminated-byの値には"\t"のみを設定できます。 |
[Specify Target Dir] (ターゲットディレクトリーの指定) |
このチェックボックスをオンにして、ソースデータの転送先となるHDFS内のターゲットロケーションのパスを入力します。 ディレクトリーは新規作成するか、[Append] (追加)チェックボックスをオンにする必要があります。 |
[Specify Split by] (分割の指定) |
このチェックボックスをオンにした上で必要なテーブルカラムを入力すると、ワークロードを分割する分割カラムとして使用できるようになります。 たとえば、[id]カラムがキーカラムになっているテーブルの場合は、tablename.idと入力します。次に、SqoopによりID値に基づいて転送されるデータが分割され、並行してインポートされます。 |
[Specify Number of Mappers] (マッパー数の指定) |
データ転送の実行に使用するマップタスク(並列プロセス)の数を示す場合は、このチェックボックスを選択します。 Sqoopで並列プロセスを使用しない場合は、表示されたフィールドに1と入力します。 |
[Print log] (ログを印刷) |
[Verbose]チェックボックスを有効にする場合は、このチェックボックスを選択します。 |
[Verbose] (詳細) |
作業中に、デバッグ情報など、その他の情報を印刷する場合は、このチェックボックスを選択します。 |
詳細設定
[Use MySQL default delimiters] (MySQLデフォルトの区切り文字を使用) |
MySQLのデフォルト区切りセットを使用する場合は、このチェックボックスをオンにします。このチェックボックスは、コマンドラインモードでのみ利用できます。 |
[Define Java mapping] (Javaマッピングの定義) |
Sqoopは、ほとんどのSQLタイプを適切なJavaタイプにマップするデフォルト設定を提供します。ランタイムにカスタムマップを使用してデフォルトのマップを上書きする必要がある場合は、このチェックボックスを選択して、表示されるテーブル内に使用するマップを定義します。 |
[Define Hive mapping] (Hiveマッピングの定義) |
Sqoopは、ほとんどのSQLタイプを適切なHiveタイプにマップするデフォルト設定を提供します。ランタイムにカスタムマップを使用してデフォルトのマップを上書きする必要がある場合は、このチェックボックスを選択して、表示されるテーブル内に使用するマップを定義します。 |
[Additional arguments] (追加の引数) |
必要に応じて、このテーブルに入力して追加の引数を使用します。 引数を追加することで、1回のトランザクションで複数のオペレーションを実行できます。たとえば、--hive-importと--hive-tableをコマンドラインモードで、またはhive.importとhive.table.nameをJava APIモードで使用して、Hiveテーブルを作成し、HDFSにデータを書き込むトランザクションのランタイムでデータを書き込むことができます。コマンドラインモードとJava APIモードでそれぞれ利用できるSqoop引数の詳細は、追加の因数をご覧ください。 コマンドラインモードでは、適切な形式でこのテーブルに入力することで、汎用引数が使えます(例: -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ディストリビューションのドキュメンテーションを参照するか、http://hadoop.apache.org/docs (英語のみ)に掲載されている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 + スペースを押して変数リストにアクセスし、リストから使用する変数を選択します。 変数の詳細は、Talend Studioユーザーガイドをご覧ください。 |
使用方法
使用ルール |
このコンポーネントは、スタンドアロンとして使用されます。Sqoopの前提条件に準拠しています。使用するには、Sqoopに関する知識が必要です。 これらのコンポーネントのファンクションをフルに活用するために、バージョン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
接続に関する詳細は、『 Talend Studio ユーザーガイド』をご覧ください。 |