create_dynamic_frame_from_catalog 返回零结果
create_dynamic_frame_from_catalog returning zero results
我正在尝试从 athena 创建一个动态粘合数据框 table,但我总是得到一个空数据框。
athena table 是我的粘合数据目录的一部分
create_dynamic_frame_method
调用不会引发任何错误。我尝试加载一个随机的 table,它确实抱怨,就像一个完整性检查。
我知道 Athena table 有数据,因为使用 Athena returns 查询完全相同的 table 结果
table 是外部 json,在 s3
上分区 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 作业的以下配置:
- S3 存储桶名称是否有 aws-glue-* 前缀?
- 将文件放在 S3 文件夹中,并确保爬虫 table 定义在文件夹中
而不是实际文件。
如果有帮助,我还在 LinkedIn 上写了一篇关于其他 Glue 问题的博客。
您的 Athena table 指向的路径下是否有子文件夹? glueContext.create_dynamic_frame.from_catalog
不递归读取数据。要么将数据放在 table 指向的根目录中,要么将 additional_options = {"recurse": True}
添加到您的 from_catalog
调用中。
信用:
我正在尝试从 athena 创建一个动态粘合数据框 table,但我总是得到一个空数据框。
athena table 是我的粘合数据目录的一部分
create_dynamic_frame_method
调用不会引发任何错误。我尝试加载一个随机的 table,它确实抱怨,就像一个完整性检查。我知道 Athena table 有数据,因为使用 Athena returns 查询完全相同的 table 结果
table 是外部 json,在 s3
上分区 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 作业的以下配置:
- S3 存储桶名称是否有 aws-glue-* 前缀?
- 将文件放在 S3 文件夹中,并确保爬虫 table 定义在文件夹中 而不是实际文件。
如果有帮助,我还在 LinkedIn 上写了一篇关于其他 Glue 问题的博客。
您的 Athena table 指向的路径下是否有子文件夹? glueContext.create_dynamic_frame.from_catalog
不递归读取数据。要么将数据放在 table 指向的根目录中,要么将 additional_options = {"recurse": True}
添加到您的 from_catalog
调用中。
信用: