#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]}'