この付録では、Hiveナレッジ・モジュールについて説明します。
この章の内容は次のとおりです。
第A.11項「LKM Hive to HBase Incremental Update HBASE-SERDE Direct」
第A.22項「IKM Hive to HBase Incremental Update (HBase-SerDe) [非推奨]」
このKMは、JDBCデータ・ソースからのデータをHiveに統合します。
Hiveステージング表を作成します。
SQOOP構成ファイルを作成します。これにはアップストリーム問合せが格納されます。
SQOOPを実行してソース・データを抽出し、Hiveにインポートします。
Hiveステージング表を削除します。
これはダイレクト・ロードLKMであり、ターゲットIKMはいずれも無視されます。
次の表は、LKM SQL to Hive SQOOPのオプションについて説明します。
表A-1 LKM SQL to Hive SQOOP
オプション | 説明 |
---|---|
DELETE_TEMPORARY_OBJECTS |
マッピングの最後に一時オブジェクトを削除します。 一時オブジェクト(表、ファイルおよびスクリプト)を統合後保持する場合、このオプションをNO,に設定します。デバッグに便利です。デフォルト: true。 |
SQOOP_PARALLELISM |
SQOOPパラレル・マッパーの数 並列度を指定します。より正確にはマッパーの数です。 抽出に使用されるマッパー・プロセスの数を指定します。 SQOOP_PARALLELISM > 1の場合、SPLIT_BYを定義する必要があります。 |
SPLIT_BY |
ソース・データを分割するためのターゲット列名。 パラレル抽出のためにソース・データをn個のチャンクに分割する際に使用される非修飾のターゲット列名を指定します(nはSQOOP_PARALLELISM)。 データ・チャンクのサイズを均等にするためには、均一に配布された値が分割列に含まれている必要があります。 データ・チャンク境界を計算するためには、SELECT MIN(EMPNO), MAX(EMPNO) from EMPLOYEE EMPのような問合せが使用されます。余分な全表スキャンが行われないように、分割列に索引を付ける必要があります。 |
BOUNDARY_QUERY |
SPLIT_BY列を使用してデータ・チャンクを計算するための最小/最大値を取得する問合せ。 パラレル抽出のためにソース・データをチャンクに分割する際に、分割列の最小値と最大値が取得されます(KMオプションSPLIT-BY)。状況によっては、これが最善の境界値ではなかったり、境界値を取得するうえで最も効率のよい方法ではないこともあります。このような場合は、このKMオプションを、1つの行と2つの列(分割列に使用される最小値と最大値)を返すSQL問合せに設定できます。この範囲は、パラレル実行のためにSQOOP_PARALLELISMチャンクに分割されます。 ハードコードされたOracleソース範囲の例: SELECT 1000, 2000 FROM DUAL コンテキストの独立性を保つため、通常の表名はodiRef.getObjectNameコールを介して挿入する必要があります。 例: SELECT MIN(EMPNO), MAX(EMPNO) FROM <%=odiRef.getObjectName(EMP")%>" |
TEMP_DIR |
一時ファイルのローカル・ディレクトリ。 一時ファイルの格納に使用するディレクトリ(squoopスクリプト、stdout、stderrリダイレクトなど)です。 システムのデフォルトの一時ディレクトリ(<?=System.getProperty(java.io.tmp")?>)"を使用する場合は空白のままにしておきます。 |
MAPRED_OUTPUT_BASE_DIR |
MapReduce出力ディレクトリ。 このオプションは、SQOOPにより一時ファイル用のサブディレクトリが作成される先のhdfsディレクトリを指定します。作業表に似た名前のサブディレクトリが、一時データを格納するためにここに作成されます。 |
USE_GENERIC_JDBC_CONNECTOR |
SQOOPの汎用JDBCコネクタを使用するかどうか。 SQOOPには、特定のテクノロジに対する固有のコネクタが用意されています。これらのコネクタによってSQL方言が処理され、パフォーマンスが最適化されます。各ターゲット・テクノロジ用のコネクタが存在する場合は、このコネクタを使用する必要があります。そうでない場合、汎用JDBCコネクタが解決策となる場合があります。 |
EXTRA_HADOOP_CONF_PROPERTIES |
オプションの汎用Hadoopプロパティ。 SQOOP file:セクションのHadoopプロパティの追加のオプション・プロパティ。 |
EXTRA_SQOOP_CONF_PROPERTIES |
オプションのSQOOPプロパティ。 SQOOP file:セクションのSQOOPプロパティの追加のオプション・プロパティ。 |
EXTRA_SQOOP_CONNECTOR_CONF_PROPERTIES |
オプションのSQOOPコネクタ・プロパティ。 SQOOP file:セクションのSQOOPコネクタ・プロパティの追加のオプション・プロパティ。 |
このKMは、JDBCデータ・ソースからのデータをHDFSファイルに抽出します。
次の手順が実行されます。
SQOOP構成ファイルを作成します。これにはアップストリーム問合せが格納されます。
SQOOPを実行してソース・データを抽出し、HDFSファイルとして保存します。
これはダイレクト・ロードLKMであり、IKMなしで使用する必要があります。
注意: 抽出前にターゲット・ディレクトリ全体が削除されます。 |
次の表は、LKM SQL to File SQOOP Directのオプションについて説明します。
表A-2 LKM SQL to File SQOOP Direct
オプション | 説明 |
---|---|
DELETE_TEMPORARY_OBJECTS |
マッピングの最後に一時オブジェクトを削除します。 一時オブジェクト(表、ファイルおよびスクリプト)を統合後保持する場合、このオプションをNO,に設定します。デバッグに便利です。デフォルト: true。 |
SQOOP_PARALLELISM |
SQOOPパラレル・マッパーの数 並列度を指定します。より正確にはマッパーの数です。 抽出に使用されるマッパー・プロセスの数を指定します。 SQOOP_PARALLELISM > 1の場合、SPLIT_BYを定義する必要があります。 |
SPLIT_BY |
ソース・データを分割するためのターゲット列名。 パラレル抽出のためにソース・データをn個のチャンクに分割する際に使用される非修飾のターゲット列名を指定します(nはSQOOP_PARALLELISM)。 データ・チャンクのサイズを均等にするためには、均一に配布された値が分割列に含まれている必要があります。 データ・チャンク境界を計算するためには、SELECT MIN(EMPNO), MAX(EMPNO) from EMPLOYEE EMPのような問合せが使用されます。余分な全表スキャンが行われないように、分割列に索引を付ける必要があります。 |
BOUNDARY_QUERY |
SPLIT_BY列を使用してデータ・チャンクを計算するための最小/最大値を取得する問合せ。 パラレル抽出のためにソース・データをチャンクに分割する際に、分割列の最小値と最大値が取得されます(KMオプションSPLIT-BY)。状況によっては、これが最善の境界値ではなかったり、境界値を取得するうえで最も効率のよい方法ではないこともあります。このような場合は、このKMオプションを、1つの行と2つの列(分割列に使用される最小値と最大値)を返すSQL問合せに設定できます。この範囲は、パラレル実行のためにSQOOP_PARALLELISMチャンクに分割されます。 ハードコードされたOracleソース範囲の例: SELECT 1000, 2000 FROM DUAL コンテキストの独立性を保つため、通常の表名はodiRef.getObjectNameコールを介して挿入する必要があります。 例: SELECT MIN(EMPNO), MAX(EMPNO) FROM <%=odiRef.getObjectName(EMP")%>" |
TEMP_DIR |
一時ファイルのローカル・ディレクトリ。 一時ファイルの格納に使用するディレクトリ(squoopスクリプト、stdout、stderrリダイレクトなど)です。 システムのデフォルトの一時ディレクトリ(<?=System.getProperty(java.io.tmp")?>)"を使用する場合は空白のままにしておきます。 |
MAPRED_OUTPUT_BASE_DIR |
MapReduce出力ディレクトリ。 このオプションは、SQOOPにより一時ファイル用のサブディレクトリが作成される先のhdfsディレクトリを指定します。作業表に似た名前のサブディレクトリが、一時データを格納するためにここに作成されます。 |
USE_GENERIC_JDBC_CONNECTOR |
SQOOPの汎用JDBCコネクタを使用するかどうか。 SQOOPには、特定のテクノロジに対する固有のコネクタが用意されています。これらのコネクタによってSQL方言が処理され、パフォーマンスが最適化されます。各ターゲット・テクノロジ用のコネクタが存在する場合は、このコネクタを使用する必要があります。そうでない場合、汎用JDBCコネクタが解決策となる場合があります。 |
EXTRA_HADOOP_CONF_PROPERTIES |
オプションの汎用Hadoopプロパティ。 SQOOP file:セクションのHadoopプロパティの追加のオプション・プロパティ。 |
EXTRA_SQOOP_CONF_PROPERTIES |
オプションのSQOOPプロパティ。 SQOOP file:セクションのSQOOPプロパティの追加のオプション・プロパティ。 |
EXTRA_SQOOP_CONNECTOR_CONF_PROPERTIES |
オプションのSQOOPコネクタ・プロパティ。 SQOOP file:セクションのSQOOPコネクタ・プロパティの追加のオプション・プロパティ。 |
このKMは、JDBCデータ・ソースからデータを抽出し、データをHBaseにインポートします。
次の手順が実行されます。
SQOOP構成ファイルを作成します。これにはアップストリーム問合せが格納されます。
SQOOPを実行してソース・データを抽出し、HBaseにインポートします。
これはダイレクト・ロードLKMであり、IKMなしで使用する必要があります。
次の表は、LKM SQL to HBase SQOOP Directのオプションについて説明します。
表A-3 LKM SQL to HBase SQOOP Direct
オプション | 説明 |
---|---|
CREATE_TARG_TABLE |
ターゲット表を作成するかどうか。 ターゲット表を作成する場合は、このオプションを選択します。 |
TRUNCATE |
既存のターゲット・データを置き換えるかどうか 既存のターゲット表の内容を新しいデータで置き換える場合は、このオプションをtrueに設定します。 |
DELETE_TEMPORARY_OBJECTS |
マッピングの最後に一時オブジェクトを削除します。 一時オブジェクト(表、ファイルおよびスクリプト)を統合後保持する場合、このオプションをNO,に設定します。デバッグに便利です。デフォルト: true。 |
SQOOP_PARALLELISM |
SQOOPパラレル・マッパーの数 並列度を指定します。より正確にはマッパーの数です。 抽出に使用されるマッパー・プロセスの数を指定します。 SQOOP_PARALLELISM > 1の場合、SPLIT_BYを定義する必要があります。 |
SPLIT_BY |
ソース・データを分割するためのターゲット列名。 パラレル抽出のためにソース・データをn個のチャンクに分割する際に使用される非修飾のターゲット列名を指定します(nはSQOOP_PARALLELISM)。 データ・チャンクのサイズを均等にするためには、均一に配布された値が分割列に含まれている必要があります。 データ・チャンク境界を計算するためには、SELECT MIN(EMPNO), MAX(EMPNO) from EMPLOYEE EMPのような問合せが使用されます。余分な全表スキャンが行われないように、分割列に索引を付ける必要があります。 |
BOUNDARY_QUERY |
SPLIT_BY列を使用してデータ・チャンクを計算するための最小/最大値を取得する問合せ。 パラレル抽出のためにソース・データをチャンクに分割する際に、分割列の最小値と最大値が取得されます(KMオプションSPLIT-BY)。状況によっては、これが最善の境界値ではなかったり、境界値を取得するうえで最も効率のよい方法ではないこともあります。このような場合は、このKMオプションを、1つの行と2つの列(分割列に使用される最小値と最大値)を返すSQL問合せに設定できます。この範囲は、パラレル実行のためにSQOOP_PARALLELISMチャンクに分割されます。 ハードコードされたOracleソース範囲の例: SELECT 1000, 2000 FROM DUAL コンテキストの独立性を保つため、通常の表名はodiRef.getObjectNameコールを介して挿入する必要があります。 例: SELECT MIN(EMPNO), MAX(EMPNO) FROM <%=odiRef.getObjectName(EMP")%>" |
TEMP_DIR |
一時ファイルのローカル・ディレクトリ。 一時ファイルの格納に使用するディレクトリ(squoopスクリプト、stdout、stderrリダイレクトなど)です。 システムのデフォルトの一時ディレクトリ(<?=System.getProperty(java.io.tmp")?>)"を使用する場合は空白のままにしておきます。 |
MAPRED_OUTPUT_BASE_DIR |
MapReduce出力ディレクトリ。 このオプションは、SQOOPにより一時ファイル用のサブディレクトリが作成される先のhdfsディレクトリを指定します。作業表に似た名前のサブディレクトリが、一時データを格納するためにここに作成されます。 |
USE_GENERIC_JDBC_CONNECTOR |
SQOOPの汎用JDBCコネクタを使用するかどうか。 SQOOPには、特定のテクノロジに対する固有のコネクタが用意されています。これらのコネクタによってSQL方言が処理され、パフォーマンスが最適化されます。各ターゲット・テクノロジ用のコネクタが存在する場合は、このコネクタを使用する必要があります。そうでない場合、汎用JDBCコネクタが解決策となる場合があります。 |
EXTRA_HADOOP_CONF_PROPERTIES |
オプションの汎用Hadoopプロパティ。 SQOOP file:セクションのHadoopプロパティの追加のオプション・プロパティ。 |
EXTRA_SQOOP_CONF_PROPERTIES |
オプションのSQOOPプロパティ。 SQOOP file:セクションのSQOOPプロパティの追加のオプション・プロパティ。 |
EXTRA_SQOOP_CONNECTOR_CONF_PROPERTIES |
オプションのSQOOPコネクタ・プロパティ。 SQOOP file:セクションのSQOOPコネクタ・プロパティの追加のオプション・プロパティ。 |
このKMは、HDFSファイルからのデータをJDBCターゲットに統合します。
次の手順が実行されます。
SQOOP構成ファイルを作成します。
SQOOPを使用してRDBMSの作業表にデータをロードします。
作業表を削除します。
次の表は、LKM File to SQL SQOOPのオプションについて説明します。
表A-4 LKM File to SQL SQOOP
オプション | 説明 |
---|---|
SQOOP_PARALLELISM |
SQOOPパラレル・マッパーの数。 並列度を指定します。より正確にはマッパーの数です。 抽出に使用されるマッパー・プロセスの数を指定します。 SQOOP_PARALLELISM > 1の場合、SPLIT_BYを定義する必要があります。 |
WORK_TABLE_OPTIONS |
作業表オプション。 標準のテクノロジ固有の作業表オプションを上書きする場合はこのオプションを使用します。空白のままにすると、次のオプション値が使用されます。 Oracle: NOLOGGING DB2 UDB: NOT LOGGED INITIALLY Teradata: no fallback, no before journal, no after journal |
TERADATA_WORK_TABLE_TYPE |
Teradata作業表タイプ。 作業表についてSETまたはMULTISET表を使用します。 |
TERADATA_OUTPUT_METHOD |
Teradataのロード方法。 Teradataコネクタがデータをロードする方法を指定します。有効な値は次のとおりです。
詳細は、ClouderaのTeradata Connectors User Guideを参照してください。 |
TEMP_DIR |
一時ファイルのローカル・ディレクトリ。 一時ファイルの格納に使用するディレクトリ(squoopスクリプト、stdout、stderrリダイレクトなど)です。 システムのデフォルトの一時ディレクトリ(<?=System.getProperty(java.io.tmp")?>)"を使用する場合は空白のままにしておきます。 |
MAPRED_OUTPUT_BASE_DIR |
MapReduce出力ディレクトリ。 このオプションは、SQOOPにより一時ファイル用のサブディレクトリが作成される先のhdfsディレクトリを指定します。作業表に似た名前のサブディレクトリが、一時データを格納するためにここに作成されます。 |
USE_GENERIC_JDBC_CONNECTOR |
SQOOPの汎用JDBCコネクタを使用するかどうか。 SQOOPには、特定のテクノロジに対する固有のコネクタが用意されています。これらのコネクタによってSQL方言が処理され、パフォーマンスが最適化されます。各ターゲット・テクノロジ用のコネクタが存在する場合は、このコネクタを使用する必要があります。そうでない場合、汎用JDBCコネクタが解決策となる場合があります。 |
EXTRA_HADOOP_CONF_PROPERTIES |
オプションの汎用Hadoopプロパティ。 SQOOP file:セクションのHadoopプロパティの追加のオプション・プロパティ。 |
EXTRA_SQOOP_CONF_PROPERTIES |
オプションのSQOOPプロパティ。 SQOOP file:セクションのSQOOPプロパティの追加のオプション・プロパティ。 |
EXTRA_SQOOP_CONNECTOR_CONF_PROPERTIES |
オプションのSQOOPコネクタ・プロパティ。 SQOOP file:セクションのSQOOPコネクタ・プロパティの追加のオプション・プロパティ。 |
このKMは、HiveからのデータをJDBCターゲットに統合します。
次の手順が実行されます。
HDFSにデータをアンロードします。
SQOOP構成ファイルを作成します。
SQOOPを使用してRDBMSの作業表にデータをロードします。
作業表を削除します
次の表は、LKM Hive to SQL SQOOPのオプションについて説明します。
表A-5 LKM Hive to SQL SQOOP
オプション | 説明 |
---|---|
DELETE_TEMPORARY_OBJECTS |
マッピングの最後に一時オブジェクトを削除します。 一時オブジェクト(表、ファイルおよびスクリプト)を統合後保持する場合、このオプションをNO,に設定します。デバッグに便利です。 |
SQOOP_PARALLELISM |
SQOOPパラレル・マッパーの数。 並列度を指定します。より正確にはマッパーの数です。 抽出に使用されるマッパー・プロセスの数を指定します。 SQOOP_PARALLELISM > 1の場合、SPLIT_BYを定義する必要があります。 |
WORK_TABLE_OPTIONS |
作業表オプション。 標準のテクノロジ固有の作業表オプションを上書きする場合はこのオプションを使用します。空白のままにすると、次のオプション値が使用されます。 Oracle: NOLOGGING DB2 UDB: NOT LOGGED INITIALLY Teradata: no fallback, no before journal, no after journal |
TERADATA_WORK_TABLE_TYPE |
Teradata作業表タイプ。 作業表についてSETまたはMULTISET表を使用します。 |
TERADATA_OUTPUT_METHOD |
Teradataのロード方法。 Teradataコネクタがデータをロードする方法を指定します。有効な値は次のとおりです。
詳細は、ClouderaのTeradata Connectors User Guideを参照してください。 |
TEMP_DIR |
一時ファイルのローカル・ディレクトリ。 一時ファイルの格納に使用するディレクトリ(squoopスクリプト、stdout、stderrリダイレクトなど)です。 システムのデフォルトの一時ディレクトリ(<?=System.getProperty(java.io.tmp")?>)"を使用する場合は空白のままにしておきます。 |
MAPRED_OUTPUT_BASE_DIR |
MapReduce出力ディレクトリ。 このオプションは、SQOOPにより一時ファイル用のサブディレクトリが作成される先のhdfsディレクトリを指定します。作業表に似た名前のサブディレクトリが、一時データを格納するためにここに作成されます。 |
USE_GENERIC_JDBC_CONNECTOR |
SQOOPの汎用JDBCコネクタを使用するかどうか。 SQOOPには、特定のテクノロジに対する固有のコネクタが用意されています。これらのコネクタによってSQL方言が処理され、パフォーマンスが最適化されます。各ターゲット・テクノロジ用のコネクタが存在する場合は、このコネクタを使用する必要があります。そうでない場合、汎用JDBCコネクタが解決策となる場合があります。 |
EXTRA_HADOOP_CONF_PROPERTIES |
オプションの汎用Hadoopプロパティ。 SQOOP file:セクションのHadoopプロパティの追加のオプション・プロパティ。 |
EXTRA_SQOOP_CONF_PROPERTIES |
オプションのSQOOPプロパティ。 SQOOP file:セクションのSQOOPプロパティの追加のオプション・プロパティ。 |
EXTRA_SQOOP_CONNECTOR_CONF_PROPERTIES |
オプションのSQOOPコネクタ・プロパティ。 SQOOP file:セクションのSQOOPコネクタ・プロパティの追加のオプション・プロパティ。 |
このKMは、HBaseからのデータをJDBCターゲットに統合します。
次の手順が実行されます。
SQOOP構成ファイルを作成します。
HBase表に対するHive表定義を作成します。
SQOOPを使用してHive (HBase)からRDBMSの作業表にデータをアンロードします。
作業表を削除します。
次の表は、LKM HBase to SQL SQOOPのオプションについて説明します。
表A-6 LKM HBase to SQL SQOOP
オプション | 説明 |
---|---|
DELETE_TEMPORARY_OBJECTS |
マッピングの最後に一時オブジェクトを削除します。 一時オブジェクト(表、ファイルおよびスクリプト)を統合後保持する場合、このオプションをNO,に設定します。デバッグに便利です。デフォルト: true。 |
HIVE_STAGING_LSCHEMA |
Hive-HBase-SerDe表の論理スキーマ名。 HBaseデータからのアンロードはHive経由で行われます。このKMオプションではHiveデータベースが定義され、これはHBaseデータのアンロードのためのHive HBase-SerDe表を作成するのに使用されます。 |
SQOOP_PARALLELISM |
SQOOPパラレル・マッパーの数。 並列度を指定します。より正確にはマッパーの数です。 抽出に使用されるマッパー・プロセスの数を指定します。 SQOOP_PARALLELISM > 1の場合、SPLIT_BYを定義する必要があります。 |
WORK_TABLE_OPTIONS |
作業表オプション。 標準のテクノロジ固有の作業表オプションを上書きする場合はこのオプションを使用します。空白のままにすると、次のオプション値が使用されます。 Oracle: NOLOGGING DB2 UDB: NOT LOGGED INITIALLY Teradata: no fallback, no before journal, no after journal |
TERADATA_WORK_TABLE_TYPE |
Teradata作業表タイプ。 作業表についてSETまたはMULTISET表を使用します。 |
TERADATA_OUTPUT_METHOD |
Teradataのロード方法。 Teradataコネクタがデータをロードする方法を指定します。有効な値は次のとおりです。
詳細は、ClouderaのTeradata Connectors User Guideを参照してください。 |
TEMP_DIR |
一時ファイルのローカル・ディレクトリ。 一時ファイルの格納に使用するディレクトリ(squoopスクリプト、stdout、stderrリダイレクトなど)です。 システムのデフォルトの一時ディレクトリ(<?=System.getProperty(java.io.tmp")?>)"を使用する場合は空白のままにしておきます。 |
MAPRED_OUTPUT_BASE_DIR |
MapReduce出力ディレクトリ。 このオプションは、SQOOPにより一時ファイル用のサブディレクトリが作成される先のhdfsディレクトリを指定します。作業表に似た名前のサブディレクトリが、一時データを格納するためにここに作成されます。 |
USE_GENERIC_JDBC_CONNECTOR |
SQOOPの汎用JDBCコネクタを使用するかどうか。 SQOOPには、特定のテクノロジに対する固有のコネクタが用意されています。これらのコネクタによってSQL方言が処理され、パフォーマンスが最適化されます。各ターゲット・テクノロジ用のコネクタが存在する場合は、このコネクタを使用する必要があります。そうでない場合、汎用JDBCコネクタが解決策となる場合があります。 |
EXTRA_HADOOP_CONF_PROPERTIES |
オプションの汎用Hadoopプロパティ。 SQOOP file:セクションのHadoopプロパティの追加のオプション・プロパティ。 |
EXTRA_SQOOP_CONF_PROPERTIES |
オプションのSQOOPプロパティ。 SQOOP file:セクションのSQOOPプロパティの追加のオプション・プロパティ。 |
EXTRA_SQOOP_CONNECTOR_CONF_PROPERTIES |
オプションのSQOOPコネクタ・プロパティ。 SQOOP file:セクションのSQOOPコネクタ・プロパティの追加のオプション・プロパティ。 |
このKMは、追加または置換(切捨て)モードでHiveターゲット表にデータを統合します。
次の表は、IKM Hive Appendのオプションについて説明します。
HiveのLOAD DATAコマンドを使用した、フラット・ファイル・ステージング領域からHiveへの統合です。
このKMで実行される手順は次のとおりです。
Hiveでフロー表を作成します。
データ・ファイルをHiveに対して宣言します(LOAD DATAコマンド)。
データをHiveステージング表からターゲット表にロードします。
このKMではファイル名のワイルドカード(*、?)を処理できます。
次の表は、LKM File to Hive LOAD DATAのオプションについて説明します。
表A-8 LKM File to Hive LOAD DATA
オプション | 説明 |
---|---|
DELETE_TEMPORARY_OBJECTS |
マッピングの最後に一時オブジェクトを削除します。 一時オブジェクト(表、ファイルおよびスクリプト)を統合後保持する場合、このオプションをNO,に設定します。デバッグに便利です。 |
EXTERNAL_TABLE |
ファイルを元の場所に保持するかどうか。 ターゲット/ステージング表を外部で管理する表として宣言するかどうかを定義します。 デフォルト: false 外部表でない場合、Hiveがすべてのデータ・ファイルを管理します。つまり、すべてのデータ・ファイルが<hive.metastore.warehouse.dir>/<table_name>に移動されます。外部表の場合、Hiveはいずれのファイルの移動も削除も行いません。ODIスキーマで指定されている場所からデータがロードされます。 EXTERNAL_TABLEがtrueに設定されている場合: 物理データ・スキーマで指定されているディレクトリ内のすべてのファイルがロードされます。このため、ソース・データストアのリソース名のファイル名またはワイルドカード情報は無視されます。 ディレクトリ構造およびファイル名は、表のHivesディレクトリ編成(パーティション化やクラスタ化など)に準拠している必要があります。 ディレクトリおよびそのファイルはHDFSに存在する必要があります。 Hive LOAD-DATA文は発行されないため、(ターゲット側の式を使用して)ファイルを特定のパーティションにロードすることはできません。 |
FILE_IS_LOCAL |
ローカル・ファイルかどうか ソース・ファイルをローカル(=現在のHadoopクラスタの外側)とみなすかどうかを定義します。 デフォルト: true FILE_IS_LOCALをtrueに設定した場合、データ・ファイルは最初にHadoopクラスタにコピーされます。 FILE_IS_LOCALをfalseに設定した場合、データ・ファイルはHadoopクラスタに移動され、ソースの場所では使用できなくなります。ソース・ファイルがすでにHDFSに存在する場合、FILE_IS_LOCAL=falseに設定すると、ファイル名の変更が行われるのみなので、操作は非常に高速で行われます。このオプションは、EXTERNAL_TABLEがfalseに設定されている場合にのみ適用されます。 |
STOP_ON_FILE_NOT_FOUND |
入力ファイルが見つからなかった場合に停止するかどうか。 このチェック・ボックス・オプションは、入力ファイルが見つからない場合にKMを停止するかどうかを定義します。 |
OVERRIDE_ROW_FORMAT |
カスタムの行形式句です。 このオプションでは、ステージング表(USE_STAGE_TABLEがtrueに設定されている場合)またはターゲット表(USE_STAGE_TABLEがfalseに設定されている場合)のHive行形式定義全体のオーバーライドを許可します。行形式を定義するのに使用されるテキストが含まれます。 Apache Combined WebLogファイルを読み取る例を次に示します。 ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe' <EOL>WITH SERDEPROPERTIES ( <EOL> input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) (-|\\[[^\\]]*\\]) ([^ \"]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*) (\".*?\") (\".*?\") (\".*?\")" |
HiveのLOAD DATAコマンドを使用した、ステージングなしでのフラット・ファイルからHiveへの直接統合です。
これはダイレクト・ロードLKMであり、IKMなしで使用する必要があります。
このKMではファイル名のワイルドカード(*、?)を処理できます。
次の表は、LKM File to Hive LOAD DATA Directのオプションについて説明します。
表A-9 LKM File to Hive LOAD DATA Direct
オプション | 説明 |
---|---|
CREATE_TARG_TABLE |
ターゲット表を作成します。 ターゲット表を作成する場合、このオプションを選択します。 |
TRUNCATE |
すべてのターゲット表データを置き換えます。 ターゲット表の内容を新しいデータで置き換える場合は、このオプションをtrueに設定します。 |
DELETE_TEMPORARY_OBJECTS |
マッピングの最後に一時オブジェクトを削除します。 一時オブジェクト(表、ファイルおよびスクリプト)を統合後保持する場合、このオプションをNO,に設定します。デバッグに便利です。 |
EXTERNAL_TABLE |
ファイルを元の場所に保持するかどうか。 ターゲット/ステージング表を外部で管理する表として宣言するかどうかを定義します。 デフォルト: false 外部表でない場合、Hiveがすべてのデータ・ファイルを管理します。つまり、すべてのデータ・ファイルが<hive.metastore.warehouse.dir>/<table_name>に移動されます。外部表の場合、Hiveはいずれのファイルの移動も削除も行いません。ODIスキーマで指定されている場所からデータがロードされます。 EXTERNAL_TABLEがtrueに設定されている場合: 物理データ・スキーマで指定されているディレクトリ内のすべてのファイルがロードされます。このため、ソース・データストアのリソース名のファイル名またはワイルドカード情報は無視されます。 ディレクトリ構造およびファイル名は、表のHivesディレクトリ編成(パーティション化やクラスタ化など)に準拠している必要があります。 ディレクトリおよびそのファイルはHDFSに存在する必要があります。 Hive LOAD-DATA文は発行されないため、(ターゲット側の式を使用して)ファイルを特定のパーティションにロードすることはできません。 |
FILE_IS_LOCAL |
ローカル・ファイルかどうか ソース・ファイルをローカル(=現在のHadoopクラスタの外側)とみなすかどうかを定義します。 デフォルト: true FILE_IS_LOCALをtrueに設定した場合、データ・ファイルは最初にHadoopクラスタにコピーされます。 FILE_IS_LOCALをfalseに設定した場合、データ・ファイルはHadoopクラスタに移動され、ソースの場所では使用できなくなります。ソース・ファイルがすでにHDFSに存在する場合、FILE_IS_LOCAL=falseに設定すると、ファイル名の変更が行われるのみなので、操作は非常に高速で行われます。このオプションは、EXTERNAL_TABLEがfalseに設定されている場合にのみ適用されます。 |
STOP_ON_FILE_NOT_FOUND |
入力ファイルが見つからなかった場合に停止するかどうか。 このチェック・ボックス・オプションは、入力ファイルが見つからない場合にKMを停止するかどうかを定義します。 |
OVERRIDE_ROW_FORMAT |
カスタムの行形式句です。 このオプションでは、ステージング表(USE_STAGE_TABLEがtrueに設定されている場合)またはターゲット表(USE_STAGE_TABLEがfalseに設定されている場合)のHive行形式定義全体のオーバーライドを許可します。行形式を定義するのに使用されるテキストが含まれます。 Apache Combined WebLogファイルを読み取る例を次に示します。 ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe' <EOL>WITH SERDEPROPERTIES ( <EOL> input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) (-|\\[[^\\]]*\\]) ([^ \"]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*) (\".*?\") (\".*?\") (\".*?\")" |
このLKMは、HiveからHBase表への読取りアクセスを提供します。
これは、HBaseソース表の関連するすべての列を表す、Hiveに関する一時ロード表定義を定義することによって実現されます。
このLKMは、HiveからHBaseにデータをロードし、新しい行の挿入および既存のデータの更新をサポートしています。
これはダイレクト・ロードLKMであり、IKMなしで使用する必要があります。
次の表は、LKM Hive to HBase Incremental Update HBASE-SERDE Directのオプションについて説明します。
表A-10 LKM Hive to HBase Incremental Update HBASE-SERDE Direct
オプション | 説明 |
---|---|
CREATE_TARG_TABLE |
ターゲット表を作成します。 ターゲット表を作成する場合、このオプションを選択します。 |
TRUNCATE |
すべてのターゲット表データを置き換えます。 ターゲット表の内容を新しいデータで置き換える場合は、このオプションをtrueに設定します。 |
HBASE_WAL |
ログ先行書込みを無効化します。 HBaseではデータ損失を防ぐためにログ先行書込みを使用します。パフォーマンスを向上させるためには、WALを無効にできます。この設定は、このセッションにおいてその後実行されるすべてのHiveコマンドに適用されますので注意してください。 |
DELETE_TEMPORARY_OBJECTS |
マッピングの最後に一時オブジェクトを削除します。 一時オブジェクト(表、ファイルおよびスクリプト)を統合後保持する場合、このオプションをNO,に設定します。デバッグに便利です。 |
このLKMは、Hiveからフラット・ファイルにデータをアンロードします。
これはダイレクト・ロードLKMであり、IKMなしで使用する必要があります。
次の表は、LKM Hive to File Directのオプションについて説明します。
このXKMは式を使用してデータをソートします。
次の表は、XKM Hive Sortのオプションについて説明します。
このKMは、Oracle Loader for Hadoop (OLH)やOracle SQL Connector for Hadoop (OSCH)を使用して、HDFSファイルからOracleステージング表にデータを統合します。
このKMではファイル名のワイルドカード(*、?)を処理できます。
次の表は、LKM File to Oracle OLH-OSCHのオプションについて説明します。
表A-13 LKM Hive to Oracle OLH-OSCH
オプション | 説明 |
---|---|
DELETE_TEMPORARY_OBJECTS |
マッピングの最後に一時オブジェクトを削除します。 一時オブジェクト(表、ファイルおよびスクリプト)を統合後保持する場合、このオプションをNO,に設定します。デバッグに便利です。 |
OLH_OUTPUT_MODE |
データをOracleにどのように転送するか。 このオプションは、HadoopデータをOracleにロードする方法を指定します。指定できる値は、JDBC、OCI、DP_COPY|DP_OSCHおよびOSCHです。
|
REJECT_LIMIT |
OLH/EXTTABのエラーの最大数。 ファイルに記録されるエラーの最大許容数を入力します。たとえば、UNLIMITEDを指定すると、すべてのエラーを除外します。整数です(10と指定すると10件の拒否が許容されます)。 この値はOLHジョブ定義および外部表定義で使用されます。 |
EXT_TAB_DIR_LOCATION |
外部表データ・ファイルのディレクトリ。 外部表のファイル・システム・パスです。 注意:
|
WORK_TABLE_OPTIONS |
フロー表作成用のオプション。 このオプションは作成時に統合表の属性を指定するもので、パフォーマンス向上のために使用します。 このオプションは、デフォルトでNOLOGGINGに設定されます。 このオプションは空のままにしておくこともできます。 |
OVERRIDE_INPUTFORMAT |
InputFormatのクラス名。 デフォルトでは、InputFormatクラスはソースのデータストア/テクノロジ(DelimitedTextInputFormatまたはHiveToAvroInputFormat)から導出されます。このオプションを使用すると、ユーザーはカスタムInputFormatのクラス名を指定できます。 デフォルト: <empty>。 OLH_OUTPUT_MODE=OSCHと一緒に使用することはできません。 たとえば、Webログ・ファイルのようなカスタム・ファイル形式を読み取る場合、値oracle.hadoop.loader.lib.input.RegexInputFormatを割り当てることによりOLH RegexInputFormatを使用できます。 正規表現の指定方法の詳細は、KMオプションの「EXTRA_OLH_CONF_PROPERTIES」を参照してください。 |
EXTRA_OLH_CONF_PROPERTIES |
オプションの追加OLHプロパティ。 OLHへの追加パラメータの追加を許可します。デフォルトのOLH日付書式の変更の例: <property> <name>oracle.hadoop.loader.defaultDateFormat</name> <value>yyyy-MM-dd HH:mm:ss</value> </property> 特に、カスタムInputFormatを使用する場合(詳細はKMオプション「OVERRIDE_INPUTFORMAT」を参照)、InputFormatに追加の構成パラメータが必要となることがあります。これらは、OLH構成ファイル内に提供されています。このKMオプションを使用すると、追加のプロパティをOLH構成ファイルに追加できます。デフォルト: <empty> OLH_OUTPUT_MODE=OSCHと一緒に使用することはできません 例(Apache Weblogファイル形式のロード): カスタム・ファイル形式の読取りにOLH RegexInputFormatを使用する場合、このKMオプションにより正規表現およびその他の解析詳細を指定します。 <property> <name>oracle.hadoop.loader.input.regexPattern</name> <value>([^ ]*) ([^ ]*) ([^ ]*) (-|\[[^\]]*\]) ([^ \]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*) (\".*?\") (\".*?\") (\".*?\")</value> <description>RegEx for Apache WebLog format</description> </property>" |
MAPRED_OUTPUT_BASE_DIR |
MapReduce出力ディレクトリ。 このオプションは、SQOOPにより一時ファイル用のサブディレクトリが作成される先のhdfsディレクトリを指定します。作業表に似た名前のサブディレクトリが、一時データを格納するためにここに作成されます。 |
TEMP_DIR |
一時ファイルのローカル・ディレクトリ。 一時ファイルの格納に使用するディレクトリ(squoopスクリプト、stdout、stderrリダイレクトなど)です。 システムのデフォルトの一時ディレクトリ(<?=System.getProperty(java.io.tmp")?>)"を使用する場合は空白のままにしておきます。 |
このKMは、Oracle Loader for Hadoop (OLH)やOracle SQL Connector for Hadoop (OSCH)を使用して、HDFSファイルからOracleターゲットにデータを統合します。
このKMではファイル名のワイルドカード(*、?)を処理できます。
これは(ステージングなしの)ダイレクト・ロードLKMであり、IKMなしで使用する必要があります。
次の表は、LKM File to Oracle OLH-OSCH Directのオプションについて説明します。
表A-14 LKM File to Oracle OLH-OSCH Direct
オプション | 説明 |
---|---|
CREATE_TARG_TABLE |
ターゲット表を作成します。 ターゲット表を作成する場合、このオプションを選択します。 |
TRUNCATE |
すべてのターゲット表データを置き換えます。 ターゲット表の内容を新しいデータで置き換える場合は、このオプションをtrueに設定します。 |
DELETE_ALL |
すべての行を削除します。 ターゲット表の内容を新しいデータで置き換える場合は、このオプションをtrueに設定します。 |
DELETE_TEMPORARY_OBJECTS |
マッピングの最後に一時オブジェクトを削除します。 一時オブジェクト(表、ファイルおよびスクリプト)を統合後保持する場合、このオプションをNO,に設定します。デバッグに便利です。 |
OLH_OUTPUT_MODE |
データをOracleにどのように転送するか。 このオプションは、HadoopデータをOracleにロードする方法を指定します。指定できる値は、JDBC、OCI、DP_COPY|DP_OSCHおよびOSCHです。
|
REJECT_LIMIT |
OLH/EXTTABのエラーの最大数。 ファイルに記録されるエラーの最大許容数を入力します。たとえば、UNLIMITEDを指定すると、すべてのエラーを除外します。整数です(10と指定すると10件の拒否が許容されます)。 この値はOLHジョブ定義および外部表定義で使用されます。 |
EXT_TAB_DIR_LOCATION |
外部表データ・ファイルのディレクトリ。 外部表のファイル・システム・パスです。 注意:
|
WORK_TABLE_OPTIONS |
フロー表作成用のオプション。 このオプションは作成時に統合表の属性を指定するもので、パフォーマンス向上のために使用します。 このオプションは、デフォルトでNOLOGGINGに設定されます。 このオプションは空のままにしておくこともできます。 |
OVERRIDE_INPUTFORMAT |
InputFormatのクラス名。 デフォルトでは、InputFormatクラスはソースのデータストア/テクノロジ(DelimitedTextInputFormatまたはHiveToAvroInputFormat)から導出されます。このオプションを使用すると、ユーザーはカスタムInputFormatのクラス名を指定できます。 デフォルト: <empty>。 OLH_OUTPUT_MODE=OSCHと一緒に使用することはできません。 たとえば、Webログ・ファイルのようなカスタム・ファイル形式を読み取る場合、値oracle.hadoop.loader.lib.input.RegexInputFormatを割り当てることによりOLH RegexInputFormatを使用できます。 正規表現の指定方法の詳細は、KMオプションの「EXTRA_OLH_CONF_PROPERTIES」を参照してください。 |
EXTRA_OLH_CONF_PROPERTIES |
オプションの追加OLHプロパティ。 OLHへの追加パラメータの追加を許可します。デフォルトのOLH日付書式の変更の例: <property> <name>oracle.hadoop.loader.defaultDateFormat</name> <value>yyyy-MM-dd HH:mm:ss</value> </property> 特に、カスタムInputFormatを使用する場合(詳細はKMオプション「OVERRIDE_INPUTFORMAT」を参照)、InputFormatに追加の構成パラメータが必要となることがあります。これらは、OLH構成ファイル内に提供されています。このKMオプションを使用すると、追加のプロパティをOLH構成ファイルに追加できます。デフォルト: <empty> OLH_OUTPUT_MODE=OSCHと一緒に使用することはできません 例(Apache Weblogファイル形式のロード): カスタム・ファイル形式の読取りにOLH RegexInputFormatを使用する場合、このKMオプションにより正規表現およびその他の解析詳細を指定します。 <property> <name>oracle.hadoop.loader.input.regexPattern</name> <value>([^ ]*) ([^ ]*) ([^ ]*) (-|\[[^\]]*\]) ([^ \]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*) (\".*?\") (\".*?\") (\".*?\")</value> <description>RegEx for Apache WebLog format</description> </property>" |
MAPRED_OUTPUT_BASE_DIR |
MapReduce出力ディレクトリ。 このオプションは、SQOOPにより一時ファイル用のサブディレクトリが作成される先のhdfsディレクトリを指定します。作業表に似た名前のサブディレクトリが、一時データを格納するためにここに作成されます。 |
TEMP_DIR |
一時ファイルのローカル・ディレクトリ。 一時ファイルの格納に使用するディレクトリ(squoopスクリプト、stdout、stderrリダイレクトなど)です。 システムのデフォルトの一時ディレクトリ(<?=System.getProperty(java.io.tmp")?>)"を使用する場合は空白のままにしておきます。 |
このKMは、Oracle Loader for Hadoop (OLH)やOracle SQL Connector for Hadoop (OSCH)を使用して、Hive問合せからOracleステージング表にデータを統合します。
次の表は、LKM Hive to Oracle OLH-OSCHのオプションについて説明します。
表A-15 LKM Hive to Oracle OLH-OSCH
オプション | 説明 |
---|---|
USE_HIVE_STAGING_TABLE |
中間Hiveステージング表を使用するかどうか。 デフォルトでは、Hiveソース・データはOLHによる抽出の前にHiveステージング表にマテリアライズされます。USE_HIVE_STAGING_TABLEをfalseに設定した場合、OLHは直接Hiveソース・データにアクセスします。 USE_HIVE_STAGING_TABLE=0に設定できるのは、次のすべての条件に該当する場合のみです。
|
DELETE_TEMPORARY_OBJECTS |
マッピングの最後に一時オブジェクトを削除します。 一時オブジェクト(表、ファイルおよびスクリプト)を統合後保持する場合、このオプションをNO,に設定します。デバッグに便利です。 |
OLH_OUTPUT_MODE |
データをOracleにどのように転送するか。 このオプションは、HadoopデータをOracleにロードする方法を指定します。指定できる値は、JDBC、OCI、DP_COPY|DP_OSCHおよびOSCHです。
|
REJECT_LIMIT |
OLH/EXTTABのエラーの最大数。 ファイルに記録されるエラーの最大許容数を入力します。たとえば、UNLIMITEDを指定すると、すべてのエラーを除外します。整数です(10と指定すると10件の拒否が許容されます)。 この値はOLHジョブ定義および外部表定義で使用されます。 |
EXT_TAB_DIR_LOCATION |
外部表データ・ファイルのディレクトリ。 外部表のファイル・システム・パスです。 注意:
|
WORK_TABLE_OPTIONS |
フロー表作成用のオプション。 このオプションは作成時に統合表の属性を指定するもので、パフォーマンス向上のために使用します。 このオプションは、デフォルトでNOLOGGINGに設定されます。 このオプションは空のままにしておくこともできます。 |
OVERRIDE_INPUTFORMAT |
InputFormatのクラス名。 デフォルトでは、InputFormatクラスはソースのデータストア/テクノロジ(DelimitedTextInputFormatまたはHiveToAvroInputFormat)から導出されます。このオプションを使用すると、ユーザーはカスタムInputFormatのクラス名を指定できます。 デフォルト: <empty>。 OLH_OUTPUT_MODE=OSCHと一緒に使用することはできません。 たとえば、Webログ・ファイルのようなカスタム・ファイル形式を読み取る場合、値oracle.hadoop.loader.lib.input.RegexInputFormatを割り当てることによりOLH RegexInputFormatを使用できます。 正規表現の指定方法の詳細は、KMオプションの「EXTRA_OLH_CONF_PROPERTIES」を参照してください。 |
EXTRA_OLH_CONF_PROPERTIES |
オプションの追加OLHプロパティ。 OLHへの追加パラメータの追加を許可します。デフォルトのOLH日付書式の変更の例: <property> <name>oracle.hadoop.loader.defaultDateFormat</name> <value>yyyy-MM-dd HH:mm:ss</value> </property> 特に、カスタムInputFormatを使用する場合(詳細はKMオプション「OVERRIDE_INPUTFORMAT」を参照)、InputFormatに追加の構成パラメータが必要となることがあります。これらは、OLH構成ファイル内に提供されています。このKMオプションを使用すると、追加のプロパティをOLH構成ファイルに追加できます。デフォルト: <empty> OLH_OUTPUT_MODE=OSCHと一緒に使用することはできません 例(Apache Weblogファイル形式のロード): カスタム・ファイル形式の読取りにOLH RegexInputFormatを使用する場合、このKMオプションにより正規表現およびその他の解析詳細を指定します。 <property> <name>oracle.hadoop.loader.input.regexPattern</name> <value>([^ ]*) ([^ ]*) ([^ ]*) (-|\[[^\]]*\]) ([^ \]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*) (\".*?\") (\".*?\") (\".*?\")</value> <description>RegEx for Apache WebLog format</description> </property>" |
MAPRED_OUTPUT_BASE_DIR |
MapReduce出力ディレクトリ。 このオプションは、SQOOPにより一時ファイル用のサブディレクトリが作成される先のhdfsディレクトリを指定します。作業表に似た名前のサブディレクトリが、一時データを格納するためにここに作成されます。 |
TEMP_DIR |
一時ファイルのローカル・ディレクトリ。 一時ファイルの格納に使用するディレクトリ(squoopスクリプト、stdout、stderrリダイレクトなど)です。 システムのデフォルトの一時ディレクトリ(<?=System.getProperty(java.io.tmp")?>)"を使用する場合は空白のままにしておきます。 |
このKMは、Oracle Loader for Hadoop (OLH)やOracle SQL Connector for Hadoop (OSCH)を使用して、Hive問合せからOracleターゲットにデータを統合します。
これはダイレクト・ロードLKMであり、IKMなしで使用する必要があります。
次の表は、LKM Hive to Oracle OLH-OSCHのオプションについて説明します。
表A-16 LKM Hive to Oracle OLH-OSCH
オプション | 説明 |
---|---|
CREATE_TARG_TABLE |
ターゲット表を作成します。 ターゲット表を作成する場合、このオプションを選択します。 |
TRUNCATE |
すべてのターゲット表データを置き換えます。 ターゲット表の内容を新しいデータで置き換える場合は、このオプションをtrueに設定します。 |
DELETE_ALL |
すべての行を削除します。 ターゲット表の内容を新しいデータで置き換える場合は、このオプションをtrueに設定します。 |
USE_HIVE_STAGING_TABLE |
中間Hiveステージング表を使用するかどうか。 デフォルトでは、Hiveソース・データはOLHによる抽出の前にHiveステージング表にマテリアライズされます。USE_HIVE_STAGING_TABLEをfalseに設定した場合、OLHは直接Hiveソース・データにアクセスします。 USE_HIVE_STAGING_TABLE=0に設定できるのは、次のすべての条件に該当する場合のみです。
|
DELETE_TEMPORARY_OBJECTS |
マッピングの最後に一時オブジェクトを削除します。 一時オブジェクト(表、ファイルおよびスクリプト)を統合後保持する場合、このオプションをNO,に設定します。デバッグに便利です。 |
OLH_OUTPUT_MODE |
データをOracleにどのように転送するか。 このオプションは、HadoopデータをOracleにロードする方法を指定します。指定できる値は、JDBC、OCI、DP_COPY|DP_OSCHおよびOSCHです。
|
REJECT_LIMIT |
OLH/EXTTABのエラーの最大数。 ファイルに記録されるエラーの最大許容数を入力します。たとえば、UNLIMITEDを指定すると、すべてのエラーを除外します。整数です(10と指定すると10件の拒否が許容されます)。 この値はOLHジョブ定義および外部表定義で使用されます。 |
EXT_TAB_DIR_LOCATION |
外部表データ・ファイルのディレクトリ。 外部表のファイル・システム・パスです。 注意:
|
WORK_TABLE_OPTIONS |
フロー表作成用のオプション。 このオプションは作成時に統合表の属性を指定するもので、パフォーマンス向上のために使用します。 このオプションは、デフォルトでNOLOGGINGに設定されます。 このオプションは空のままにしておくこともできます。 |
OVERRIDE_INPUTFORMAT |
InputFormatのクラス名。 デフォルトでは、InputFormatクラスはソースのデータストア/テクノロジ(DelimitedTextInputFormatまたはHiveToAvroInputFormat)から導出されます。このオプションを使用すると、ユーザーはカスタムInputFormatのクラス名を指定できます。 デフォルト: <empty>。 OLH_OUTPUT_MODE=OSCHと一緒に使用することはできません。 たとえば、Webログ・ファイルのようなカスタム・ファイル形式を読み取る場合、値oracle.hadoop.loader.lib.input.RegexInputFormatを割り当てることによりOLH RegexInputFormatを使用できます。 正規表現の指定方法の詳細は、KMオプションの「EXTRA_OLH_CONF_PROPERTIES」を参照してください。 |
EXTRA_OLH_CONF_PROPERTIES |
オプションの追加OLHプロパティ。 OLHへの追加パラメータの追加を許可します。デフォルトのOLH日付書式の変更の例: <property> <name>oracle.hadoop.loader.defaultDateFormat</name> <value>yyyy-MM-dd HH:mm:ss</value> </property> 特に、カスタムInputFormatを使用する場合(詳細はKMオプション「OVERRIDE_INPUTFORMAT」を参照)、InputFormatに追加の構成パラメータが必要となることがあります。これらは、OLH構成ファイル内に提供されています。このKMオプションを使用すると、追加のプロパティをOLH構成ファイルに追加できます。デフォルト: <empty> OLH_OUTPUT_MODE=OSCHと一緒に使用することはできません 例(Apache Weblogファイル形式のロード): カスタム・ファイル形式の読取りにOLH RegexInputFormatを使用する場合、このKMオプションにより正規表現およびその他の解析詳細を指定します。 <property> <name>oracle.hadoop.loader.input.regexPattern</name> <value>([^ ]*) ([^ ]*) ([^ ]*) (-|\[[^\]]*\]) ([^ \]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*) (\".*?\") (\".*?\") (\".*?\")</value> <description>RegEx for Apache WebLog format</description> </property>" |
MAPRED_OUTPUT_BASE_DIR |
MapReduce出力ディレクトリ。 このオプションは、SQOOPにより一時ファイル用のサブディレクトリが作成される先のhdfsディレクトリを指定します。作業表に似た名前のサブディレクトリが、一時データを格納するためにここに作成されます。 |
TEMP_DIR |
一時ファイルのローカル・ディレクトリ。 一時ファイルの格納に使用するディレクトリ(squoopスクリプト、stdout、stderrリダイレクトなど)です。 システムのデフォルトの一時ディレクトリ(<?=System.getProperty(java.io.tmp")?>)"を使用する場合は空白のままにしておきます。 |
RKMでは、次のメタデータ要素がリバースされます。
Oracle Data IntegratorデータストアとしてのHive表とビュー。
「マスク」フィールドでリバース・マスクを指定し、リバースする表とビューを選択します。「リバース・エンジニアリング」タブの「マスク」フィールドで、リバースエンジニアリングされるオブジェクトが名前に基づいてフィルタ処理されます。「マスク」フィールドは空にできず、少なくともパーセント記号(%)を含める必要があります。
Oracle Data Integrator属性としてのHive列およびそれらのデータ型。
バケット、パーティション化、クラスタおよびソート列に関する情報は、Oracle Data Integratorデータ・ストアの各フレックス・フィールドまたは列メタデータで設定されます。
RKM HBaseでは、次のメタデータ要素がリバースされます。
Oracle Data IntegratorデータストアとしてのHBase表。
「マスク」フィールドでリバース・マスクを指定し、リバースする表を選択します。「リバース・エンジニアリング」タブの「マスク」フィールドで、リバースエンジニアリングされるオブジェクトが名前に基づいてフィルタ処理されます。「マスク」フィールドは空にできず、少なくともパーセント記号(%)を含める必要があります。
Oracle Data Integrator属性としてのHBase列およびそれらのデータ型。
Oracle Data Integrator属性としてのHBase一意行キー(key
)。
注意: このRKMではロギングにoracle.odi.km ロガーを使用します。次に示すように、ODI-logging-config.xml でoracle.odi.km ロガーのログ・レベルをTRACE:16に変更することによりロギングを有効化できます。
<logger name="oracle.odi.km" level="TRACE:16" useParentHandlers="true"/>
<logger name="oracle.odi.studio.message.logger.proxy" level="TRACE:16" useParentHandlers="false"/>
ODIのロギングの構成の詳細は、Oracle Data Integratorの管理のODIコンポーネントのランタイム・ロギングを参照してください。 |
次の表に、RKM HBaseのオプションを示します。
表A-17 RKM HBaseのオプション
オプション | 説明 |
---|---|
表のリバース中にスキャンされる行の最大数を指定します。デフォルト値は |
|
スキャンを開始する行のキーを指定します。デフォルトでは、スキャンは1行目から開始されます。行キーは、 |
|
スキャンを終了する行のキーを指定します。デフォルトでは、スキャンは表の最後の行まで、または
|
|
スキャンを、名前がこのパターンと一致する列ファミリに制限します。SQLライクなワイルドカードであるパーセント( |
注意: このKMは非推奨であり、下位互換性のみを目的として使用されます。
IKM File to Hive (Load Data)では、次のものがサポートされます。
1つ以上の入力ファイル。複数のソース・ファイルをロードするには、ファイル・データストアのリソース名でワイルドカード文字としてアスタリスクまたは疑問符を入力します(例: webshop_*.log
)。
固定長
デリミタ付き
カスタマイズされた形式
即時または遅延ロード
上書きまたは追加
Hive外部表
次の表は、IKM File to Hive (Load Data)のオプションについて説明します。詳細は、ナレッジ・モジュールを参照してください。
表A-18 IKM File to Hiveのオプション
オプション | 説明 |
---|---|
ターゲット表を作成する場合は、このオプションを選択します。 |
|
ターゲット表/パーティションの内容を新しいデータで置き換える場合は、このオプションをtrueに設定します。そうしない場合、新しいデータはターゲット表に追加されます。 |
|
ソース・ファイルをローカル(現在のHadoopクラスタの外側)とみなすかどうかを定義します。このオプションを このオプションは、 |
|
ターゲット/ステージング表を外部で管理する表として宣言するかどうかを定義します。外部表でない場合、Hiveがすべてのデータ・ファイルを管理します。つまり、すべてのデータ・ファイルが このオプションを
|
|
中間ステージング表を作成するかどうかを定義します。 次の場合は、Hiveステージング表が必要です。
前述のいずれにも |
|
統合後に表、ファイル、スクリプトなどの一時オブジェクトを削除します。デバッグなどに使用できるよう一時ファイルを保持する場合は、このオプションを |
|
ステージング表として宣言されているファイルを今すぐターゲット表にロードするか、後で実行時にロードするかを定義します。指定できる値は、 このオプションは、 このオプションの代表的な使用例は、複数のファイルが存在し、それぞれのファイルでデータの再配布/ソートが必要であり、インタフェースを何度もコールしてファイルを収集する場合です。たとえば、1つのパッケージでインタフェースを使用して別々の場所から(多数の小さな)ファイルを取得し、Oracle Data Integrator変数に保存されている場所をターゲット・パーティション列で使用するとします。この場合、最初のインタフェース実行で |
|
ステージング表(
ソース・データストアの列のリストは、正規表現の入力グループのリストと一致している(列の数が同じであり、データ型が適切である)必要があります。 |
|
入力ファイルが見つからない場合にKMを停止するかどうかを定義します。 |
|
|
Hiveバージョンの互換性を指定します。このオプションで指定できる値は、0.7および0.8です。
|
注意: このKMは非推奨であり、下位互換性のみを目的として使用されます。
LKM HBase to Hive (HBase-SerDe)では、次のものがサポートされます。
単一ソースのHBase表。
次の表は、LKM HBase to Hive (HBase-SerDe)のオプションについて説明します。詳細は、ナレッジ・モジュールを参照してください。
注意: このKMは非推奨であり、下位互換性のみを目的として使用されます。
IKM Hive to HBase Incremental Update (HBase-SerDe)では、次のものがサポートされます。
Hiveのフィルタ、結合、データセット、変換および集計
IKM Hive Transformにより生成されたインライン・ビュー
IKM Hive Control Appendにより生成されたインライン・ビュー
次の表は、IKM Hive to HBase Incremental Update (HBase-SerDe)のオプションについて説明します。詳細は、ナレッジ・モジュールを参照してください。
表A-20 IKM Hive to HBase Incremental Update (HBase-SerDe)のオプション
オプション | 説明 |
---|---|
|
HBaseターゲット表を作成します。 |
|
ターゲット表の内容を新しいデータで置換します。このオプションを |
|
データ統合後に表、ファイル、スクリプトなどの一時オブジェクトを削除します。デバッグなどに使用できるよう一時オブジェクトを保持する場合は、このオプションを |
|
HBaseがデータ損失を回避するために使用するWrite-Ahead-Log (WAL)を有効または無効にします。パフォーマンスを向上させるためには、WALを無効にできます。 |
注意: このKMは非推奨であり、下位互換性のみを目的として使用されます。
IKM SQL to Hive-HBase-File (SQOOP)では、次のものがサポートされます。
ステージングでのマッピング
ステージングでの結合
ステージングでのフィルタ式
データセット
ルックアップ
導出表
次の表は、IKM SQL to Hive-HBase-File (SQOOP)のオプションについて説明します。詳細は、ナレッジ・モジュールを参照してください。
表A-21 IKM SQL to Hive-HBase-File (SQOOP)のオプション
オプション | 説明 |
---|---|
|
ターゲット表を作成します。このオプションは、ターゲットがHiveまたはHBaseである場合にのみ適用されます。 |
|
既存のターゲット表の内容を新しいデータで置換します。HiveおよびHBaseターゲットの場合、ターゲット・データが切り捨てられます。ファイル・ターゲットの場合、ターゲット・ディレクトリが削除されます。ファイル・ターゲットの場合は、このオプションを |
|
並列度を指定します。より正確には、抽出に使用されるマッパー・プロセスの数を指定します。
|
|
パラレル抽出のためにソース・データをn個のチャンクに分割する際に使用されるターゲット列を指定します(nは |
|
パラレル抽出のためにソース・データをチャンクに分割する際に、分割列の最小値と最大値が取得されます(KMオプション
コンテキストの独立性を保つため、通常の表名は
|
|
一時ファイルの格納に使用するディレクトリ(sqoopスクリプト、stdout、stderrリダイレクトなど)を指定します。このオプションを空白のままにした場合、次に示すシステムのデフォルトの一時ディレクトリが使用されます。
|
|
SQOOPにより一時ファイル用のサブディレクトリが作成される先のhdfsディレクトリを指定します。作業表に似た名前のサブディレクトリが、一時データを格納するためにここに作成されます。 |
|
データ統合後に表、ファイル、スクリプトなどの一時オブジェクトを削除します。デバッグなどに使用できるよう一時オブジェクトを保持する場合は、このオプションを |
データをHiveターゲット表にロードする前にHive作業表にロードします。このオプションを このオプションを
このオプションを このオプションは、ターゲット・テクノロジがHiveである場合にのみ適用されます。 |
|
ターゲット・テクノロジ用のコネクタが使用できない場合に汎用JDBCコネクタを使用するかどうかを指定します。 SQOOPには、特定のテクノロジに対する固有のコネクタが用意されています。これらのコネクタによってSQL方言が処理され、パフォーマンスが最適化されます。各ターゲット・テクノロジ用のコネクタが存在する場合は、このコネクタを使用する必要があります。存在しない場合は、汎用JDBCコネクタを使用できます。 |
|
|
オプションの汎用Hadoopプロパティ。 |
|
オプションのSQOOPプロパティ。 |
|
オプションのSQOOPコネクタ・プロパティ。 |
注意: このKMは非推奨であり、下位互換性のみを目的として使用されます。
このナレッジ・モジュールは、データを検証および制御し、切捨て/挿入(追加)モードでHiveターゲット表に統合します。無効なデータはエラー表に分離され、再利用できます。IKM Hive Control Appendでは、このナレッジ・モジュールまたはIKM Hive Transformを使用するインライン・ビュー・マッピングがサポートされています。
次の表は、IKM Hive Control Appendのオプションについて説明します。
表A-22 IKM Hive Control Appendのオプション
オプション | 説明 |
---|---|
フロー制御をアクティブにします。 |
|
以前の制御から拒否されたデータをリサイクルします。 |
|
ターゲット・データの挿入または更新後にターゲット表を制御します。 |
|
ターゲット表を作成します。 |
|
ターゲット表の内容を新しいデータで置換します。このオプションを |
|
データ統合後に表、ファイル、スクリプトなどの一時オブジェクトを削除します。デバッグなどに使用できるよう一時オブジェクトを保持する場合は、このオプションを |
|
|
Hiveバージョンの互換性を指定します。このオプションで指定できる値は、0.7および0.8です。
|
注意: このKMは非推奨であり、下位互換性のみを目的として使用されます。
このナレッジ・モジュールは、Hive表のデータ整合性をチェックします。Hiveデータ・ストアの制約の妥当性を検証し、無効なレコードをエラー表に転送します。CKM Hiveは、静的制御およびフロー制御に使用できます。格納されるデータに対するこれらの制約を定義する必要もあります。
次の表は、このチェック・ナレッジ・モジュールのオプションについて説明します。
表A-23 CKM Hiveのオプション
オプション | 説明 |
---|---|
実行前にエラー表を削除します。このオプションを |
|
|
Hiveバージョンの互換性を指定します。このオプションで指定できる値は、0.7および0.8です。
|
注意: このKMは非推奨であり、下位互換性のみを目的として使用されます。
このナレッジ・モジュールは変換を実行します。シェル・スクリプトを使用してデータを変換してから、置換モードを使用してそれをHiveターゲット表に統合します。ナレッジ・モジュールはインライン・ビュー・マッピングをサポートしており、IKM Hive Control Appendのインライン・ビューとして使用できます。
変換スクリプトでは、ソース・データ・ストアで定義されている順序で入力列を読み取る必要があります。マップされたソース列のみが変換に送られます。変換スクリプトで、ターゲット・データストアで定義されている順に出力列を提供する必要があります。
次の表は、この統合ナレッジ・モジュールのオプションについて説明します。
表A-24 IKM Hive Transformのオプション
オプション | 説明 |
---|---|
ターゲット表を作成します。 |
|
データ統合後に表、ファイル、スクリプトなどの一時オブジェクトを削除します。デバッグなどに使用できるよう一時オブジェクトを保持する場合は、このオプションを |
|
変換スクリプトのファイル名を定義します。この変換スクリプトを使用して、入力データが出力構造に変換されます。次のようなローカル・パスとHDFSパスの両方がサポートされています。 ローカル・スクリプトの場所: HDFSスクリプトの場所: 次の要件が満たされていることを確認してください。
KMオプション
|
|
変換スクリプトの内容を定義します。この変換スクリプトを使用して、入力データが出力構造に変換されます。空白のままにした場合、 スクリプトの例(1対1の変換): マップされたすべてのソース列が、タブ区切りデータとして、stdinを介してこのスクリプトにスプールされます。続いて、このunixスクリプトによってデータが変換され、データがstdoutにタブ区切りデータとして書き出されます。このスクリプトでは、ターゲット列と同じ数の出力列を提供する必要があります。 |
|
|
8進表記で先頭にゼロが付く、スクリプト・ファイルに対するUnix/HDFSファイル権限。たとえば、所有者およびグループに対する完全な権限は、0770です。 警告: 0777のような広範囲の権限を使用すると、セキュリティ・リスクが発生します。 ディレクトリ権限の詳細は、 |
ナレッジ・モジュールによる変換スクリプト適用前のデータの分散を可能にするソース列名のカンマ区切りリスト(オプション)を提供します。 |
|
ナレッジ・モジュールによる変換スクリプト適用前のデータのソートを可能にするソース列名のカンマ区切りリスト(オプション)を提供します。 |
|
ナレッジ・モジュールによる変換スクリプト適用後のデータの分散を可能にするターゲット列名のカンマ区切りリスト(オプション)を提供します。 |
|
ナレッジ・モジュールによる変換スクリプト適用後のデータのソートを可能にするターゲット列名のカンマ区切りリスト(オプション)を提供します。 |
注意: このKMは非推奨であり、下位互換性のみを目的として使用されます。
IKM File-Hive to Oracle (OLH-OSCH)は、Oracle Loader for Hadoopを使用してHDFSファイルまたはHiveソースからOracleデータベース・ターゲットにデータを統合します。ナレッジ・モジュールは、マッピング構成および選択されたオプションを使用して、適切なOracle Databaseターゲット・インスタンスを生成します。HiveとHadoopのバージョンは、Oracle Loader for Hadoopの要件に従う必要があります。
関連項目:
|
次の表は、この統合ナレッジ・モジュールのオプションについて説明します。
表A-25 IKM File - Hive to Oracle (OLH-OSCH)
オプション | 説明 |
---|---|
HadoopデータをOracleにロードする方法を指定します。指定できる値は、JDBC、OCI、DP_COPY、DP_OSCHおよびOSCHです。
|
|
|
Oracle Loader for Hadoopおよび外部表のエラーの最大数を指定します。たとえば、 |
ターゲット表を作成します。 |
|
ターゲット表の内容を新しいデータで置換します。 |
|
ターゲット表内のすべてのデータを削除します。 |
|
Oracle Loader for Hadoopで抽出が実行される前に、Hiveソース・データをマテリアライズします。このオプションを
このオプションを このオプションは、ソース・テクノロジがHiveである場合にのみ適用されます。 |
|
中間Oracleデータベース・ステージング表を使用します。 抽出されたデータは、外部表によってOracleで使用可能になります。
このオプションを |
|
外部表のファイル・システム・パスを指定します。以下の点に注意する必要があります。
|
|
一時ファイルの格納に使用するディレクトリ(sqoopスクリプト、stdout、stderrリダイレクトなど)を指定します。このオプションを空白のままにした場合、次に示すシステムのデフォルトの一時ディレクトリが使用されます。
|
|
Oracle Loader for Hadoopジョブで一時ファイル/datapump出力ファイル用のサブディレクトリが作成される先のHDFSディレクトリを指定します。 |
|
作成時に統合表の属性を指定するもので、パフォーマンス向上のために使用します。このオプションは、デフォルトで |
|
データ統合後に表、ファイル、スクリプトなどの一時オブジェクトを削除します。デバッグなどに使用できるよう一時オブジェクトを保持する場合は、このオプションを |
|
デフォルトでは、InputFormatクラスはソースのデータストア/テクノロジ(DelimitedTextInputFormatまたはHiveToAvroInputFormat)から導出されます。このオプションを使用すると、ユーザーはカスタムInputFormatのクラス名を指定できます。 たとえば、Webログ・ファイルのようなカスタム・ファイル形式を読み取る場合、値 正規表現の指定方法の詳細は、KMオプションの「EXTRA_OLH_CONF_PROPERTIES」を参照してください。 |
|
特に、カスタムInputFormatを使用する場合(詳細はKMオプション たとえば、apache Webログ・ファイル形式のロードで、カスタム・ファイル形式の読取りにOLH RegexInputFormatを使用する場合、このKMオプションにより正規表現およびその他の解析詳細を指定します。
|
注意: このKMは非推奨であり、下位互換性のみを目的として使用されます。
IKM File-Hive to SQL (SQOOP)では、次のものがサポートされます。
Hiveのフィルタ、結合、データセット、変換および集計
IKM Hive Control Appendにより生成されたインライン・ビュー
IKM Hive Transformにより生成されたインライン・ビュー
LKM HBase to Hive (HBase SerDe)を使用するHive-HBaseソース表
ファイル・ソース・データ(デリミタ付きファイル形式のみ)
次の表は、この統合ナレッジ・モジュールのオプションについて説明します。
表A-26 IKM File-Hive to SQL (SQOOP)