tSqoopMergeの標準プロパティ - Cloud - 8.0

Sqoop

Version
Cloud
8.0
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > Data management components > Data movement > Sqoop
ジョブデザインと開発 > サードパーティーシステム > DBツール > Sqoop
データガバナンス > サードパーティーシステム > Data management components > Data movement > Sqoop
データガバナンス > サードパーティーシステム > DBツール > Sqoop
データクオリティとプレパレーション > サードパーティーシステム > Data management components > Data movement > Sqoop
データクオリティとプレパレーション > サードパーティーシステム > DBツール > Sqoop
Last publication date
2024-02-28

これらのプロパティは、標準ジョブのフレームワークで実行されている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] (リポジトリー)のいずれかです。
  • [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フレームワークの詳細は、http://hadoop.apache.orgで、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_1tSqoopMerge_2などを生成するtSqoopMergeコンポーネントのIDです。

このjarファイルはインポートデータのソーステーブルから生成されるため、このチェックボックスをオンにすると、対応するパラメーターが表示され、テーブルの接続を設定できます。

[JDBC property] (JDBCプロパティ)

[Built-in] (組み込み)[Repository] (リポジトリー)のいずれかです。
  • [Built-in] (組み込み): このコンポーネントのみにローカルに使用するデータベースの接続情報を入力します。

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

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

[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-tableTalend CommandLineモードで、またはhive.importhive.table.nameをJava APIモードで使用して、Hiveテーブルを作成し、HDFSにデータを書き込むトランザクションのランタイムでデータを書き込むことができます。Talend CommandLineモードとJava APIモードでそれぞれ利用できるSqoop引数の詳細は、追加の引数をご覧ください。

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

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

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 + スペースを押して変数リストにアクセスし、使用する変数を選択します。

変数の詳細は、コンテキストと変数を使用をご覧ください。

使用方法

使用ルール

このコンポーネントはスタンドアロンとして使用されます。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] (トリガー): 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

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