Dataphin で Hive のデータを読み書きできるようにするには、Hive データソースを作成します。このトピックでは、Hive データソースの作成方法について説明します。
背景情報
Apache Hive は、Hadoop 上に構築されたデータウェアハウスツールです。Hive は、構造化データファイルをデータベーステーブルにマッピングし、SQL クエリ機能を提供します。Hive は、HQL または SQL 文を MapReduce や Tez などのプログラムに変換します。Dataphin で Hive を使用してデータ開発を行ったり、Dataphin から Hive にデータを書き込んだりする前に、まず Hive データソースを作成する必要があります。
制限事項
Alibaba Cloud EMR 5.x Hadoop コンピュートエンジンで OSS 上に作成された Hive 外部テーブルをオフライン統合に使用する場合、必要な設定を完了する必要があります。詳細については、「OSS に基づいて作成された Hive 外部テーブルをオフライン統合に使用する」をご参照ください。
Hive データソースを Data Integration の入力または出力コンポーネントとして使用する場合、Dataphin の IP アドレスを Hive のネットワークホワイトリストに追加する必要があります。これにより、Dataphin が Hive 内のデータにアクセスできるようになります。
Dataphin アプリケーションとスケジューリングクラスターが、Hive サービス、HDFS NameNode (Web UI とプロセス間通信 (IPC) ポートを含む)、DataNode、Kerberos キー配布センター (KDC) サーバー、メタデータベースまたは Hive Metastore、および ZooKeeper に接続できることを確認してください。
権限
データソースを作成できるのは、スーパー管理者、データソース管理者、ドメインアーキテクト、プロジェクト管理者、またはデータソース作成権限を持つカスタムグローバルロールを持つユーザーのみです。
操作手順
Dataphin ホームページのトップメニューバーで、[管理ハブ] > [データソース管理] を選択します。
[データソース] ページで、[+ データソースの作成] をクリックします。
[データソースの作成] ページで、[ビッグデータ] セクションに移動し、[Hive] を選択します。
最近 Hive を使用した場合は、[最近使用したもの] セクションから選択することもできます。または、検索ボックスに「Hive」と入力してデータソースを検索することもできます。
[Hive データソースの作成] ページで、データソースの接続パラメーターを設定します。
Hive データソースの設定には、Data Integration 用の統合設定、リアルタイム開発シナリオ用のリアルタイム開発設定、メタデータ取得用のメタデータベース設定など、さまざまな目的のパラメーターが含まれます。
説明通常、本番環境と開発環境は別々のデータソースとして設定する必要があります。この方法により、環境が分離され、開発環境が本番環境に影響を与えるリスクが軽減されます。ただし、Dataphin では、同一のパラメーターを持つ単一のデータソースとして設定することもできます。
Hive データソースの基本設定
パラメーター
説明
データソース名
データソースの名前を入力します。名前は次の要件を満たす必要があります:
中国語文字、英字、数字、アンダースコア (_)、ハイフン (-) のみを含めることができます。
最大長は 64 文字です。
データソースコード
データソースコードを設定すると、Flink SQL ノードでデータソース内のテーブルを参照できます。フォーマットは
datasource_code.table_nameまたはdatasource_code.schema.table_nameを使用します。現在の環境に対応するデータソースに自動的にアクセスするには、変数フォーマット${datasource_code}.tableまたは${datasource_code}.schema.tableを使用します。詳細については、「Dataphin データソーステーブルを開発する」および「」をご参照ください。重要データソースコードは、設定後に変更することはできません。
資産ディレクトリおよび資産チェックリストのオブジェクト詳細ページでデータをプレビューできるのは、データソースコードが設定された後のみです。
Flink SQL では、現在、MySQL、Hologres、MaxCompute、Oracle、StarRocks、Hive、SelectDB、および GaussDB データウェアハウスサービス (DWS) のデータソースのみがサポートされています。
バージョン
Hive データソースのバージョンを選択します。Dataphin は次のバージョンをサポートしています:
CDH5.x Hive 1.1.0
Aliyun EMR3.x Hive 2.3.5
Aliyun EMR5.x Hive 3.1.x
CDH6.x Hive 2.1.1
FusionInsight 8.x Hive 3.1.0
CDP7.x Hive 3.1.3
AsiaInfo DP5.x Hive 3.1.0
Amazon EMR
データソースの説明
データソースの簡単な説明を入力します。説明は最大 128 文字です。
データレイク テーブル フォーマット
データレイクテーブル形式を有効または無効にします。この機能はデフォルトで無効になっています。有効にした場合、テーブル形式を選択できます。
[バージョン] を [CDP7.x Hive3.1.3] に設定した場合、Hudi テーブル形式のみがサポートされます。
[バージョン] を [Aliyun EMR5.x Hive3.1.x] に設定した場合、テーブル形式として Iceberg または Paimon を選択できます。
説明このパラメーターは、[バージョン] を [CDP7.x Hive3.1.3] または [Aliyun EMR5.x Hive3.1.x] に設定した場合にのみ使用できます。
[モジュールの有効化]
[統合]:このモジュールを有効にすると、Hive データソースを Data Integration に使用できます。
[リアルタイム開発]:このモジュールを有効にすると、Hive データソースをリアルタイム開発に使用できます。
説明リアルタイム開発は、CDH6.x Hive 2.1.1、CDP7.x Hive 3.1.3、および AsiaInfo DP5.x Hive 3.1.0 でサポートされています。
バージョンとして [Aliyun EMR5.x Hive3.1.x] を選択し、データレイクテーブル形式として [Paimon] を選択した場合、リアルタイム開発を有効にできます。
データソース設定
データソースの設定環境を選択します。
ビジネスデータソースに本番環境と開発環境が分かれている場合は、[本番 + 開発データソース] を選択します。
ビジネスデータソースに本番環境と開発環境が分かれていない場合は、[本番データソース] を選択します。
タグ
データソースにタグを追加して分類できます。タグの作成方法の詳細については、「データソースのタグを管理する」をご参照ください。
本番および開発データソースの設定
必須パラメーターは Hive のバージョンによって異なります。
Amazon EMR を除くすべてのバージョン
Hive 設定
メタデータ取得方法:メタデータは、[メタデータデータベース]、[HMS]、または [DLF] を使用して取得できます。必須パラメーターは、選択した方法によって異なります。
メタデータベース
説明[モジュールの有効化] パラメーターでリアルタイム開発のみを選択した場合、メタデータベースからのみメタデータを取得できます。
パラメーター
説明
データベースタイプ
クラスターで使用されているメタデータベースに対応するデータベースタイプを選択します。Dataphin は [MySQL] をサポートしています。[MySQL] データベースタイプは、バージョン [MySQL 5.1.43]、[MySQL 5.6/5.7]、および [MySQL 8] をサポートしています。
JDBC URL
ターゲットデータベースの Java Database Connectivity (JDBC) URL を入力します。URL は、
jdbc:mysql://host:port/dbnameのフォーマットである必要があります。ユーザー名、パスワード
Hive へのログインに使用するユーザー名とパスワードを入力します。
Hive JDBC URL
Hive の JDBC URL を入力します。次の 3 種類のエンドポイントがサポートされています:
Hive Server: エンドポイントは
jdbc:hive://host:port/dbnameのフォーマットである必要があります。ZooKeeper: 例:
jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2。Kerberos が有効な Hive: エンドポイントは、
jdbc:hive2://host:port/dbname;principal=hive/_HOST@xx.comのフォーマットである必要があります。
HMS
パラメーター
説明
認証タイプ
HMS 取得方式は、[認証なし]、[LDAP]、[Kerberos] の 3 つの認証方式をサポートしています。Kerberos 認証では、keytab ファイルをアップロードし、プリンシパルを設定する必要があります。
hive-site.xml
Hive の hive-site.xml 設定ファイルをアップロードします。
説明[リアルタイム開発] を有効にすると、この設定ファイルはリアルタイム開発でも使用されます。
Hive JDBC URL
Hive の JDBC URL を入力します。次の 3 種類のエンドポイントがサポートされています:
Hive Server:エンドポイントは、
jdbc:hive://host:port/dbnameのフォーマットである必要があります。ZooKeeper: 例:
jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2。Kerberos が有効な Hive: エンドポイントは
jdbc:hive2://host:port/dbname;principal=hive/_HOST@xx.comのフォーマットである必要があります。
DLF
説明DLF 取得方式は、Alibaba Cloud EMR 5.x Hive 3.1.x でのみサポートされています。
パラメーター
説明
エンドポイント
DLF データセンター内のクラスターが所在するリージョンのエンドポイントを入力します。エンドポイントの取得方法の詳細については、「DLF のリージョンとエンドポイント」をご参照ください。
[AccessKey ID]、[AccessKey Secret]
クラスターが属するアカウントの AccessKey ID と AccessKey Secret を入力します。
アカウントの AccessKey ID と AccessKey Secret は、[ユーザー情報管理] ページで取得できます。

