カタログ¶
Denodo 組み込み MPP のカタログは、Denodo Virtual DataPort のデータソースと同等です。
Denodo 組み込み MPP は、以下の 3 つの事前定義されているカタログとともに配布されます。
hive
カタログ。 組み込み Hive メタストア の Parquet ファイルの Hive テーブル へのアクセスに使用します。delta
カタログ。 組み込み Hive メタストア の Delta Lake テーブル へのアクセスに使用します。iceberg
カタログ。 組み込み Hive メタストア の Iceberg テーブル へのアクセスに使用します。
新しいカタログを定義できます。推奨する方法は values.yaml
の presto.catalog
プロパティを使用する方法です。このセクションでは、 glue-hive
、 glue-iceberg
、および glue-delta
の例をいくつか確認できます。
# -- Additional catalogs, as an example the jmx catalog provides JMX information from all nodes in the cluster.
catalog:
#jmx: |-
# connector.name=jmx
#
#glue-hive: |-
# connector.name=hive-hadoop2
# hive.metastore=glue
# hive.metastore.glue.region=
# hive.metastore.glue.catalogid=
# hive.metastore.glue.aws-access-key=
# hive.metastore.glue.aws-secret-key=
# hive.config.resources=core-site.xml
# hive.parquet.use-column-names=true
#
#glue-iceberg: |-
# connector.name=iceberg
# iceberg.catalog.type=HIVE
# hive.metastore=glue
# hive.metastore.glue.region=
# hive.metastore.glue.catalogid=
# hive.metastore.glue.aws-access-key=
# hive.metastore.glue.aws-secret-key=
# hive.config.resources=core-site.xml
# hive.parquet.use-column-names=true
#
#glue-delta: |-
# connector.name=delta
# hive.metastore=glue
# hive.metastore.glue.region=
# hive.metastore.glue.catalogid=
# hive.metastore.glue.aws-access-key=
# hive.metastore.glue.aws-secret-key=
# hive.config.resources=core-site.xml
# hive.parquet.use-column-names=true
presto/conf/catalog/
に presto/conf/catalog/glue_hive.properties
などのカタログプロパティファイルを作成して、新しいカタログを定義することもできます。ファイル名の glue_hive
がカタログ名になります。その後で、 connector.name
プロパティにカタログタイプ (サポートされているのは hive-hadoop2
、 delta
、および iceberg
) を追加し、さらにカタログタイプごとに必要な他のプロパティを追加する必要があります。
以下に、AWS Glue Data Catalog から読み込んだ Hive カタログプロパティの例を示します。
connector.name=hive-hadoop2
hive.metastore=glue
# AWS region of the Glue Catalog
hive.metastore.glue.region=
# The ID of the Glue Catalog in which the metadata database resides
hive.metastore.glue.catalogid=
# Access Key and Secret Key for Glue
# Credentials and core-site.xml are not required when the MPP
# runs in EKS because it will use the EKS Pod Identities,
# IAM Roles for Service Accounts
# or the IAM EC2 instance profile, whichever is configured in EKS
hive.metastore.glue.aws-access-key=
hive.metastore.glue.aws-secret-key=
hive.config.resources=/opt/presto-server/etc/catalog/core-site.xml
# For Bulk Data load
hive.allow-drop-table=true
hive.non-managed-table-writes-enabled=true
hive.parquet.use-column-names=true
Kerberos
組み込み MPP が Kerberos 認証を使用して HDFS に接続する必要がある場合、Hive カタログに追加プロパティを構成し、それらを values.yaml
の additionalConfig
プロパティに追加する必要があります。
presto:
hive:
additionalConfig: [
hive.hdfs.authentication.type=KERBEROS,
hive.hdfs.presto.principal=xxxx@REALM,
hive.hdfs.presto.keytab=/opt/secrets/xxx.keytab
]
これにより、組み込み MPP は、keytab hive.hdfs.presto.keytab
を使用して Kerberos プリンシパル hive.hdfs.presto.principal
として HDFS に接続します。
keytab ファイルは、 presto/secrets
フォルダに配置する必要があります。また、 krb5.conf
は、 presto/conf/catalog/
フォルダに配置する必要があります。さらに、以下の構成プロパティを values.yaml
に追加します。
presto:
jvm:
additionalJVMConfig: [
-Djava.security.krb5.conf=/opt/presto-server/etc/catalog/krb5.conf
]
Hadoop クラスタで hadoop.rpc.protection=privacy
が必要とされる場合、カタログ構成に、以下に示すもう 1 つのプロパティを追加する必要があります。
hive.hdfs.wire-encryption.enabled=true
詳細については、「 Hive セキュリティ構成 — Kerberos サポート 」を参照してください。