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 次
沒有答案

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南