【问题标题】:Renaming AWS glue table column name without changing underlying parquet files在不更改底层 parquet 文件的情况下重命名 AWS 粘合表列名
【发布时间】:2021-03-11 11:58:59
【问题描述】:

我有一个结构如下的镶木地板文件

column_name_old
First
Second

我正在将此文件抓取到 AWS 胶水中的表中,但是在模式表中,我希望表结构如下所示不更改拼花文件中的任何内容

column_name_new
First
Second

我尝试使用 boto3 更新表结构

col_list = js['Table']['StorageDescriptor']['Columns']
for x in col_list:
    if isinstance(x, dict):
        x.update({'Name': x['Name'].replace('column_name_old', 'column_name_new')})

它可以工作,因为我可以看到在 Glue 目录中更新了表结构,但是当我使用新列名查询表时,我没有得到任何数据,因为表结构和分区文件之间的映射似乎丢失了.

这种方法是否可行,或者我必须更改镶木地板文件本身?如果有可能我做错了什么?

【问题讨论】:

    标签: amazon-web-services boto3 parquet aws-glue aws-glue-data-catalog


    【解决方案1】:

    您可以创建一个将列名映射到其他值的视图。 我相信列名的更改会破坏元目录。

    【讨论】:

      猜你喜欢
      • 2015-10-13
      • 2018-06-27
      • 2021-05-26
      • 2018-01-31
      • 1970-01-01
      • 2019-06-13
      • 1970-01-01
      • 2019-11-27
      • 2021-07-15
      相关资源
      最近更新 更多