我有一个mysql源代码,从中我创建了一个带有 predicate 下推条件的粘合动态框架,如下所示
datasource = glueContext.create_dynamic_frame_from_catalog(
database = source_catalog_db,
table_name = source_catalog_tbl,
push_down_predicate = "id > 1531812324",
transformation_ctx = "datasource")
无论我在“push\u down\u predicate”中设置什么条件,我总是在“datasource”中获取所有记录。我错过了什么?
2条答案
按热度按时间mwyxok5s1#
这太好了!我可以使用“dt”分区列来获取过去30天的数据:
我使用的是glue 1.0-spark 2.4-Python2。
f0brbegy2#
下推 predicate 仅适用于分区列。换句话说,数据文件应该放在层次结构的文件夹中。例如,如果数据位于
s3://bucket/dataset/
按年、月、日划分,结构如下:在这种情况下,下推 predicate 适用于列
year
,month
以及day
仅限于:除此之外,您必须记住下推 predicate 只能用于s3数据源。
这是一篇由aws glue devs撰写的关于数据分区的博客文章。