gpt4 book ai didi

python - AWS Glue ETL 作业缺少爬网程序可见的字段

转载 作者:太空宇宙 更新时间:2023-11-03 21:27:42 25 4
gpt4 key购买 nike

我有一个由爬虫创建的表,指向 s3 中存储的一些 Parquet 文件。从 Glue 数据目录 GUI 中我可以看到许多字段 (53)。

当我打开 ETL 开发端点并连接 sagemaker 笔记本、加载相同的表并运行 printSchema 时,我使用下面的代码看到了更少的字段 (36)。

from pyspark.context import SparkContext
from awsglue.context import GlueContext, DynamicFrame

# Get the right stuff
glueContext = GlueContext(SparkContext.getOrCreate())

data = glueContext.create_dynamic_frame.from_catalog(database = "my_database", table_name = "my_table")

print('Fields: ', len(data.schema().fields))
data.printSchema()

仅返回 36 个字段。谁能告诉我如何访问缺失的字段?这种情况似乎最常发生在人烟稀少的田野上。

编辑:This unanswered question AWS 论坛上的问题似乎是由于同样的问题 - 显然 PySpark 试图推断自己的模式,而不是使用爬虫找到的模式。

最佳答案

对于 parquet 文件,Glue 使用 Spark 的读取器,因此依赖于从文件继承的架构,而不是使用爬网程序创建的数据目录中的架构。

如果源文件夹包含具有不同架构的文件,则 Glue 爬网程序会将其合并为一个架构,这使其与您在 ETL 中看到的架构不同。

关于python - AWS Glue ETL 作业缺少爬网程序可见的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53744329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com