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

Dataphin:Hive 出力コンポーネントの構成

最終更新日:Oct 01, 2025

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

制限

Hive 出力コンポーネントは、orcparquettextHudiIceberg、または Paimon ファイル形式を使用する Hive テーブルへのデータ書き込みをサポートしています。Hudi 形式は、Hive コンピュートソースまたは Cloudera Data Platform 7.x データソースでのみサポートされています。Iceberg および Paimon 形式は、Hive コンピュートソースまたは E-MapReduce 5.x データソースでのみサポートされています。ORC 形式のトランザクションテーブルおよび Kudu テーブルとの統合はサポートされていません。

説明

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

前提条件

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

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

手順

  1. Dataphin のホームページで、トップメニューバーから [開発] > [Data Integration] を選択します。

  2. Data Integration ページの上部メニューバーで、[プロジェクト] を選択します。Dev-Prod モードの場合は、[環境] も選択する必要があります。

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

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

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

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

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

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

    必須パラメーターは、Hive、Hudi、および Paimon テーブルで異なります。

    出力先テーブルが Hive テーブルの場合

    パラメーター

    説明

    基本設定

    ステップ名

    Hive 出力コンポーネントの名前。Dataphin は自動的にステップ名を生成します。必要に応じて名前を変更できます。名前は次の規則に従う必要があります。

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

    • 長さは 64 文字以内である必要があります。

    データソース

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

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

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

    テーブル

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

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

    1. [ワンクリックテーブル作成] をクリックします。Dataphin は、ターゲットテーブルを作成するためのコードを自動的に生成します。コードには、デフォルトでソーステーブル名となるターゲットテーブル名と、Dataphin フィールドに基づいて初期変換されるフィールドタイプが含まれます。

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

      説明

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

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

      説明

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

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

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

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

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

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

    Hive に保存されるファイルのエンコーディングを選択します。[ファイルエンコーディング]UTF-8 または GBK にすることができます。

    読み込みポリシー

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

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

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

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

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

    このパラメーターは、textfile データストレージ形式を使用するソーステーブルでのみサポートされます。NULL に置き換える文字列を入力します。たとえば、\N と入力すると、システムは \N 文字列を NULL に置き換えます。

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

    このパラメーターは、textfile データストレージ形式を使用するソーステーブルでのみサポートされます。フィールド間の区切り文字を入力します。このパラメーターを空のままにすると、システムは区切り文字として \u0001 を使用します。

    圧縮形式 (オプション)

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

    • データストレージ形式が ORC の場合、サポートされる圧縮形式には ZlibSnappy があります。

    • データストレージ形式が parquet の場合、サポートされる圧縮形式には snappygzip があります。

    • データストレージ形式が textfile の場合、サポートされる圧縮形式には gzipbzip2 lzolzo_deflatehadoop-snappy、および zlib があります。

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

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

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

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

    Hadoop パラメーター設定 (オプション)

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

    パーティション

    選択したターゲットテーブルがパーティションテーブルの場合、パーティション情報を入力する必要があります。たとえば、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 または他のメソッドを使用して書き込まれたデータは削除されません。

    BulkInsert

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

    説明

    このオプションは、読み込みポリシーを [データの追加] または [データの上書き] に設定した場合にのみ使用可能で、デフォルトで有効になります。

    バッチ書き込み

    ターゲットテーブルにデータをバッチで書き込みます。有効にした場合は、[バッチ比率] も構成する必要があります。

    バッチ比率

    JVM メモリ全体の比率。デフォルト値は 0.2 です。0.01 から 0.50 までの 2 桁の 10 進数を入力できます。

    Hadoop パラメーター設定 (オプション)

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

    フィールドマッピング

    入力フィールド

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

    出力フィールド

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

    説明

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

    マッピング

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

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

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

    出力先テーブルが Paimon テーブルの場合

    パラメーター

    説明

    基本設定

    ステップ名

    Hive 出力コンポーネントの名前。Dataphin は自動的にステップ名を生成します。必要に応じて名前を変更できます。名前は次の規則に従う必要があります。

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

    • 長さは 64 文字以内である必要があります。

    データソース

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

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

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

    テーブル

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

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

    1. [ワンクリックテーブル作成] をクリックします。Dataphin は、ターゲットテーブルを作成するためのコードを自動的に生成します。コードには、デフォルトでソーステーブル名となるターゲットテーブル名と、Dataphin フィールドに基づいて初期変換されるフィールドタイプが含まれます。

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

      説明

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

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

      説明

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

    4. [Paimon テーブルタイプ] には、[MOR] (マージオンリード)、[COW] (コピーオンライト)、または [MOW] (マージオンライト) を選択します。デフォルト値は MOR です。

      説明

      Paimon テーブルタイプは、データレイクテーブル形式を Paimon に設定した場合にのみ構成できます。

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

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

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

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

    読み込みポリシー

    ターゲットの Hive データソースにデータを書き込むためのポリシー。読み込みポリシーには、[データの追加][データの上書き]、および [データの更新] があります。シナリオは次のとおりです。

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

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

    • [データの更新]: プライマリキーに基づいてデータを更新します。レコードが存在しない場合は挿入されます。

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

    このパラメーターは、textfile データストレージ形式を使用するソーステーブルでのみサポートされます。NULL に置き換える文字列を入力します。たとえば、\N と入力すると、システムは \N 文字列を NULL に置き換えます。

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

    このパラメーターは、textfile データストレージ形式を使用するソーステーブルでのみサポートされます。フィールド間の区切り文字を入力します。このパラメーターを空のままにすると、システムは区切り文字として \u0001 を使用します。

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

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

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

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

    Hadoop パラメーター設定 (オプション)

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

    パーティション

    選択したターゲットテーブルがパーティションテーブルの場合、パーティション情報を入力する必要があります。たとえば、state_date=20190101 です。パラメーターを使用して、毎日データを増分的に書き込むこともできます。たとえば、state_date=${bizdate} です。

    フィールドマッピング

    入力フィールド

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

    出力フィールド

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

    重要

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

    マッピング

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

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

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

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