Iceberg on AWS: Part 1 - Hello World
Lakehouse, Iceberg, 2024
You pay for what you get! Getting things started with Iceberg on AWS was a beeeze. I was actaully plesantly supprised to find out the Iceberg is a first class table format along with AWS Glue. They must be seing promise with the technology.
Setup
- AWS Glue can create Iceberg Tables directily
- Setup a bucket
- Setting up a schema
[ { "Name": "NAME_FIRST", "Type": "string", "Comment": "" }, { "Name": "NAME_MIDDLE", "Type": "string", "Comment": "" }, { "Name": "NAME_LAST", "Type": "string", "Comment": "" }, { "Name": "NAME_INITIALS", "Type": "string", "Comment": "" }, { "Name": "SEX", "Type": "string", "Comment": "" }, { "Name": "LANGUAGE", "Type": "string", "Comment": "" }, { "Name": "PHONENUMBER", "Type": "string", "Comment": "" }, { "Name": "EMAILADDRESS", "Type": "string", "Comment": "" }, { "Name": "LOGINNAME", "Type": "string", "Comment": "" }, { "Name": "ADDRESSID", "Type": "int", "Comment": "" }, { "Name": "VALIDITY_STARTDATE", "Type": "int", "Comment": "" }, { "Name": "VALIDITY_ENDDATE", "Type": "int", "Comment": "" } ]
AWS automatically create a folder called metadata
Use Athena Query Editor to interact with the table (Note: I adjuested some names.
DESCRIBE AWSDataCatalog.com_kfn_study_aws_iceberg_play_database_erp.employees;
INSERT INTO AWSDataCatalog.com_kfn_study_aws_iceberg_play_database_erp.employees VALUES (
'name_first', 'name_middle', 'name_last', 'name_initials', 'sex',
'language', 'phonenumber', 'emailaddress', 'loginname',
1234345, 20241010, 20241212
);
SELECT * FROM AWSDataCatalog.com_kfn_study_aws_iceberg_play_database_erp.employees;
There is a new folder created in the bucket along with the metadata folder