पुशडाउन विधेय केवल कॉलम को विभाजित करने के लिए काम करता है। दूसरे शब्दों में, आपकी डेटा फ़ाइलों को पदानुक्रम से संरचित फ़ोल्डरों में रखा जाना चाहिए। उदाहरण के लिए, यदि डेटा s3://bucket/dataset/
. में स्थित है और वर्ष, महीने और दिन के अनुसार विभाजित किया जाए तो संरचना निम्नलिखित होनी चाहिए:
s3://bucket/dataset/year=2018/month=7/day=18/<data-files-here>
ऐसे मामले में पुशडाउन विधेय year
columns कॉलम के लिए काम करेगा , month
और day
केवल:
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")
इसके अलावा आपको यह ध्यान रखना होगा कि पुशडाउन केवल s3 डेटा स्रोतों के साथ काम करता है।
यहाँ एक अच्छा ब्लॉग पोस्ट है डेटा विभाजन के बारे में AWS Glue devs द्वारा लिखा गया है।