すべてのプロダクト
Search
ドキュメントセンター

Dataphin:Hive 出力コンポーネントを構成する

最終更新日:Jul 08, 2025

Hive 出力コンポーネントは、Hive データソースにデータを書き込みます。他のデータソースから Hive データソースにデータを同期する場合、ソースデータソース情報を構成した後、ターゲット Hive データソースを構成する必要があります。このトピックでは、Hive 出力コンポーネントを構成する方法について説明します。

制限事項

Hive 出力コンポーネントは、orcparquettextHudi(Hudi 形式は Cloudera Data Platform 7.x Hive 計算ソースまたはデータソースのみをサポート)、iceberg(iceberg 形式は E-MapReduce 5.x Hive 計算ソースまたはデータソースのみをサポート)のファイル形式を持つ Hive データテーブルへの書き込みをサポートしています。ORC 形式のトランザクショナルテーブルまたは Kudu テーブル統合はサポートしていません。

説明

Kudu テーブルデータ統合の場合は、Impala 出力コンポーネントを使用します。詳細については、「Impala 出力コンポーネントを構成するImpala 出力コンポーネントを構成する」をご参照ください。

前提条件

  • Hive データソースを作成済みであること。詳細については、「Hive データソースを作成する」をご参照ください。

  • Hive 出力コンポーネントのプロパティを構成するために使用するアカウントは、データソースに対するリードスルー権限を持っている必要があります。権限がない場合は、データソース権限をリクエストする必要があります。詳細については、「データソース権限をリクエストする」をご参照ください。

