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 之后立即抛出“没有这样的文件或目录”