Есть ли способ определить путь ввода клея AWS с помощью подстановочного знака?

#amazon-web-services #amazon-s3 #wildcard #aws-glue #aws-glue-spark

Вопрос:

У меня есть задание по клею, оно просматривает файлы на текущую дату (у каждой даты есть папка в S3) и обрабатывает данные в этой папке (например: "s3://bucket_name/year/month/day" ), теперь я хочу найти способ определить входной путь s3, который указывает Клею посмотреть предыдущий день и текущий день, есть ли способ это сделать?

 current_glue_input_path = "s3://bucket_name/2021/08/12"
 

Я хочу найти выражение регулярного выражения (может быть , подстановочный знак?) и сказать Клею, чтобы он посмотрел "s3://bucket_name/2021/08/11" и "s3://bucket_name/2021/08/12" , есть ли способ сделать это?

Из этой документации: в разделе «Пример исключения подмножества разделов Amazon S3»:

Вторая часть, 2015/0[2-9]/** , исключает дни в месяцах с 02 по 09, в 2015 году.

Не уверен, что в этом есть смысл, может кто-нибудь помочь, пожалуйста? Спасибо.

(Я только что понял, что эта документация является регулярным выражением для сканера клея, я говорю о работе с клеем, я смотрю не в то место…?)

Ответ №1:

Будет ли программный расчет текущей и предыдущей даты работать? Пример Python ниже —

 from datetime import datetime, timedelta
date_today = datetime.today().strftime('%Y%m%d')
date_yesterday = datetime.strftime(datetime.now() - timedelta(1), '%Y%m%d')
current_glue_input_path = f's3://bucket_name/{date_today[0:4]}/{date_today[4:6]}/{date_today[6:8]}'
yesterday_glue_input_path = f's3://bucket_name/{date_yesterday[0:4]}/{date_yesterday[4:6]}/{date_yesterday[6:8]}'