USER MANUALS

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

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

Add feedback