tSqoopImportAllTables標準プロパティ - 7.3

Sqoop

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Open Studio for Big Data
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > DBツール > Sqoop
データガバナンス > サードパーティーシステム > DBツール > Sqoop
データクオリティとプレパレーション > サードパーティーシステム > DBツール > Sqoop

このプロパティはStandardジョブフレームワークで実行されているtSqoopImportAllTablesを設定するために使います。

Standard tSqoopImportAllTablesコンポーネントはビッグデータファミリーとファイルファミリーのコンポーネントです。

このフレームワーク内のコンポーネントは、ビッグデータ対応のTalend 製品すべて、およびTalend Data Fabricで使用できます。

基本設定

[Mode] (モード)

Sqoopをジョブ実行で呼び出すモードを選択します。

[Use Commandline] (コマンドラインの使用): Sqoopを呼び出すためにSqoopシェルが使用されます。HDFSとHCatalogのどちらからでもデータを読み取ることができます。このモードでは、Sqoopがインストールされているホストにジョブをデプロイして実行する必要があります。したがって、サブスクリプションユーザーの場合は、 Talend がそのホスト内に提供しているジョブサーバーをインストールおよび使用してジョブを実行することを推奨します。ビッグデータ対応の 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] (リポジトリー)のいずれかで次の設定を行います。
  • [Built-in] (組み込み): このコンポーネントのみにローカルに使用するHadoopディストリビューションの設定情報を入力します。

  • [Repository] (リポジトリー): Hadoop接続が作成済みで、[Repository] (リポジトリー)に保存されていること。したがって、コンポーネントの設定とジョブデザインに直接再利用できます。一元管理Hadoop接続の作成方法は、『 Talend Open Studio for Big Data入門ガイド』を参照してください。

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

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

  • Amazon EMRを選択している場合、Amazon EMRの開始方法の詳細は、Talend Help Center (https://help.talend.com)を参照してください。

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

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

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

    Talend Exchangeでは、 Talend コミュニティのメンバーがすぐに使える設定用zipファイルが共有されており、[Hadoop configuration] (Hadoop設定)リストからダウンロードして接続に直接使用できます。ただし、さまざまなHadoop関連のプロジェクトが継続的に進展しているため、このリストから対応するディストリビューションの設定Zipが見つからないことがあります。その場合は、[Import from existing version] (既存のバージョンからインポート)オプションを使って、既存のディストリビューションをベースとして取得し、ディストリビューションに必要なjarを追加することをお勧めします。

    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に保存された認証情報に対して認証を実行できます。
  • このクラスターが5.0.0バージョン以上のMapRクラスターである場合、セキュリティ対応MapRへの接続に記載の説明に従って、MapRチケット認証設定を追加または代替として設定できます。

    この設定により、ジョブで定義されたユーザー名用の新しいMapRセキュリティチケットが実行ごとに生成されます。同じユーザー名に対して発行された既存のチケットを再使用する必要がある場合は、[Force MapR ticket authentication] ()チェックボックスと[Use Kerberos authentication] ()チェックボックスをオフにすると、そのチケットを即座に自動的に見つけることができます。

また、このコンポーネントは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に使用するkeytabファイルの読み取り権限があることをご確認ください。

[Hadoop user name] (Hadoopユーザー名)

ジョブを実行するユーザー名を入力します。Hadoop内のファイルまたはディレクトリーには読み取りまたは書き込みの適切な権限を持つ特定のオーナーがあるため、このフィールドを使用して、処理するファイルまたはディレクトリーにアクセスする適切な権限を持つユーザー名の下でジョブを直接実行できます。このフィールドは、使用しているディストリビューションに応じて使用できます。

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

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

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

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

[Connection] (接続)

ソースデータが保存されているデータベースに接続するために使用されている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になります。

[File format] (ファイル形式)

転送するデータのファイル形式を選択します。
  • [textfile] (テキストファイル)

  • [sequencefile] (シーケンスファイル)

  • [Avro file] (Avroファイル)

  • [Parquet file] (Parquetファイル): Sqoopのバージョンは1.4.6を使用してください。

[Specify Number of Mappers] (マッパー数の指定)

データ転送の実行に使用するマップタスク(並列プロセス)の数を示すには、このチェックボックスをオンにします。

Sqoopで並列プロセスを使用しない場合は、表示されたフィールドに1と入力します。

[Compress] (圧縮)

圧縮を有効にするには、このチェックボックスをオンにします。

[Direct] (直接)

高速インポートパスを使用するには、このチェックボックスをオンにします。

[Exclude table] (テーブルの除外)

このチェックボックスをオンにして、インポート処理から除外するテーブルの名前を入力します。

[Print log] (ログの印刷)

[Verbose]チェックボックスを有効にするには、このチェックボックスをオンにします。

[Verbose] (詳細)

作業中に、デバッグ情報など、その他の情報を印刷するには、このチェックボックスをオンにします。

詳細設定

[Define Hive mapping] (Hiveマッピングの定義)

Sqoopは、ほとんどのSQLタイプを適切なHiveタイプにマップするデフォルト設定を提供します。ランタイムにカスタムマップを使用してデフォルトのマップを上書きする必要がある場合は、このチェックボックスをオンにして、表示されるテーブル内に使用するマップを定義します。

[Use MySQL default delimiters] (MySQLデフォルトの区切り文字を使用)

MySQLのデフォルト区切り記号セットを使用するには、このチェックボックスをオンにします。このチェックボックスは、コマンドラインモードでのみ使用できます。

[Additional arguments] (追加の引数)

必要に応じて、このテーブルに入力して追加の引数を使用します。

引数を追加することで、1回のトランザクションで複数のオペレーションを実行できます。たとえば、--hive-import--hive-tableをコマンドラインモードで、またはhive.importhive.table.nameをJava APIモードで使用して、Hiveテーブルを作成し、HDFSにデータを書き込むトランザクションのランタイムでデータを書き込むことができます。コマンドラインモードとJava APIモードでそれぞれ使用できるSqoop引数の詳細は、[Additional arguments] (追加の引数)を参照してください。

コマンドラインモードでは、適切な形式でこのテーブルに入力することで、汎用引数が使えます(例: -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を参照してください。

[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] (統計情報)

このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。

グローバル変数

[Global Variables] (グローバル変数)

ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、Die on error (エラー時強制終了)がオフになっている場合にのみ機能します。

EXIT_CODE: リモートコマンドの終了コード。これはAfter変数で、整数を返します。

Flow変数はコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。

フィールドまたは式に変数を入れるには、Ctrl + Spaceを押して変数リストにアクセスし、リストから使用する変数を選択します。

変数の詳細は、『 Talend Studio ユーザーガイド』を参照してください。

使用方法

使用ルール

このコンポーネントはスタンドアロンとして使用されます。Sqoopの前提条件に準拠しています。使用するには、Sqoopに関する知識が必要です。

これらのコンポーネントのファンクションをフルに活用するために、バージョン1.4+のSqoopを使用することをお勧めします。

Sqoopについては、http://sqoop.apache.org/docs/でSqoopのマニュアルを参照してください。

前提条件

Talend Studio との操作を確実に行うには、Hadoopディストリビューションを適切にインストールする必要があります。以下のリストに、MapR関連の情報などを示します。

  • MapRクライアントは必ずStudioのあるマシンにインストールして、そのマシンのPATH変数にMapRクライアントライブラリーを追加します。MapRのドキュメンテーションによると、各OSバージョンに対応するMapRクライアントのライブラリーは、MAPR_INSTALL\ hadoop\hadoop-VERSION\lib\nativeにあるとされています。たとえば、Windows版のライブラリーは、\lib\native\MapRClient.dllにあるMapRクライアントのjarファイルにあります。詳細は、MapRからhttp://www.mapr.com/blog/basic-notes-on-configuring-eclipse-as-a-hadoop-development-environment-for-maprを参照してください。

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

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

Hadoopディストリビューションのインストール方法の詳細は、使用しているHadoopディストリビューションに対応するマニュアルを参照してください。

制限事項

[Use Commandline] (コマンドラインの使用)モードを選択した場合、このコンポーネントを使用してジョブを実行するには、Sqoopがインストールされているホストを使用する必要があります。

import-all-tablesツールを使うためにSqoopが要求する前提条件を満たす必要があります。詳細はSqoopのマニュアルを参照してください。

[Connections] (接続)

外部リンク(このコンポーネントから別のコンポーネントへのリンク):

[Trigger] (トリガー): サブジョブがOKの場合、サブジョブがエラーの場合に実行します。

受信リンク (あるコンポーネントからこのコンポーネントへのリンク):

[Row] (行): Iterate;

[Trigger] (トリガー): Run if; On Subjob Ok; On Subjob Error; On Component Ok; On Component Error

接続に関する詳細は、『 Talend Studio ユーザーガイド』を参照してください。