Я вручную разбивал файлы на панды (создавая индекс или мультииндекс, а затем записывал отдельный файл паркета для каждого индекса в цикле) в BLOB-объект Azure.
Однако при чтении документов дляPyarrow, я вижу, что можно создать «набор данных», который включает в себя структуру папок для секционированных данных. https://arrow.apache.org/docs/python/parquet.html
Пример для папки Monthly / daily - это именно то, чего я пытаюсь достичь.
dataset_name/
year=2007/
month=01/
0.parq
1.parq
...
month=02/
0.parq
1.parq
...
month=03/
...
year=2008/
month=01/
...
fs = pa.hdfs.connect(host, port, user=user, kerb_ticket=ticket_cache_path)
pq.write_to_dataset(table, root_path='dataset_name',
partition_cols=['one', 'two'], filesystem=fs)
Могу ли я сделать это с помощью Azure Blob (или Minio, который использует S3 и оберткичерез хранилище BLOB-объектов Azure)? Моя конечная цель - читать только те файлы, которые имеют смысл для моего «запроса».