Nessie Catalog¶
In case that you already have a Nessie Catalog containing Iceberg table definitions you want to access from the Denodo Embedded MPP, you can use the Nessie Catalog as an external Metastore.
For this you have to define a new catalog. The recommended way is using the presto.catalog
property in values.yaml
. This new catalog will be accessed from the From MPP Catalogs tab
.
![]()
Create Nessie Views From MPP Catalog¶
See below for an example of an Iceberg catalog connected to Nessie named nessie
catalog:
#nessie: |-
# connector.name=iceberg
# iceberg.catalog.type=nessie
# iceberg.catalog.warehouse=/tmp
# iceberg.nessie.uri=http://<nessieuri>:19120/api/v1
# iceberg.nessie.auth.type=BASIC
# iceberg.nessie.auth.basic.username=
# iceberg.nessie.auth.basic.password=
# iceberg.nessie.read-timeout-ms=
# hive.s3.path-style-access=true
# hive.pushdown-filter-enabled=true
# hive.parquet-batch-read-optimization-enabled=true
You can also define new catalogs creating a properties file in presto/conf/catalog/
, e.g., presto/conf/catalog/nessie.properties
. Although it is preferred to define new catalogs in values.yaml
to facilitate version upgrades and management of environment-specific configurations.
Below there is an example of an Iceberg catalog to connect to Nessie catalog:
connector.name=iceberg
iceberg.catalog.type=nessie
iceberg.catalog.warehouse=/tmp
iceberg.nessie.uri=http://<nessieuri>:19120/api/v1
iceberg.nessie.auth.type=BASIC
iceberg.nessie.auth.basic.username=
iceberg.nessie.auth.basic.password=
iceberg.nessie.read-timeout-ms=
hive.s3.path-style-access=true
hive.pushdown-filter-enabled=true
hive.parquet-batch-read-optimization-enabled=true
Properties¶
Property Name |
Description |
---|---|
iceberg.nessie.uri |
Nessie API endpoint URI (required). Example: https://localhost:19120/api/v1 |
iceberg.nessie.auth.type |
The authentication type to use. Available values are BASIC or BEARER. |
iceberg.nessie.auth.basic.username |
The username to use with BASIC authentication. Example: test_user |
iceberg.nessie.auth.basic.password |
The password to use with BASIC authentication. Example: my$ecretPass |
iceberg.nessie.read-timeout-ms |
The read timeout in milliseconds for requests to the Nessie server. |
Note
Depending on the Object Storage location of the Iceberg tables Nessie accesses, you may need to provide credentials for that storage to the Embedded MPP cluster. To do this, you need to provide them using a Kubernetes secret created before deploying the MPP cluster. e.g. If you are using ASW credentials you need to provide the AWS S3 access and secret key ID.
kubectl create secret generic mpp-credentials
--from-literal=METASTORE_DB_PASSWORD=hive
--from-literal=AWS_ACCESS_KEY_ID=awsaccesskeyid
--from-literal=AWS_SECRET_ACCESS_KEY=awssecretaccesskey
In this case is also necessary to set true the objectStorage.aws.securityCredentials.enabled
property in values.yaml
Supported Operations¶
Operation |
Nessie Catalog |
---|---|
Read |
Yes |
Create/Insert |
No |
Update |
No |
Merge |
No |
Delete |
No |