I have a java data streaming app that uses flink to process records from kafka that I want to store in iceberg tables with minio as blob storage using a REST iceberg catalog. I used part of the spark docker-compose from the iceberg docs to set up my iceberg and minio services, and my own kafka and flink services that are defined as:
If I run the application in debug mode, and I run the command: tableEnvironment.executeSql("SELECT * FROM transactions").collect() I get the error:
Unable to create a source for reading table 'bank_transactions_catalog.financial_transactions.transactions'.
Table options are:
'catalog-impl'='org.apache.iceberg.rest.RESTCatalog'
'catalog-name'='bank_transactions_catalog'
'catalog-rest.endpoint'='http://localhost:8181'
'connector'='iceberg'
'database-name'='financial_transactions'
'format'='parquet'
'io-impl'='org.apache.iceberg.aws.s3.S3FileIO'
's3.access-key-id'='admin'
's3.endpoint'='http://minio:9000'
's3.path-style-access'='true'
's3.secret-access-key'='******'
'table-name'='transactions'
'warehouse'='s3://warehouse/'
with the cause being: java.lang.NullPointerException: Invalid uri for http client: null.
However, if the program is run without debug mode it gives me the error:
Exception in thread "main" org.apache.iceberg.exceptions.NoSuchTableException: Table does not exist: financial_transactions.transactions
This is a newbie problem, but for some time I cannot figure how to debug this. Any help or general advice towards resolving this issue is welcome.
Query engine
I'm using flink as my engine.
Question
I have a java data streaming app that uses flink to process records from kafka that I want to store in iceberg tables with minio as blob storage using a REST iceberg catalog. I used part of the spark docker-compose from the iceberg docs to set up my iceberg and minio services, and my own kafka and flink services that are defined as:
My flink streaming application is defined as follows:
If I run the application in debug mode, and I run the command:
tableEnvironment.executeSql("SELECT * FROM transactions").collect()
I get the error:with the cause being:
java.lang.NullPointerException: Invalid uri for http client: null
. However, if the program is run without debug mode it gives me the error:This is a newbie problem, but for some time I cannot figure how to debug this. Any help or general advice towards resolving this issue is welcome.