create_dynamic_frame_from_catalog 返回零结果

create_dynamic_frame_from_catalog returning zero results

我正在尝试从 athena 创建一个动态粘合数据框 table,但我总是得到一个空数据框。

我正在使用 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 中有几个记录不完整的 features/gotchas 有时令人沮丧。

我建议调查您的 Glue 作业的以下配置:

  1. S3 存储桶名称是否有 aws-glue-* 前缀?
  2. 将文件放在 S3 文件夹中,并确保爬虫 table 定义在文件夹中 而不是实际文件。

如果有帮助,我还在 LinkedIn 上写了一篇关于其他 Glue 问题的博客。

您的 Athena table 指向的路径下是否有子文件夹? glueContext.create_dynamic_frame.from_catalog 不递归读取数据。要么将数据放在 table 指向的根目录中,要么将 additional_options = {"recurse": True} 添加到您的 from_catalog 调用中。

信用: