目次

Search

  1. はじめに
  2. Informatica Big Data Managementの概要
  3. マッピング
  4. ソース
  5. ターゲット
  6. トランスフォーメーション
  7. クラスタワークフロー
  8. プロファイル
  9. 監視
  10. 階層データ処理
  11. 階層データ処理設定
  12. スキーマが変更された階層データの処理
  13. インテリジェント構造モデル
  14. ステートフルコンピューティング
  15. 接続
  16. データ型リファレンス
  17. 関数リファレンス

ユーザーガイド

ユーザーガイド

Sqoopの接続レベルの引数

Sqoopの接続レベルの引数

JDBC接続では、Sqoopがデータベースへの接続に使用する必要がある引数を定義できます。データ統合サービスは、指定された引数を、JDBC接続プロパティに基づいて作成するデフォルトコマンドとマージします。指定した引数は、JDBC接続プロパティよりも優先されます。
同じドライバを使用してメタデータのインポートとマッピングの実行を行い、追加のSqoop引数を指定しない場合は、JDBC接続の
[使用するSqoopのバージョン]
リストから
[Sqoop v1.x]
を選択して、
[Sqoop引数]
フィールドは空のままにします。データ統合サービスは、指定されたJDBC接続プロパティに基づいてSqoopコマンドを作成します。
ただし、ランタイムタスクに別のドライバを使用する場合や、追加のランタイムSqoop引数を指定する場合は、
[使用するSqoopのバージョン]
リストから
[Sqoop v1.x]
を選択して、
[Sqoop引数]
フィールドに引数を指定します。
JDBC接続では、次のSqoop引数を設定できます。
ドライバ
Sqoopがデータベースに接続するために使用する必要があるJDBCドライバクラスを定義します。
以下の構文を使用します。
--driver <JDBC driver class>
例えば、接続するデータベースタイプに応じて、次の構文を使用します。
  • Aurora:
    --driver com.mysql.jdbc.Driver
  • Greenplum:
    --driver org.postgresql.Driver
  • IBM DB2:
    --driver com.ibm.db2.jcc.DB2Driver
  • IBM DB2 z/OS:
    --driver com.ibm.db2.jcc.DB2Driver
  • Microsoft SQL Server:
    --driver com.microsoft.sqlserver.jdbc.SQLServerDriver
  • Netezza:
    --driver org.netezza.Driver
  • Oracle:
    --driver oracle.jdbc.driver.OracleDriver
  • Teradata:
    --driver com.teradata.jdbc.TeraDriver
接続
Sqoopがデータベースに接続するために使用する必要があるJDBC接続文字列を定義します。JDBC接続文字列は、ドライバの引数で定義するドライバに基づく必要があります。
以下の構文を使用します。
--connect <JDBC connection string>
例えば、接続するデータベースタイプに応じて、次の構文を使用します。
  • Aurora:
    --connect "jdbc:mysql://<host_name>:<port>/<schema_name>"
  • Greenplum:
    --connect jdbc:postgresql://<host_name>:<port>/<database_name>
  • IBM DB2:
    --connect jdbc:db2://<host_name>:<port>/<database_name>
  • IBM DB2 z/OS:
    --connect jdbc:db2://<host_name>:<port>/<database_name>
  • Microsoft SQL Server:
    --connect jdbc:sqlserver://<host_name>:<port or named_instance>;databaseName=<database_name>
  • Netezza:
    --connect "jdbc:netezza://<database_server_name>:<port>/<database_name>;schema=<schema_name>"
  • Oracle:
    --connect jdbc:oracle:thin:@<database_host_name>:<database_port>:<database_SID>
  • Teradata:
    --connect jdbc:teradata://<host_name>/database=<database_name>
connection-manager
Sqoopがデータベースに接続するために使用する必要がある接続マネージャのクラス名を定義します。
以下の構文を使用します。
--connection-manager <connection manager class name>
例えば、汎用JDBCマネージャのクラス名を使用するには、次の構文を使用します。
--connection-manager org.apache.sqoop.manager.GenericJdbcManager
直接
Oracleに対してデータの読み書きを行う場合、直接引数を設定して、SqoopがOraOopを使用できるようにすることができます。OraOopは、ネイティブプロトコルを使用してOracleデータベースに接続するOracle用の特殊なSqoopプラグインです。OraOopを構成すると、パフォーマンスが向上します。
SparkエンジンでSqoopマッピングを実行するときに、OraOopを設定できます。
以下の構文を使用します。
--direct
OraOopを使用する場合は、次の構文を使用して複数の引数を指定する必要があります。
-D<argument=value> -D<argument=value>
複数の引数を指定し、-Dと引数の名前と値のペアの間に空白文字を含めた場合、Sqoopは最初の引数のみを考慮し、残りの引数は無視します。
ジョブを特定のキューに送らない場合、Sparkエンジンはデフォルトのキューを使用します。
-Dsqoop.connection.factories
Teradata Connector for Hadoop(TDCH)のSqoop専用コネクタを使用してBlazeエンジンでマッピングを実行するには、-Dsqoop.connection.factories引数を設定する必要があります。この引数を使用して、Sqoopが使用する必要があるTDCH接続のファクトリクラスを定義します。接続ファクトリクラスは、使用するTDCH Sqoopコネクタによって異なります。
  • Cloudera Connector Powered by Teradataを使用するには、次のように-Dsqoop.connection.factories引数を設定します。
    -Dsqoop.connection.factories=com.cloudera.connector.teradata.TeradataManagerFactory
  • Hortonworks Connector for Teradata(Teradata Connector for Hadoop提供)を使用するには、次のように-Dsqoop.connection.factories引数を設定します。
    -Dsqoop.connection.factories=org.apache.sqoop.teradata.TeradataManagerFactory
Sparkエンジンでマッピングを実行するために-Dsqoop.connection.factories引数を設定する必要はありません。デフォルトでは、データ統合サービスはCloudera Connector Powered by TeradataとHortonworks Connector for Teradata(Teradata Connector for Hadoop提供)を呼び出します。
--infaoptimize
SparkエンジンでのSqoopパススルーマッピングのパフォーマンス最適化を無効にするには、この引数を使用します。
SqoopパススルーマッピングをSparkエンジンで実行すると、データ統合サービスでは次のシナリオでマッピングパフォーマンスを最適化します。
  • Sqoopソースからデータを読み取り、テキスト形式を使用するHiveターゲットにデータを書き込みます。
  • Sqoopソースからデータを読み取り、Flat、Avro、またはParquet形式を使用するHDFSターゲットにデータを書き込みます。
パフォーマンス最適化を無効にするには、--infaoptimize引数をfalseに設定します。例えば、最適化されたSqoopマッピングを実行した後にデータ型の問題が発生する場合に、パフォーマンス最適化を無効にすることができます。
以下の構文を使用します。
--infaoptimize false
設定できるSqoop引数の完全なリストについては、Sqoopのマニュアルを参照してください。