Vị từ kéo xuống chỉ hoạt động để phân vùng cột. Nói cách khác, các tệp dữ liệu của bạn nên được đặt trong các thư mục có cấu trúc phân cấp. Ví dụ:nếu dữ liệu nằm trong s3://bucket/dataset/
và được phân vùng theo năm, tháng và ngày thì cấu trúc sẽ như sau:
s3://bucket/dataset/year=2018/month=7/day=18/<data-files-here>
Trong trường hợp đó, vị từ kéo xuống sẽ hoạt động cho các cột year
, month
và day
chỉ:
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")
Bên cạnh đó, bạn phải lưu ý rằng các vị từ kéo xuống chỉ hoạt động với các nguồn dữ liệu s3.
Đây là một bài đăng trên blog tuyệt vời của được viết bởi các nhà phát triển AWS Glue về phân vùng dữ liệu.