メイン コンテンツをスキップする 補完的コンテンツへスキップ

tSqoopExportの標準プロパティ

Availability-note非推奨

これらのプロパティは、標準ジョブのフレームワークで実行されている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] (リポジトリー)のいずれかです。
  • [Built-in] (組み込み): このコンポーネントのみにローカルに使用するHadoopディストリビューションの設定情報を入力します。

  • [Repository] (リポジトリー): Hadoop接続が作成済みで、[Repository] (リポジトリー)に保存されていること。したがって、コンポーネントの設定とジョブデザインに直接再利用できます。一元管理されたHadoop接続の作成方法は、Hadoop接続メタデータの一元管理をご覧ください。

[Distribution] (ディストリビューション)

ドロップダウンリストから、使用するクラスターを選択します。リストのオプションは使用するコンポーネントによって異なります。これらのオプションの中でも、以下のオプションを使用するには特定の設定が必要です。
  • この[Distribution] (ディストリビューション)ドロップダウンリストに[Microsoft HD Insight]オプションが表示されている場合は、Microsoft HD Insightクラスターを利用できます。この場合、表示されているエリアでクラスターのHD Insightクラスター、Windows Azure Storageサービスへの接続を設定する必要があります。これらのパラメーターの詳細は、手動で接続を設定をご覧ください。

  • Amazon EMRを選択している場合は、Amazon EMR - Getting Startedで詳細をご覧ください。

  • [Custom] (カスタム)オプションを使用すれば、リストにあるディストリビューションのものとは異なるクラスター、つまり、 Talend で正式にサポートされていないクラスターに接続できます。

  1. [Import from existing version] (既存のバージョンからインポート)を選択すると、正式にサポートされているディストリビューションをベースとしてインポートしてから、ベースディストリビューションで提供されていない他の必要なjarファイルを追加できます。

  2. [Import from zip] (zipからインポート)を選択すると、使用するカスタムディストリビューションの設定zipファイルをインポートできます。zipファイルには、Hadoopの各種エレメントのライブラリーおよびこれらのライブラリーのインデックスファイルが含まれている必要があります。

    Talendはカスタムバージョンを公式にサポートしていません。Talendとそのコミュニティでは、Talend Studioからカスタムバージョンに接続するための方法を紹介していますが、Hadoopのディストリビューションとバージョンの種類は幅広いため、選択したバージョンの設定がスムーズに機能するかどうかは保証できません。そのような接続のセットアップは、Hadoopについてどんな問題でもご自身で対処できる十分な経験をお持ちの場合のみ行ってください。

    情報メモ注:

    カスタムディストリビューションとこのコンポーネント間で作成する接続に関わるjarファイルがインポートされるように、このダイアログボックスのアクティブなチェックボックスをオフにしないでください。

    カスタムディストリビューションの接続方法、および接続の共有方法のステップ例は、Hortonworksをご覧ください。

[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クラスター内のこのパラメーターに関する設定は無視されます):
  1. [Set resourcemanager scheduler address] (リソースマネージャースケジューラーアドレスの設定)チェックボックスをオンにして、表示されたフィールドにスケジューラーアドレスを入力します。

  2. [Set jobhistory address] (ジョブ履歴アドレスの設定)チェックボックスをオンにして、使用するHadoopクラスターのJobHistoryサーバーの場所を入力します。これにより、現在のジョブのメトリックス情報がそのJobHistoryサーバーに保存されます。

  3. [Set staging directory] (ステージングディレクトリーの設定)チェックボックスをオンにして、実行プログラムで作成される一時ファイル用のHadoopクラスターで定義されたこのディレクトリーを入力します。一般的には、このディレクトリーはディストリビューションのyarn-site.xmlmapred-site.xmlなどの設定ファイル内にあるyarn.app.mapreduce.am.staging-dirプロパティの下にあります。

  4. [Advanced settings] (詳細設定)ビューの[Set memory] (メモリの設定)チェックボックスをオンにして、適切なメモリ容量をYARNのMapReduceの計算およびApplicationMasterに割り当てます。

  5. [Set Hadoop user] (Hadoopユーザーの設定)チェックボックスをオンにして、ジョブを実行するユーザー名を入力します。Hadoop内のファイルまたはディレクトリーには読み取りまたは書き込みの適切な権限を持つ特定のオーナーがあるため、このフィールドを使用して、処理するファイルまたはディレクトリーにアクセスする適切な権限を持つユーザー名の下でジョブを直接実行できます。

  6. [Use datanode hostname] (データノードホスト名を使用)チェックボックスをオンにして、これらのホスト名によるデータノードへのアクセスをジョブに許可します。これは、実際にはdfs.client.use.datanode.hostnameプロパティをtrueに設定しています。S3Nファイルシステムに接続する場合、このチェックボックスを選択する必要があります。

これらのパラメーターの詳細は、ドキュメンテーションを参照するか、使用する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] (リポジトリー)のいずれかです。
  • [Built-in] (組み込み): このコンポーネントのみにローカルに使用するデータベースの接続情報を入力します。

  • [Repository] (リポジトリー): データベース接続が作成済みで、[Repository] (リポジトリー)に保存されていること。したがって、コンポーネントの設定とジョブデザインに直接再利用できます。

    [Repository] (リポジトリー)に保存されている[General JDBC] (一般JDBC)接続のみがサポートされています。

接続

ターゲットデータベースへの接続に使うJDBC URLを入力します。

[User name] (ユーザー名)および[Password] (パスワード)

認証情報をターゲットデータベースに入力します。

パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。

パスワードがファイルに保保管れている場合は、[The password is stored in a file] (パスワードをファイルで保管)チェックボックスをオンにして、[File path] (ファイルパス)フィールドが表示されたら、そのファイルへのパスを入力します。
  • このファイルは、ジョブを実行するマシン内、または使用するHadoopクラスターのHDFSシステム内に保存します。

  • このファイルに保存するパスワードには、末尾にmust not contain \n (改行のエスケープ)を含める必要があります。すなわち、この行が空の場合でも、パスワードの末尾に改行を挿入してはなりません。

この機能は、Sqoopバージョン1.4.4以降で利用できます。

[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] (入力ソース) データの読み取り元となるソースシステムのタイプを選択します。以下はこのシステムの例です。
  • HDFS: ソースシステムはHDFSです。表示される[Export dir] (エクスポートディレクトリー)フィールドに、HDFSに転送するソースデータへのパスを入力します。
  • HCatalog: ソースシステムはHCatalogです。表示される[HCatalog database] (HCatalogデータベース)フィールドと[HCatalog table] (HCatalogテーブル)フィールドに、使用するデータベース名とテーブル名をそれぞれ入力します。

[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] (データベース内に不マッチングキーのある新しい行が見つかった時に実行するアップデートの方法を指定する)

このチェックボックスをオンにして、ターゲットテーブル内で特定のアップデートキーに一致するレコードがない場合に実行されるアクションを決定します。その場合は、以下のオプションのいずれかを選択します。
  • [Update only] (アップデートのみ): ターゲットテーブル内に既に存在するレコードのみをアップデートします。

  • [Allow insert] (挿入を許可): SQL UPSERTステートメントのように機能します。テーブル内にレコードが存在しない場合は、新しいレコードをテーブルに書き込みます。

[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-tableTalend CommandLineモードで、またはhive.importhive.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パラメーターを指定できます。
  • [Specific params] (パラメーターを設定)テーブルでは、次の2つのカラムが利用できます。
    • ドロップダウンリストから、[Argument] (引数): 必要なパラメーターを選択します。それらは並列転送用の最も一般的なパラメーターです。

    • [Value] (値): パラメーターの値を入力します。

  • [Additional params] (追加パラメーター)チェックボックスをオンにすることで、[Specific additional params] (特定の追加パラメーター)フィールドが表示されます。このフィールドで、使用する必要があるにもかかわらず[Specific params] (パラメーターを設定)テーブルに含まれていないTeradataパラメーターを入力できます。パラメーターの構文は-Dparameter=valueで、このフィールドに複数のパラメーターを入力する場合は、ホワイトスペースで区切ります。

Hortonworks Connector for TeradataがHortonworksクラスターにインストールされていることを確認する必要があります。最新のコネクターをHortonworksのWebサイトからダウンロードし、http://hortonworks.com/wp-content/uploads/2014/02/bk_HortonworksConnectorForTeradata.pdfに記されている説明に従ってインストールします。同じドキュメントで、並列転送に使用する各パラメーターの詳細な説明も参照できます。

[Use Commandline] (コマンドラインの使用)モードでのみ使用できます。

[Hadoop properties] (Hadoopプロパティ)

Talend Studio では、Hadoopディストリビューションの処理を実行するエンジンに、デフォルト設定を使用しています。特定の場合にカスタム設定を使用する必要がある場合は、カスタマイズするプロパティをこのテーブルで設定します。設定後、カスタマイズしたプロパティによってこれらのデフォルトのプロパティが実行時に上書きされます。
  • [Repository] (リポジトリー)に一元的に保管されたメタデータを使用している場合、テーブルにはそのメタデータで定義されたプロパティが自動的に継承されます。[Property type] (プロパティタイプ)[Repository] (リポジトリー)から[Built-in] (組み込み)に変更しないと、テーブルは編集できなくなります。

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関連の情報などを示します。

  • MapRクライアントは必ずTalend Studioのあるマシンにインストールして、そのマシンのPATH変数にMapRクライアントライブラリーを追加します。MapRのドキュメンテーションによると、各OSバージョンに対応するMapRクライアントのライブラリーは、MAPR_INSTALL\ hadoop\hadoop-VERSION\lib\nativeにあります。たとえば、Windows版のライブラリーは、\lib\native\MapRClient.dllにあるMapRクライアントのjarファイルにあります。

    指定のライブラリーを追加しないと、no MapRClient in java.library.pathというエラーが発生する可能性があります。

  • たとえば、[Window] (ウィンドウ)メニューの[Preferences] (環境設定)ダイアログボックスにある[Run/Debug] (実行/デバッグ)ビューの[Job Run VM arguments] (ジョブ実行VMの引数)エリアで、-Djava.library.path引数を設定するために使われます。この引数により、そのMapRクライアントのネイティブライブラリーへのパスがTalend Studioに渡されるので、サブスクリプションベースのユーザーはデータビューアーをフルに活用して、MapRに保存されたデータをTalend Studioでローカルに表示できます。

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

接続の詳細は、ジョブにおける接続の使い方をご覧ください。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。