У меня есть некоторые данные, хранящиеся в корзине S3 в формате паркета, в стиле разделения, похожем на куст, с этими ключами разделения: Продавец - год - месяц - день.
Например
my-bucket/
retailer=a/
year=2020/
....
retailer=b/
year=2020/
month=2/
...
Я хочу прочитать все эти данные в блокноте Sagemaker и хочу, чтобы разделы были столбцами моего DynamicFrame, чтобы при включении df.printSchema()
они включались.
Если я использую предложенный Glue метод, разделы не включаются в мою схему. Вот код, который я использую:
df = glueContext.create_dynamic_frame.from_options(
connection_type='s3',
connection_options={
'paths': ['s3://my-bucket/'],
"partitionKeys": [
"retailer",
"year",
"month",
"day"
]
},
format='parquet'
)
Используя обычный искровой код и класс DataFrame, он работает, и раздел включается в мою схему:
df = spark.read.parquet('s3://my-bucket/')
.
Интересно, есть ли способ сделать это с помощью AWS специфичных для клея методов c или нет.