我在S3中有一个分区数据集,我的一个AWS Glue抓取工具已注册到目录中。
到目前为止一切顺利。然后我尝试在我的开发端点(隐藏名称)中将此表的所有分区读入单个DynamicFrame(Python):
>>> data = gc.create_dynamic_frame.from_catalog(database='database_name', table_name='table_name')
这似乎有效,但我对这个框架无能为力,甚至不能用printSchema()。它似乎无法正确加载所有S3分区,并在尝试printSchema或转换为Spark DataFrame时抛出以下内容:
[Stage 11:> (0 + 3) / 3]18/04/13 16:58:44 WARN TaskSetManager: Lost task 0.0 in stage 11.0 (TID 64, ip-172-31-50-57.us-west-2.compute.internal, executor 4): com.amazonaws.services.glue.util.FatalException: Unable to parse file: xxx_xxx_20170430.txt
我知道在常规的pyspark中,读取嵌套分区(文件夹结构)很烦人,如果你想要一个数据帧,你必须将它们组合在一起。我认为DynamicFrames在从目录中读取时会处理这个问题,因为它具有分区所在的所有元数据。还有其他我想念的东西吗?
感谢任何帮助!