我正在尝试从雅典娜表创建动态胶粘数据框,但是我一直得到一个空的数据框。
雅典娜表是我的胶水数据目录的一部分
create_dynamic_frame_method
调用不会引发任何错误。我尝试加载随机表,但它确实抱怨了健全性检查。
我知道Athena表中有数据,因为使用Athena查询完全相同的表会返回结果
表是s3上的外部json分区表
我正在使用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()
有人面临同样的问题吗?因为没有引发错误,这可能是权限问题还是胶水错误?
答案 0 :(得分:0)
在Glue中有一些记录较差的功能/陷阱有时令人沮丧。
我建议调查您的胶水作业的以下配置:
如果有帮助,我还在LinkedIn上写了一篇有关其他胶水陷阱的博客。
答案 1 :(得分:0)
雅典娜表指向的路径下是否有子文件夹? glueContext.create_dynamic_frame.from_catalog
不会递归读取数据。将数据放在表指向的根目录中,或者将additional_options = {"recurse": True}
添加到您的from_catalog
调用中。