Header 个 AWS Glue 数据目录文件
Header files for AWS Glue Data Catalog
我在 s3 中有一些数据,我想使用 AWS Glue 对其进行爬网并将其存储在数据目录中。我遇到的问题是数据本身没有 headers 行。相反,有一个单独的 header 文件 ("header.csv")。有没有一种方法可以告诉 AWS Glue 使用 header.csv 文件来获取列名?否则,Data Catalog 会将列名称显示为 "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"
恐怕爬虫无法从另一个文件中获取 header 信息。
但是您可以编写粘合作业来重命名列。
df = dyf.toDF()
oldColumns = df.schema.names
newColumns = #cols from header file
df = reduce(lambda df, idx:
df.withColumnRenamed(oldColumns[idx], newColumns[ idx]), xrange(len(oldColumns)), df)
我在 s3 中有一些数据,我想使用 AWS Glue 对其进行爬网并将其存储在数据目录中。我遇到的问题是数据本身没有 headers 行。相反,有一个单独的 header 文件 ("header.csv")。有没有一种方法可以告诉 AWS Glue 使用 header.csv 文件来获取列名?否则,Data Catalog 会将列名称显示为 "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"
恐怕爬虫无法从另一个文件中获取 header 信息。
但是您可以编写粘合作业来重命名列。
df = dyf.toDF()
oldColumns = df.schema.names
newColumns = #cols from header file
df = reduce(lambda df, idx: df.withColumnRenamed(oldColumns[idx], newColumns[ idx]), xrange(len(oldColumns)), df)