hive-site.xml
Hive の hive-site.xml 設定ファイルをアップロードします。
説明[リアルタイム開発] を有効にすると、この設定ファイルはリアルタイム開発でも使用されます。
[Hive JDBC URL]
Hive の JDBC URL を入力します。次の 3 種類のエンドポイントがサポートされています:
Hive Server:エンドポイントは
jdbc:hive://host:port/dbnameのフォーマットにする必要があります。ZooKeeper: 例:
jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2。Kerberos が有効な Hive: エンドポイントは
jdbc:hive2://host:port/dbname;principal=hive/_HOST@xx.comフォーマットにする必要があります。
統合
説明[モジュールの有効化] パラメーターで [統合] を選択した場合、統合モジュールを設定できます。
統合設定
サポートされているストレージ方法は [HDFS] と [OSS-HDFS クラスター ストレージ] の 2 つです。必須パラメーターは、選択したストレージ方法によって異なります。
HDFS
パラメーター
説明
NameNode
NameNode は、HDFS クラスターのメタデータマネージャーです。[追加] をクリックします。[NameNode の追加] ダイアログボックスで、NameNode の情報を設定します。
Web UI ポート:Hadoop クラスターのコンポーネントの Web インターフェイスにアクセスするために使用されるポート。
IPC ポート:プロセス間通信 (IPC) 用のポート。
CDH5 環境では、[Web UI ポート] と [IPC ポート] のデフォルト値は
50070と8020です。必要に応じてポートを指定できます。説明Web UI ポートまたは IPC ポートのいずれかが正しく入力されていれば、[接続テスト] は正常に完了します。
設定ファイル
Hadoop の構成ファイル
hdfs-site.xmlとcore-site.xmlをアップロードします。これらのファイルは、Hadoop クラスターからエクスポートできます。説明Data Lake Table Format を有効にして、テーブルフォーマットとして Hudi を選択し、リアルタイム開発用の Hive データソースと dp-hudi コネクタを使用する場合は、
hive-site.xml構成ファイルもアップロードする必要があります。Kerberos の有効化
Kerberos は、対称鍵暗号方式に基づく身分認証プロトコルです。他のサービスに身分認証を提供し、シングルサインオン (SSO) をサポートします。クライアントが認証されると、HBase や HDFS などの複数のサービスにアクセスできます。
Hadoop クラスターが Kerberos 認証を使用している場合は、次の設定を完了します。
Kerberos 設定方法
[KDC サーバー]:Kerberos 認証を支援する KDC サーバーのアドレス。
説明複数の KDC サーバーアドレスを設定できます。コンマ (,) で区切ります。
[Krb5 ファイル設定]:Kerberos 認証のために Krb5 ファイルをアップロードする必要があります。
HDFS 設定
[HDFS Keytab ファイル]:keytab 認証ファイルをアップロードします。keytab ファイルは HDFS サーバーから取得できます。
HDFS プリンシパル: HDFS keytab ファイルに対応するプリンシパル名を入力します。たとえば、
xxx/hdfsclient@xxx.xxxです。
Hive 設定
[JDBC URL]:Hive の JDBC URL を入力します。次の 3 種類のエンドポイントがサポートされています:
Hive サーバーのエンドポイント。フォーマットは
jdbc:hive://host:port/dbnameです。ZooKeeper のエンドポイント。 例:
jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2。Kerberos が有効なエンドポイント。フォーマットは
jdbc:hive2://host:port/dbname;principal=hive/_HOST@xx.comです。
[Hive Keytab ファイル]:keytab 認証ファイルをアップロードします。keytab ファイルは Hive サーバーから取得できます。
Hive プリンシパル: Hive keytab ファイルに対応するプリンシパル名を入力します。たとえば、
xxx/hdfsclient@xxx.xxxです。
Kerberos の無効化
Hadoop クラスターが Kerberos 認証を使用していない場合は、次の設定を完了します。
[JDBC URL]:Hive の JDBC URL を入力します。次の 3 種類のエンドポイントがサポートされています:
Hive サーバーの接続アドレス。フォーマットは
jdbc:hive://hodt:port/dbnameです。ZooKeeper のエンドポイント。たとえば、
jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2。Kerberos 認証が有効な接続アドレスで、フォーマットは
jdbc:hive2://host:port/dbname;principal=hive/_HOST@xx.comです。
[ユーザー名]、[パスワード]:Hive へのログインに使用するユーザー名とパスワードを入力します。
説明タスクが正常に実行されるように、指定されたユーザーが Hive データにアクセスする権限を持っていることを確認してください。
OSS-HDFS
説明OSS-HDFS クラスター ストレージは、Alibaba Cloud EMR 5.x Hive 3.1.x でのみサポートされています。
パラメーター
説明
クラスター ストレージ
クラスターのストレージクラスは、次の方法で確認できます。
クラスター作成前:作成するクラスターのストレージクラスを E-MapReduce 5.x Hadoop クラスター作成ページで表示できます。

既存のクラスターの場合:次の図に示すように、E-MapReduce 5.x Hadoop クラスターの製品ページでストレージクラスを表示できます。

クラスターストレージのルートディレクトリ
クラスター ストレージのルートディレクトリを入力します。これは、EMR 5.x Hadoop クラスター情報を表示することで取得できます。
重要入力したパスにエンドポイントが含まれている場合、Dataphin はデフォルトでそのエンドポイントを使用します。パスにエンドポイントが含まれていない場合、Dataphin は core-site.xml ファイルで設定されているバケットレベルのエンドポイントを使用します。バケットレベルのエンドポイントが設定されていない場合、Dataphin は core-site.xml ファイルのグローバルエンドポイントを使用します。詳細については、「OSS-HDFS の JindoFS サービスのエンドポイントを設定する」をご参照ください。
設定ファイル
クラスターの
core-site.xml、hive-metastore-site.xml構成ファイルをアップロードします。これらのファイルは Hadoop クラスターからエクスポートできます。AccessKey ID、AccessKey Secret
OSS へのアクセスに使用する AccessKey ID と AccessKey Secret を入力します。既存の AccessKey を使用するか、「AccessKey の作成」を参照して新しいものを作成できます。
重要ここに入力した設定は、core-site.xml ファイルで設定された AccessKey よりも優先されます。
AccessKey Secret の漏洩リスクを軽減するため、AccessKey Secret は作成時にのみ表示され、後で表示することはできません。安全に保管してください。
Kerberos を有効にする
Kerberos は、対称鍵暗号方式に基づく身分認証プロトコルです。他のサービスに身分認証を提供し、SSO をサポートします。クライアントが認証されると、HBase や HDFS などの複数のサービスにアクセスできます。
Hadoop クラスターが Kerberos 認証を使用している場合は、次の設定を完了します。
Kerberos 設定方法
[Krb5 ファイル設定]:Kerberos 認証のために Krb5 ファイルをアップロードする必要があります。
Hive 設定
[JDBC URL]:Hive の JDBC URL を入力します。次の 3 種類のエンドポイントがサポートされています:
Hive サーバーの接続アドレス。フォーマットは
jdbc:hive://host:port/dbnameです。ZooKeeper のエンドポイント。例:
jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2。Kerberos が有効な接続アドレス。フォーマットは
jdbc:hive2://host:port/dbname;principal=hive/_HOST@xx.comです。
[Hive Keytab ファイル]:keytab 認証ファイルをアップロードします。keytab ファイルは Hive サーバーから取得できます。
Hive プリンシパル: Hive keytab ファイルに対応するプリンシパル名を入力します。 例:
xxx/hdfsclient@xxx.xxx。
Kerberos の無効化
Hadoop クラスターが Kerberos 認証を使用していない場合は、次の設定を完了します。
[JDBC URL]:Hive の JDBC URL を入力します。次の 3 種類のエンドポイントがサポートされています:
Hive サーバーの接続アドレス。
jdbc:hive://hodt:port/dbnameというフォーマットです。ZooKeeper の接続アドレス。例:
jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2。Kerberos 認証が有効な接続アドレス。フォーマットは
jdbc:hive2://host:port/dbname;principal=hive/_HOST@xx.comです。
[ユーザー名]、[パスワード]:Hive へのログインに使用するユーザー名とパスワードを入力します。
説明ノードが期待どおりに実行されるように、指定されたユーザーが Hive データにアクセスする権限を持っていることを確認してください。
Spark 設定
説明Spark 設定は、バージョンを [CDP 7.x Hive 3.1.3] に設定し、データレイクテーブル形式として Hudi を選択した場合にサポートされます。
Spark 設定は、バージョンを [Alibaba Cloud EMR 5.x Hive 3.1.x] に設定し、データレイクテーブル形式として Iceberg または Paimon を選択した場合にサポートされます。
パラメーター
説明
Spark
[有効] または [無効] を選択できます。デフォルトでは、この機能は有効になっています。有効にする場合は、次のパラメーターを設定する必要があります。
説明データレイクテーブル形式として Paimon を選択した場合、Spark を無効にすることはできません。
サービスタイプ
[Kyuubi] または [Livy] を選択できます。デフォルトでは、Kyuubi が選択されています。
Spark JDBC URL
JDBC URL を
jdbc:hive2://{host}:{port}/{database name}のフォーマットで入力します。認証タイプ
[認証なし]、[LDAP]、または [Kerberos] を選択できます。
ユーザー名、パスワード
認証用のユーザー名とパスワードを入力します。ノードが期待どおりに実行されるように、ユーザーが必要なデータ権限を持っていることを確認してください。
説明[認証タイプ] を [認証なし] に設定した場合は、ユーザー名を入力する必要があります。[認証タイプ] を [LDAP] に設定した場合は、ユーザー名とパスワードを入力する必要があります。
Spark キータブファイル
keytab 認証ファイルをアップロードします。keytab ファイルは Spark サーバーから取得できます。
説明このパラメーターは、[認証タイプ] を [Kerberos] に設定した場合に使用できます。
Spark プリンシパル
Spark keytab ファイルに対応するプリンシパル名を入力します。たとえば、
xxx/hadooppclient@xxx.xxxです。説明このパラメーターは、[認証タイプ] を [Kerberos] に設定した場合に使用できます。
リアルタイム開発
説明リアルタイム開発は、CDH6.x Hive 2.1.1、CDP7.x Hive 3.1.3、および AsiaInfo DP5.x Hive 3.1.0 でのみサポートされています。[モジュールの有効化] パラメーターを [リアルタイム開発] に設定した場合、モジュールを設定できます。
[設定ファイル]:hive-site.xml ファイルをアップロードします。Flink SQL ノードは、統合設定で指定された認証情報を無視します。代わりに、Flink DPI エンジンの認証情報を使用して Hive データソースにアクセスします。
Amazon EMR
パラメーター
説明
プライマリノードのパブリック DNS
パブリック DNS を介して VPC のプライベート DNS を取得します。Hive と Spark はどちらもプライベート DNS を介して接続します。フォーマットは
ec2-{public_ip}.{region}.compute.amazonaws.comです。キーファイル (*.pem)
プライマリ EC2 ノードへのアクセスに使用されるキーペアです。これは、EMR クラスターを作成したときに指定したキーペアです。
設定ファイル
core-site.xml、yarn-site.xml、hive-site.xml、hdfs-site.xml などのクラスター設定ファイルをアップロードできます。また、[クラスター設定の取得] をクリックして、プライマリノードからファイルをダウンロードすることもできます。これを行う前に、プライマリノードのパブリック DNS を指定し、キーファイルをアップロードする必要があります。
データベース
Amazon EMR コンピュートエンジンのデータベース名を入力します。
エンジンタイプ
[Hive] または [Spark] を選択できます。デフォルトでは、Hive が選択されています。Hive を選択した場合は Hive JDBC URL を入力する必要があり、Spark を選択した場合は Spark JDBC URL を入力する必要があります。
Hive JDBC URL: Hive の JDBC URL を入力するか、[自動取得] をクリックして URL を自動的に取得します。これを行う前に、プライマリノードのパブリック DNS を指定し、キーファイルをアップロードする必要があります。Hive JDBC URL は、
jdbc:hive2//host1:port1,host2:post2/フォーマットである必要があります。データベース名を入力する必要はありません。Spark JDBC URL: Spark の JDBC URL を入力します。URL は
jdbc:hive2://{host:port}/{database name}のフォーマットにする必要があります。
ユーザー名
Hive または Spark のユーザー名です。このユーザー名は JDBC の
usernameとして設定されます。クラスター ストレージ
現在、[HDFS] のみ選択できます。
[メタデータ取得方法]
[HMS] または [Amazon Glue] を選択できます。
[HMS]:デフォルトでは、HMS が選択されています。
[Amazon Glue]:Amazon Glue を選択した場合は、Glue リージョンコード、Glue AccessKey ID、および Glue AccessKey Secret も設定する必要があります。
[Glue リージョンコード]:Amazon Glue のリージョンコード (ap-northeast-3、us-east-1、us-west-1 など) を入力します。
[Glue AccessKey ID]、[Glue AccessKey Secret]:Amazon Glue へのアクセスに使用する AccessKey ID と AccessKey Secret を入力します。
[デフォルトリソースグループ] を選択します。このリソースグループは、このデータソースに関連付けられたノード (データベース SQL ノード、オフライン全データベース移行ノード、データプレビューノードなど) を実行するために使用されます。
[接続テスト] または [OK] をクリックして設定を保存し、Hive データソースを作成します。
[接続テスト] をクリックすると、Dataphin はデータソースへの接続性をテストします。[OK] をクリックすると、Dataphin は選択されたすべてのクラスターの接続を自動的にテストします。接続テストが失敗した場合でも、データソースは作成できます。