Wie kann ich einen AWS Glue-Job auf einer bestimmten Partition in Amazon S3 ausführen?

Lesedauer: 2 Minute
0

Ich möchte einen AWS Glue-Job auf einer bestimmten Partition an einem Amazon Simple Storage Service (Amazon S3) -Standort ausführen.

Kurzbeschreibung

Verwenden Sie einPushdown-Prädikat, um nach Partitionen im AWS Glue-Datenkatalog zu filtern. Im Gegensatz zu ****Filtertransformationen können Sie mit Pushdown-Prädikaten nach Partitionen filtern, ohne alle Dateien in Ihrem Datensatz auflisten und lesen zu müssen.

Behebung

Erstellen Sie einen AWS Glue-Jobund geben Sie dann das Pushdown-Prädikat im DynamicFrame. Im folgenden Beispiel verarbeitet der Job Daten nur in der**Partition **s3://awsexamplebucket/product_category=Video:

datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "testdata", table_name = "sampletable", transformation_ctx = "datasource0",push_down_predicate = "(product_category == 'Video')")

Im folgenden Beispiel filtert das Pushdown-Prädikat nach Datum. Der Job verarbeitet Daten nur in der **Partition **s3://awsexamplebucket/year=2019/month=08/day=02:

datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "testdata", table_name = "sampletable", transformation_ctx = "datasource0",push_down_predicate = "(year == '2019' and month == '08' and day == '02')")

Im folgenden Beispiel filtert das Pushdown-Prädikat nach Datum nach Partitionen, die nicht im Hive-Stil sind. Der Job verarbeitet Daten nur in der **Partition **s3://awsexamplebucket/2019/07/03:

datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "testdata", table_name = "sampletable", transformation_ctx = "datasource0",push_down_predicate ="(partition_0 == '2019' and partition_1 == '07' and partition_2 == '03')" )

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr