Исключения не работают в AWS Glue ELT job s3 соединение - PullRequest
0 голосов
/ 23 марта 2020

Согласно документации AWS Glue, мы можем использовать exlusions для исключения файлов, когда тип подключения s3:

https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html

«exclusion»: (Необязательно) Строка, содержащая JSON список шаблонов глобуса Unix в стиле для исключения. Например, "[\" **. Pdf \ "]" исключает все файлы PDF. Для получения дополнительной информации о синтаксисе glob, который поддерживает AWS Glue, см. Раздел «Включение и исключение шаблонов».

Моему ведру s3 нравится следующее, и я хочу исключить папку test1.

/mykkkkkk-test
   test1/
      testfolder/
         11.json
         22.json
   test2/
      1.json
   test3/
      2.json
   test4/
      3.json
   test5/
      4.json

Я использую следующий код для исключения папки test1, но в моей папке test1 все равно будут находиться файлы ETL, и он не будет работать

datasource0 = glueContext.create_dynamic_frame_from_options("s3",
    {'paths': ["s3://mykkkkkk-test/"],
    'exclusions': "[\"test1/**\"]",
    'recurse':True,
    'groupFiles': 'inPartition',
    'groupSize': '1048576'}, 
    format="json",
    transformation_ctx = "datasource0")

Действительно ли exclusions действительно работает в сценарии pyspark ETL? Я также попробовал следующее, но ни один не работает

'exclusions': "[\"test1/**\"]",
'exclusions': ["test1/**"],
'exclusions': "[\"test1\"]",
...