RoeeHas
07/21/2024, 12:37 PMorg.apache.flink.table.api.ValidationException: Could not find any factory for identifier 'iceberg' that implements 'org.apache.flink.table.factories.CatalogFactory' in the classpath
I am trying to connect to an iceberg table hosted on AWS Glue catalog from a Flink application running on AWS Managed Service for Flink. The SQL statement I am running:
CREATE CATALOG glue_catalog WITH (
'type'='iceberg',
'warehouse'='<s3://my-bucket/prefix>',
'catalog-impl'='org.apache.iceberg.aws.glue.GlueCatalog',
'io-impl'='org.apache.iceberg.aws.s3.S3FileIO'
);
I bundled the two necessary jar files (iceberg-flink-runtime
and iceberg-aws-bundle
as per the iceberg-aws integration docs) into an uber jar and checked that the iceberg
identifier exists in that uber jar:
Available factory identifiers are:
blackhole
datagen
filesystem
kinesis
iceberg
print
But when I try to run the flink app it doesn’t seem to find the iceberg
identifier’s implementations and I get the above-mentioned error.
Does anyone know how can I resolve this?D. Draco O'Brien
07/21/2024, 12:48 PMD. Draco O'Brien
07/21/2024, 12:49 PMD. Draco O'Brien
07/21/2024, 12:52 PMD. Draco O'Brien
07/21/2024, 12:54 PMRoeeHas
07/23/2024, 8:34 AMRoeeHas
07/23/2024, 8:35 AMD. Draco O'Brien
07/23/2024, 3:32 PMD. Draco O'Brien
07/23/2024, 3:32 PM