How to create pipeline to get data from iceberg?

Hi everyone, I am creating pipeline ingestion of data from iceberg as below and getting error:
CREATE PIPELINE addresses_pipe AS LOAD DATA S3 ‘’
CONFIG ‘{
“catalog_type”: “HIVE”,
“catalog.uri”: “thrift://lakehouse-hive-metastore-svc.han.svc.cluster.local:9083”,
“region”: “us-east-1”,
“catalog.hive.metastore.client.auth.mode”: “PLAIN”,
“catalog.hive.metastore.client.plain.username”: “admin”,
“catalog.hive.metastore.client.plain.password”: “test”,
“catalog.metastore.use.SSL”: “true”,
“catalog.hive.metastore.truststore.type”: “JKS”,
“catalog.hive.metastore.truststore.path”: “file:///tmp/cacerts”,
“catalog.hive.metastore.truststore.password”: “changeit”,
“endpoint_url”: “https://test.han.vn”,
“catalog_name”: “rawdev”,
“table_id”: “dvc.test2”
}’
CREDENTIALS ‘{
“aws_access_key_id”: “VS3D602EA”,
“aws_secret_access_key”: “4BKaCz”
}’
SKIP DUPLICATE KEY ERRORS
INTO TABLE statistic1
FORMAT ICEBERG(
id ← id,
month ← month,
year ← year,
new_reception ← new_reception,
pre_extisting ← pre_extisting,
total ← total,
total_solved ← total_solved
);

ERROR 1933 ER_EXTRACTOR_EXTRACTOR_GET_LATEST_OFFSETS: Forwarding Error (node-sdb-cluster-master-0.svc-sdb-cluster:3306): Cannot get source metadata for pipeline. Error while loading table: Failed to connect to Hive Metastore

ERROR 1933 ER_EXTRACTOR_EXTRACTOR_GET_LATEST_OFFSETS: Forwarding Error (node-sdb-cluster-master-0.svc-sdb-cluster:3306): Cannot get source metadata for pipeline. Error while loading table: Received an UnknownHostException when attempting to interact with a service. See cause for the exact endpoint that is failing to resolve. If this is happening on an endpoint that previously worked, there may be a network connectivity issue or your DNS cache could be storing endpoints for too long.

Has anyone tried ingestion into Iceberg? Please help me. Thank you!

Problem:
Unknown host exception comes either from lakehouse-hive-metastore-svc.han.svc.cluster.local or test.han.vn hostnames that can’t be resolved by SingleStore.

You can get more information about the error by doing the debug steps from SingleStore docs https://docs.singlestore.com/cloud/load-data/load-data-with-pipelines/pipeline-troubleshooting/debugging-pipeline-errors/#logging-to-show-more-information-with-failures. That will include debug logging, and you will get an actual unresolved IP address and more.

Solution:
You need to either provide IP addresses for the endpoint_url and catalog.uri obtained from external tools like nslookup or add those to the DNS entries of your machine to make sure SingleStore can resolve those.

Read more about Java hostname to IP resolution at https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/InetAddress.html.
"Host name-to-IP address resolution is accomplished through the use of a combination of local machine configuration information and network naming services such as the Domain Name System (DNS) and Network Information Service(NIS). The particular naming service (s) being used is by default the local machine-configured one. For any host name, its corresponding IP address is returned.

Example:

create pipeline p as load data s3 'default.test_table' config '{"catalog_type": "HIVE", "catalog.uri": "http://127.0.0.1:9083", "endpoint_url": "http://127.0.0.1:9000", "region": "us-east-1", "catalog.hive.metastore.client.auth.mode": "PLAIN", "catalog.hive.metastore.client.plain.username": "hmsuser", "catalog.hive.metastore.client.plain.password": "hmspasswd", "catalog.metastore.use.SSL": "true", "catalog.hive.metastore.truststore.type": "PKCS12", "catalog.hive.metastore.truststore.path": "/dev/hive/my_trust.p12", "catalog.hive.metastore.truststore.password": "whatever"}' CREDENTIALS '{"aws_access_key_id": "admin", "aws_secret_access_key": "password"}' INTO TABLE t format ICEBERG;

Note: Syntax above doesn’t use table_id parameter because table name is passed in the connection string.

Extra thoughts:
You shouldn’t probably use JKS trust store type unless it’s created with Java 11. You may get an error on incompatible Java versions otherwise. A generic approach is to use PKCS12 - https://stackoverflow.com/questions/2846828/converting-jks-to-p12.

P. S. I don’t know how to post links on the forum, so response above uses quotes for those.