Hadoop からのテキスト・ファイルのエクスポート

以前に Db2® Warehouse からインポートされたもの以外のテキスト・ファイルでも、Hadoop から Db2 Warehouse にエクスポートすることができます。

このタスクについて

Db2 Warehouse 上の既存の表構造に適合するテキスト・ファイルが Hadoop 上にある場合は、 それらのファイルを Db2 Warehouse に転送できます。 そのような構造が存在しない場合は、Hadoop 上のテキスト・データの構造と一致するターゲット表を Db2 Warehouse 上に作成してから、ファイルを転送することができます。

fdm.sh スクリプトを使用して、Hadoop からエクスポート操作を実行できます。 .

手順

  1. Hadoop 上のテキスト・データの構造を検証します。
    • 表が Hive に存在する場合は、describe formatted コマンドを実行します。 この出力には Hive 表定義に関する詳細が含まれます。
    • 表が Hive に存在しない場合は、HDFS の場所と、テキスト・ファイルの構造 (フィールド、区切り文字、NULL 表現など) を検査する必要があります。
  2. Db2 Warehouse で、データのエクスポート先となる表を検索するか、手動で作成します。
    注:
    1. 表構造は、Hadoop のテキスト・ファイルのデータ構造と同じでなければなりません。
    2. フィールド区切り文字 (fq.format.fielddelim) の値、およびテキスト列の NULL 表現 (fq.format.null) を検証する必要があります。 この情報は、Hive 表の定義内、またはテキスト・ファイル構造内にあります。
  3. 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 のデフォルト値です。
  4. その他の必須パラメーターを指定して、XML ファイルを保存します。
  5. 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 表に転送されます。