以前に Db2® Warehouse からインポートされたもの以外のテキスト・ファイルでも、Hadoop から Db2 Warehouse にエクスポートすることができます。
このタスクについて
Db2 Warehouse 上の既存の表構造に適合するテキスト・ファイルが Hadoop 上にある場合は、
それらのファイルを Db2 Warehouse に転送できます。
そのような構造が存在しない場合は、Hadoop 上のテキスト・データの構造と一致するターゲット表を Db2 Warehouse 上に作成してから、ファイルを転送することができます。
fdm.sh スクリプトを使用して、Hadoop からエクスポート操作を実行できます。
.
手順
-
Hadoop 上のテキスト・データの構造を検証します。
- 表が Hive に存在する場合は、describe formatted コマンドを実行します。
この出力には Hive 表定義に関する詳細が含まれます。
- 表が Hive に存在しない場合は、HDFS の場所と、テキスト・ファイルの構造 (フィールド、区切り文字、NULL 表現など) を検査する必要があります。
-
Db2 Warehouse で、データのエクスポート先となる表を検索するか、手動で作成します。
注:
- 表構造は、Hadoop のテキスト・ファイルのデータ構造と同じでなければなりません。
- フィールド区切り文字 (fq.format.fielddelim) の値、およびテキスト列の NULL 表現 (fq.format.null) を検証する必要があります。
この情報は、Hive 表の定義内、またはテキスト・ファイル構造内にあります。
-
Hadoop で、エクスポート構成 XML のために使用可能なテンプレートを編集し、少なくとも以下の値を指定します。
- fq.input.path - このパラメーターは、テキスト・ファイルが置かれている Hadoop の場所のパスを指している必要があります。
- fq.table - このパラメーターは、Db2 Warehouse 上のターゲット表を指している必要があります。
- fq.format.fielddelim - Hive 表定義で
field.delim 情報を検索します。
構成 XML では、文字の ASCII コードを指定する必要があります。
Hive に field.delim の指定がない場合は、デフォルト値の 1 を使用します。
- fq.format.null - Hive 表定義で
serialization.null.format を検索し、XML ファイルに同じ値を指定します。
出力に指定されていない場合は、値を ¥N に設定します。これは、Hadoop のデフォルト値です。
-
その他の必須パラメーターを指定して、XML ファイルを保存します。
-
Hadoop で、以下のコマンドを実行します。
fdm.sh -conf <configuration_file>.xml
ヒント: 必要に応じて、構成ファイルに含まれる任意のパラメーターを
-D パラメーターで上書きできます。以下に例を示します。
fdm.sh -conf fq-export-conf.xml -D fq.table=test -D fq.format.fielddelim=124
タスクの結果
テキスト・ファイルは、Hadoop から、指定された Db2 Warehouse 表に転送されます。