https://pulumi.com logo
Title
r

refined-quill-24998

02/01/2023, 9:53 PM
Hello, Could anybody tried to create aws glue catalog table with Apache Iceberg Integration. I tried to create using the below format, the table got created with wrong format. DDL which I was able to create in Athena console and successfully created:
CREATE TABLE `t_temp_table_iceberg`
(
`col1` string,
`col2` double,
`col3` string,
`col4` BOOLEAN,
`col5` BOOLEAN
)
PARTITIONED BY(
col1,
col2
)
LOCATION '<s3://bucket-name/iceberg_location/>'
TBLPROPERTIES (
  'table_type'='ICEBERG',
  'format'='parquet'
)
Tried to deploy the same in pulumi but the table is created with wrong format similar like Hive table with partitions and not able to access in Athena( Not an issue with permissions verified). Can anyone help me with it.
t_temp_table_iceberg = aws.glue.CatalogTable(
            resource_name="t_temp_table_iceberg",
            name="t_temp_table_iceberg",
            database_name=self.glue_catalog_iceberg_catalog_db.name,
            parameters={
                "table_type": 'ICEBERG',
                "format": "parquet"
            },
            storage_descriptor=aws.glue.CatalogTableStorageDescriptorArgs(
                columns=[
                    aws.glue.CatalogTableStorageDescriptorColumnArgs(
                        name="col1",
                        type="string",
                    ),
                    aws.glue.CatalogTableStorageDescriptorColumnArgs(
                        name="col2",
                        type="double",
                    ),
                    aws.glue.CatalogTableStorageDescriptorColumnArgs(
                        comment="",
                        name="col3",
                        type="String",
                    ),
                    aws.glue.CatalogTableStorageDescriptorColumnArgs(
                        comment="",
                        name="col4",
                        type="Boolean",
                    ),
                    aws.glue.CatalogTableStorageDescriptorColumnArgs(
                        comment="",
                        name="col5",
                        type="Boolean",
                    ),
                    aws.glue.CatalogTableStorageDescriptorColumnArgs(
                        comment="",
                        name="Substituted",
                        type="Boolean",
                    ),                ],
                location=f"s3://{self.curated_bucket_name}/iceberg_location/",
            ),
            partition_keys=[
                aws.glue.CatalogTablePartitionKeyArgs(
                    name="col1",
                    type="",
                    comment="",
                ),
                aws.glue.CatalogTablePartitionKeyArgs(
                    name="col2",
                    type="",
                    comment="",
                )
            ],
        )