Athena give error `HIVE_METASTORE_ERROR: Table storage descriptor is missing SerDe info` for iceberg table

0

My requirement is like : I want to query the iceberg table present in another AWS account. Let's say I am a user of account A and want to query account B's iceberg tables present in that account's glue. I followed the steps from AWS docs glue cross account and s3 cross account to attach permission to accountB's glue and s3 bucket where the data is stored and the policy contains required permission with principal account A:root means any user from account A should be able to query. Then I also attached the glue and s3 polices to the account A's user. Then I go to Athena and create the data source as glue with catalog ID as account B's account ID and then I am able to see all the glue databases and tables of account B. But when I query the table such as select * from table it gives the error as HIVE_METASTORE_ERROR: Table storage descriptor is missing SerDe info. But I am able to query the table properly in account B. But yeah it's serDeInfo is empty.

  • Is it only Iceberg table type that gives you the error or all tables shared ?

    What do you get if you run a query for a sample table which has parquet format data ?

    Ex any table without TBLPROPERTIES ( 'table_type' = 'ICEBERG' )

  • Thanks for your reply @Dipankar_G. I tried with glue external tables which is working fine. I created those tables using EMR. But in those table serdeInfo and input and output format is present. I tried to create iceberg table using EMR hoping it would work. But same error I got : Table missing storage descriptor.

    Then I tried editing the serDeinfo information in the created table as org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe But that also didn't work. That also gives some hive_bad_data error. May be this is the case only for iceberg table. But this seems to be a bug.

已提问 1 年前182 查看次数
没有答案

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则