Predikát rozbalovací nabídky funguje pouze pro dělení sloupců. Jinými slovy, vaše datové soubory by měly být umístěny v hierarchicky strukturovaných složkách. Pokud jsou například data umístěna v s3://bucket/dataset/
a rozdělené podle roku, měsíce a dne, struktura by měla být následující:
s3://bucket/dataset/year=2018/month=7/day=18/<data-files-here>
V takovém případě by zásobníkový predikát fungoval pro sloupce year
, month
a day
pouze:
datasource = glueContext.create_dynamic_frame_from_catalog(
database = source_catalog_db,
table_name = source_catalog_tbl,
push_down_predicate = "year = 2017 and month > 6 and day between 3 and 10",
transformation_ctx = "datasource")
Kromě toho musíte mít na paměti, že pushdown predikáty pracují pouze se zdroji dat s3.
Zde je pěkný příspěvek na blogu napsaný vývojáři AWS Glue o dělení dat.