我正在尝试从 athena 表创建一个动态粘合数据框,但我总是得到一个空数据框。
athena 表是我的粘合数据目录的一部分
create_dynamic_frame_method
调用不会引发任何错误。我尝试加载一个随机表,但它确实像完整性检查一样提示。我知道 Athena 表有数据,因为使用 Athena 查询完全相同的表会返回结果
表是外部json,s3上的分区表
我正在使用 pyspark,如下所示:
import sys
from pyspark.context import SparkContext
from awsglue.context import GlueContext
# Create a Glue context
glueContext = GlueContext(SparkContext.getOrCreate())
# Create a DynamicFrame using the 'raw_data' table
raw_data_df =
glueContext.create_dynamic_frame.from_catalog(database="***",
table_name="raw_***")
# Print out information about this data, im getting zero here
print "Count: ", raw_data_df.count()
#also getting nothing here
raw_data_df.printSchema()
有人遇到同样的问题吗?由于未引发任何错误,这可能是权限问题还是胶水错误?
最佳答案
Glue 中有几个记录不完整的功能/陷阱,有时令人沮丧。
我建议调查您的 Glue 作业的以下配置:
- S3 存储桶名称是否有 aws-glue-* 前缀?
- 将文件放在 S3 文件夹中,并确保爬虫表定义在文件夹中 而不是实际文件。
我还在 LinkedIn 上写了一篇博客关于其他 Glue 问题,如果有帮助的话。
关于pyspark - create_dynamic_frame_from_catalog 返回零结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53137425/