这个官方文档建议有一个函数可以从Glue Catalog中读取样本数据,这个函数是create_dynamic_frame_from_catalog。
详细内容:create_dynamic_frame_from_catalog(数据库,表名,redshift_tmp_dir,transformation_ctx =“",push_down_predicate=“",additional_options = {},catalog_id = None)
但是,当我尝试在代码中使用相同的方法时,它会出错。我尝试了以下两种方法:
选项1(在from_catalog之前加上点,就像我们通常在阅读动态框架时所做的那样- glueContext.create_dynamic_frame.from_catalog):
AWSGlueDataCatalog_node1698294792048 = glueContext.create_sample_dynamic_frame.from_catalog(database="abc",
table_name="def",
transformation_ctx="ijk", sample_options = {'maxSamplePartitions':2, 'maxSampleFilesPerPartition': 3}
)
字符串
错误信息:AttributeError:'Gesterday Context'对象没有属性'create_sample_dynamic_frame'
备选案文2(全部加下划线):
AWSGlueDataCatalog_node1698294792048 = glueContext.create_sample_dynamic_frame_from_catalog(database="abc",
table_name="def",
transformation_ctx="ijk", sample_options = {'maxSamplePartitions':2, 'maxSampleFilesPerPartition': 3}
)
型
错误信息:Py 4JError:调用o96.getSampleDynamicFrame出错,跟踪:
怎么办?我的目的是读取一个非常大的表的一个小样本来实验某些事情,而无需花费大量的数据进行不必要的处理。请帮助!
1条答案
按热度按时间nhhxz33t1#
如果你仔细查看官方文档中的“create_sample_dynamic_frame_from_catalog”定义,你会看到三个必选参数:database、table_name、num。
你错过了'num'参数,这就是为什么你得到上面的错误消息的原因。
我可以使用下面的代码创建一个示例动态帧:
字符串
按照这个步骤,你将能够创建一个示例动态框架,并且你可以保存处理完整数据的成本。:)