Data Refinery の Impala に保管されているデータの詳細化

Hadoop クラスター上の Impala の表に保管されたデータを精製します。

前提条件

Hadoop クラスターへの接続を作成します。 『Impala via Execution Engine for Hadoop 接続』を参照してください。

制限

  • Data Refinery フローのソースとターゲット、および Hadoop 環境 は、同じ Hadoop ・システムを参照する必要があります。

  • Hadoop クラスター上で Data Refinery ジョブを実行するには、 Hadoop 環境を使用する必要があります。

  • Impala の場合、 Data Refinery では、Parquet フォーマットのファイルを使用して表に書き込むジョブのみがサポートされます。

  • ターゲット・データ・セットを上書きまたは再作成する場合は、 Impala 表の HDFS ・データ・ディレクトリーに対する write 権限 (具体的には delete 権限) が必要です。

    例えば、 Impala 表の HDFS ・データ・ディレクトリーが /user/hive/warehouse/table_name で、そのディレクトリー内のデータ・ファイルに対する delete 権限がない場合は、次のコマンドを実行して所有者を変更します。

    hdfs dfs -chown -R new_owner:hive /user/hive/warehouse/table_name

  • ターゲットとして外部表で「表の置換」アクションを使用する場合は、外部表が空でなければなりません。

手順

  1. ソース (精製するデータ) の接続済みデータ資産を作成します。

    1. プロジェクト・ページに移動します。
    2. 資産資産 をクリックします。
    3. ソースの選択をクリックしてください。
    4. 「Impala via Execution Engine for Hadoop」接続を選択します。 目的のデータにナビゲートし、「選択」をクリックします。
    5. 名前および説明を入力します。
    6. 「作成」 をクリックします。 資産がプロジェクトの Assets ページに表示されます。
  2. ステップ 1 を繰り返して、Data Refinery フローの出力のターゲット・ファイル に対して、接続済みデータ資産を作成します。

  3. 以下のようにして、Data Refinery フローを作成します。

    1. ステップ 1 で作成したソースの接続済みデータ資産をクリックします。
    2. データの準備 をクリックして、 Data Refinery を開きます。
    3. 操作を適用して、データを精製します。
  4. 出力ファイルのターゲット・ロケーションを変更します。

    1. ツールバーの フロー設定 アイコン フロー設定 をクリックします。 ターゲット・データ・セット タブに移動し、 ターゲットの選択 をクリックします。
    2. データ資産 をクリックし、 ターゲット出力 ・ファイルの接続済み データ資産 を選択して、 次へ(N) をクリックします。
    3. ターゲットと書き込み形式のプロパティーの選択 ウィンドウで、 書き込みモード表のアクション を選択します。
    4. 「保存」 をクリックしてから、 「適用」 をクリックします。
  5. Hadoop 環境で Data Refinery ・フローを実行する ジョブ を作成します。

    1. Data Refinery ツールバーから、 ジョブ アイコン ジョブ・アイコン をクリックし、 ジョブ の保存と作成 を選択します。
    2. 名前と説明を入力します。 Hadoop 環境を選択します。
    3. オプション: 一回限りのスケジュール、または繰り返しのスケジュールを追加します。
    4. ジョブを作成してすぐに実行するか、ジョブを作成して後で実行します。
  6. ジョブの完了後に、Impala メタデータを再同期します。 Hadoop クラスターで、データベース上の impala-shell に接続し、以下のコマンドを実行します。

    REFRESH table_name

既知の問題

Hadoop 環境のトラブルシューティング

詳細はこちら