【发布时间】: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