AWS Glue 数据目录的头文件

Posted

技术标签:

【中文标题】AWS Glue 数据目录的头文件【英文标题】:Header files for AWS Glue Data Catalog 【发布时间】:2019-01-15 15:24:15 【问题描述】:

我在 s3 中有一些数据,我想使用 AWS Glue 抓取并存储在数据目录中。我遇到的问题是数据本身没有标题行。相反,有一个单独的头文件(“header.csv”)。有没有办法告诉 AWS Glue 使用 header.csv 文件来获取列名?否则,数据目录会将列名显示为“col0”、“col1”、...“coln”。

即我有以下数据:

s3://bucket/data/animals/header.csv

"id","animaltype","age"

s3://bucket/data/animals/data.csv

"1","cat","5"
"2","dog","2"
"3","otter","7"

【问题讨论】:

【参考方案1】:

恐怕爬虫无法从另一个文件中获取标题信息。

但是您可以编写胶水作业来重命名列。

df = dyf.toDF() oldColumns = df.schema.names newColumns = #来自头文件的列 df = reduce(lambda df, idx: df.withColumnRenamed(oldColumns[idx], newColumns[idx]), xrange(len(oldColumns)), df)

【讨论】:

以上是关于AWS Glue 数据目录的头文件的主要内容,如果未能解决你的问题,请参考以下文章

将 Parquet 文件从 AWS Glue 加载到 Redshift

AWS Glue - getSink() 在glue_context.purge_s3_path 之后立即抛出“没有这样的文件或目录”

使用 AWS Glue 爬虫进行智能采样

使用 Python 在 AWS Glue 中打开和读取文件

AWS Glue 和重复数据删除增量 CSV 文件

如何使用 AWS Glue 将许多 CSV 文件转换为 Parquet