手順

  1. Dataphin ホームページの上部ナビゲーションバーで、[開発] > [Data Integration] を選択します。

  2. 統合ページの上部のナビゲーションバーで、[プロジェクト] を選択します (Dev-Prod モードでは、[環境] を選択する必要があります)。

  3. 左側のナビゲーションウィンドウで [バッチパイプライン] をクリックし、[バッチパイプライン] リストで開発対象の オフラインパイプライン をクリックして、オフラインパイプラインの構成ページを開きます。

  4. ページの右上隅にある [コンポーネントライブラリ] をクリックして、[コンポーネントライブラリ] パネルを開きます。

  5. [コンポーネントライブラリ] パネルの左側のナビゲーションウィンドウで、[出力] を選択し、右側の出力コンポーネントリストで [Hive] コンポーネントを見つけて、キャンバスにドラッグします。

  6. ターゲット入力、変換、またはフローコンポーネントの image アイコンをクリックしてドラッグし、現在の Hive 出力コンポーネントに接続します。

  7. Hive 出力コンポーネントカードの image アイコンをクリックして、[Hive 出力構成] ダイアログボックスを開きます。image

  8. [Hive 出力構成] ダイアログボックスで、パラメーターを構成します。

    Hive テーブルと Hudi テーブルに必要なパラメーターは異なります。

    出力ターゲットテーブルが Hive テーブルの場合

    パラメーター

    説明

    基本設定

    ステップ名

    Hive 出力コンポーネントの名前。Dataphin は自動的にステップ名を生成しますが、ビジネスシナリオに基づいて変更できます。名前は次の要件を満たしている必要があります。

    • 中国語、英字、アンダースコア(_)、数字のみを含めることができます。

    • 長さは 64 文字を超えることはできません。

    データソース

    データソースドロップダウンリストには、書き込みスルー権限が既に付与されているデータソースと、書き込みスルー権限が付与されていないデータソースを含む、すべての Hive タイプのデータソースが表示されます。 image アイコンをクリックして、現在のデータソース名をコピーします。

    • 書き込みスルー権限のないデータソースの場合、データソースの後に [リクエスト] をクリックして、データソースの書き込みスルー権限をリクエストできます。詳細については、「データソース権限をリクエストする」をご参照ください。

    • Hive タイプのデータソースがない場合は、[データソースの作成] をクリックしてデータソースを作成します。詳細については、「Hive データソースを作成する」をご参照ください。

    テーブル

    出力データのターゲットテーブル(Hive テーブル)を選択します。キーワードを入力してテーブルを検索するか、正確なテーブル名を入力して [完全一致] をクリックします。テーブルを選択すると、システムは自動的にテーブルステータスをチェックします。 image アイコンをクリックして、現在選択されているテーブルの名前をコピーします。

    Hive データソースにデータ同期のターゲットテーブルがない場合は、ワンクリックテーブル作成機能を使用してターゲットテーブルをすばやく生成できます。次の手順を実行します。

    1. [ワンクリックテーブル作成] をクリックします。Dataphin は、ターゲットテーブル名(デフォルトはソーステーブル名)、フィールドタイプ(最初は Dataphin フィールドに基づいて変換されます)、その他の情報を含む、ターゲットテーブルを作成するためのコードを自動的に一致させます。

    2. [データレイクテーブル形式][選択しない] または [Iceberg] に設定します。

      説明

      Iceberg オプションは、選択したデータソースまたは現在のプロジェクトで使用されている計算ソースでデータレイクテーブル形式が有効になっており、Iceberg に設定されている場合にのみ使用できます。

    3. [実行エンジン][Hive] または [Spark] に設定します。

      説明

      データレイクテーブル形式が Iceberg に設定されている場合にのみ、実行エンジンを選択できます。デフォルトの実行エンジンは Hive です。選択したデータソースで Spark が有効になっている場合は、Spark を選択できます。

    4. 選択したデータレイクテーブル形式と実行エンジンに基づいて DDL が自動的に生成されます。必要に応じて変更し、[作成] をクリックします。

      ターゲットテーブルが正常に作成されると、Dataphin は新しく作成されたターゲットテーブルを、出力データのターゲットテーブルとして自動的に設定します。ワンクリックテーブル作成は、開発環境と本番環境でデータ同期のターゲットテーブルを作成するために使用されます。Dataphin はデフォルトで本番環境テーブル作成を選択します。本番環境に同じ名前と構造のテーブルが既に存在する場合は、本番環境テーブル作成を選択する必要はありません。

      説明
      • 開発環境または本番環境に同じ名前のテーブルが存在する場合、[作成] をクリックすると、Dataphin はテーブルが既に存在することを示すエラーを報告します。

      • 一致する項目がない場合は、手動で入力したテーブル名に基づいて統合することもできます。

    ファイルエンコーディング

    Hive にファイルを保存するためのエンコード方式。 [ファイルエンコーディング] には、[UTF-8][GBK] が含まれます。

    ロードポリシー

    ターゲットデータソース(Hive データソース)にデータを書き込むためのポリシー。ロードポリシーには、[すべてのデータを上書き][データを追加][統合タスクによって書き込まれたデータのみを上書き] が含まれます。シナリオは次のとおりです。

    • [すべてのデータを上書き]:最初にターゲットテーブルまたはパーティション内のすべてのデータを削除し、テーブル名で始まる新しいデータファイルを追加します。

    • [データを追加]:ターゲットテーブルにデータを直接追加します。

    • [統合タスクによって書き込まれたデータのみを上書き]:最初にターゲットテーブルまたはパーティション内のテーブル名で始まるデータファイルを削除します(SQL または他の方法で書き込まれたデータは削除されません)。

    NULL 値の置換(オプション)

    textfile データストレージ形式のソーステーブルのみをサポートします。NULL に置き換える必要がある文字列を入力します。たとえば、\N を入力すると、システムは \N 文字列を NULL に置き換えます。

    フィールド区切り文字(オプション)

    textfile データストレージ形式のソーステーブルのみをサポートします。フィールド間の区切り文字を入力します。値を入力しない場合、システムはデフォルトの区切り文字として \u0001 を使用します。

    圧縮形式(オプション)

    ファイルの圧縮形式を選択します。サポートされている圧縮形式は、Hive のデータストレージ形式によって異なります。

    • データストレージ形式が [orc] の場合:サポートされている圧縮形式には、[zlib][snappy] が含まれます。

    • データストレージ形式が [parquet] の場合:サポートされている圧縮形式には、[snappy][gzip] が含まれます。

    • データストレージ形式が [textfile] の場合:サポートされている圧縮形式には、[gzip][bzip2][ Lzo][lzo_deflate][hadoop-snappy][zlib] が含まれます。

    フィールド区切り文字処理(オプション)

    textfile データストレージ形式の出力テーブルのみをサポートします。データにデフォルトまたはカスタムのフィールド区切り文字が含まれている場合、[フィールド区切り文字処理] 戦略を構成して、データ書き込みエラーを防ぐことができます。[保持][削除]、または [次で置換] を選択できます。

    行区切り文字処理(オプション)

    textfile データストレージ形式の出力テーブルのみをサポートします。データにデフォルトまたはカスタムのフィールド区切り文字が含まれている場合、[行区切り文字処理] 戦略を構成できます。デフォルトの行区切り文字は \n です。データに \r\n などの改行文字が含まれている場合は、データ書き込みエラーを防ぐために処理戦略を選択できます。[保持][削除]、または [次で置換] を選択できます。

    Hadoop パラメーター構成(オプション)

    書き込みパラメータを調整するために使用されます。テーブルタイプごとに異なるパラメータを入力できます。複数のパラメータはコンマ(,)で区切り、{"key1":"value1", "key2":"value2"} の形式で指定します。たとえば、出力テーブル形式が orc で、フィールドが多いシナリオでは、メモリサイズに基づいて {"hive.exec.orc.default.buffer.size"} パラメータを調整できます。メモリが十分にある場合は、この構成を増やして書き込みパフォーマンスを向上させることができます。メモリが不足している場合は、この構成を減らして GC 時間を短縮し、書き込みパフォーマンスを向上させることができます。デフォルト値は 16384Byte(16KB)で、262144Byte(256KB)を超えないようにすることをお勧めします。

    パーティション

    選択したターゲットテーブルがパーティションテーブルの場合は、パーティション情報を入力する必要があります。たとえば、state_date=20190101 です。毎日増分データの書き込みを許可するためにパラメータもサポートされています。たとえば、state_date=${bizdate} です。

    準備ステートメント(オプション)

    データインポートの前にデータベースで実行される SQL スクリプト。

    たとえば、継続的なサービスの可用性を確保するために、現在のステップがデータを書き込む前に、最初にターゲットテーブル Target_A を作成し、次にターゲットテーブル Target_A への書き込みを実行します。現在のステップがデータの書き込みを完了した後、継続的にサービスを提供しているテーブル Service_B の名前を Temp_C に変更し、次にテーブル Target_A の名前を Service_B に変更し、最後に Temp_C を削除します。

    完了ステートメント(オプション)

    データインポート後にデータベースで実行される SQL スクリプト。

    フィールドマッピング

    入力フィールド

    上流コンポーネントの出力に基づいて入力フィールドを表示します。

    出力フィールド

    出力フィールド領域には、選択したテーブルのすべてのフィールドが表示されます。

    重要

    データが Hive に正しく書き込まれるように、すべての出力フィールドを入力コンポーネントのフィールドにマップする必要があります。

    マッピング

    上流入力とターゲットテーブルフィールドに基づいて、フィールドマッピングを手動で選択できます。 [マッピング] には、[同じ行のマッピング][同じ名前のマッピング] が含まれます。

    • 同じ名前のマッピング: 同じフィールド名のフィールドをマッピングします。

    • 同一行マッピング: ソーステーブルとターゲットテーブルのフィールド名が一致しない場合でも、対応する行のデータをマッピングする必要がある場合に、同じ行のフィールドをマッピングします。

    出力ターゲットテーブルが Hudi テーブルの場合

    パラメーター

    説明

    基本設定

    ステップ名

    Hive 出力コンポーネントの名前。Dataphin は自動的にステップ名を生成しますが、ビジネスシナリオに基づいて変更できます。名前は次の要件を満たしている必要があります。

    • 中国語、英字、アンダースコア(_)、数字のみを含めることができます。

    • 長さは 64 文字を超えることはできません。

    データソース

    データソースドロップダウンリストには、書き込みスルー権限が既に付与されているデータソースと、書き込みスルー権限が付与されていないデータソースを含む、すべての Hive タイプのデータソースが表示されます。 image アイコンをクリックして、現在のデータソース名をコピーします。

    • 書き込みスルー権限のないデータソースの場合、データソースの後に [リクエスト] をクリックして、データソースの書き込みスルー権限をリクエストできます。詳細については、「データソース権限をリクエストする」をご参照ください。

    • Hive タイプのデータソースがない場合は、[データソースの作成] をクリックしてデータソースを作成します。詳細については、「Hive データソースを作成する」をご参照ください。

    テーブル

    出力データのターゲットテーブル(Hudi テーブル)を選択します。キーワードを入力してテーブルを検索するか、正確なテーブル名を入力して [完全一致] をクリックします。テーブルを選択すると、システムは自動的にテーブルステータスをチェックします。 image アイコンをクリックして、現在選択されているテーブルの名前をコピーします。

    Hive データソースにデータ同期のターゲットテーブルがない場合は、ワンクリックテーブル作成機能を使用してターゲットテーブルをすばやく生成できます。次の手順を実行します。

    1. [ワンクリックテーブル作成] をクリックします。Dataphin は、ターゲットテーブル名(デフォルトはソーステーブル名)、フィールドタイプ(最初は Dataphin フィールドに基づいて変換されます)、その他の情報を含む、ターゲットテーブルを作成するためのコードを自動的に一致させます。

    2. [データレイクテーブル形式][Hudi] に設定します。

      • [Hudi テーブルタイプ][MOR(マージオンリード)] または [COW(コピーオンライト)] を選択できます。デフォルトは MOR(マージオンリード)です。

      • プライマリキーフィールド(オプション):プライマリキーフィールドをコンマ(,)で区切って入力します。

      • [拡張プロパティ](オプション):Hudi 公式でサポートされている構成プロパティを k=v の形式で入力します。

        説明
        • 開発環境または本番環境に同じ名前のテーブルが存在する場合、[作成] をクリックすると、Dataphin はテーブルが既に存在することを示すエラーを報告します。

        • 一致する項目がない場合は、手動で入力したテーブル名に基づいて統合することもできます。

    3. [実行エンジン][Hive] または [Spark] に設定します。

      説明

      データレイクテーブル形式が Hudi に設定されている場合にのみ、実行エンジンを選択できます。デフォルトの実行エンジンは Hive です。選択したデータソースで Spark が有効になっている場合は、Spark を選択できます。

    4. 選択したデータレイクテーブル形式と実行エンジンに基づいて DDL が自動的に生成されます。必要に応じて変更し、[作成] をクリックします。

    パーティション

    選択したターゲットテーブルがパーティションテーブルの場合は、パーティション情報を入力する必要があります。たとえば、state_date=20190101 です。パラメータもサポートされており、毎日増分データの書き込みが可能です。たとえば、state_date=${bizdate} です。

    ロードポリシー

    ターゲットデータソース(Hive データソース)にデータを書き込むためのポリシー。[データの上書き][データの追加][データの更新] があります。

    • [データの上書き]:既存のデータを新しいデータで上書きします。

    • [データの追加]:ターゲットテーブルにデータを直接追加します。

    • [データの更新]:プライマリキーで更新し、データが存在しない場合は挿入します。

      説明

      SQL または他の方法で書き込まれたデータは削除されません。

    Hadoop パラメーター構成(オプション)

    書き込みパラメータを調整するために使用されます。テーブルタイプごとに異なるパラメータを入力できます。複数のパラメータはコンマ(,)で区切り、{"key1":"value1", "key2":"value2"} の形式で指定します。{"hoodie.parquet.compression.codec":"snappy"} パラメータを使用して、圧縮形式を snappy に調整できます。

    BulkInsert

    大量データのバッチ同期シナリオに適しており、通常は初期データインポートに使用されます。

    説明

    このオプションは、ロードポリシーが [データの追加] または [データの上書き]に設定されている場合にのみ使用でき、デフォルトで有効になっています。

    フィールドマッピング

    入力フィールド

    上流コンポーネントの出力に基づいて入力フィールドを表示します。

    出力フィールド

    出力フィールド領域には、選択したテーブルのすべてのフィールドが表示されます。

    説明

    Hudi テーブルでは、すべてのフィールドをマップする必要はありません。

    マッピング

    上流入力とターゲットテーブルフィールドに基づいて、フィールドマッピングを手動で選択できます。 [マッピング] には、[同じ行のマッピング][同じ名前のマッピング] が含まれます。

    • 同じ名前のマッピング: 同じフィールド名のフィールドをマッピングします。

    • 同一行マッピング: ソーステーブルとターゲットテーブルのフィールド名が一致しない場合でも、対応する行のデータをマッピングする必要があるときに、同じ行のフィールドをマッピングします。

  9. [OK] をクリックして、Hive 出力コンポーネントのプロパティ構成を完了します。