Судя по тому, что я прочитал в документации, luigi предназначен для работы с текстовыми файлами или необработанными двоичными файлами в качестве целей. Я пытаюсь создать рабочий процесс luigi для существующего конвейера обработки, который использует файлы HDF5 (из-за их многочисленных преимуществ) с использованием h5py в обычной файловой системе. Некоторые задачи в этом рабочем процессе не создают полностью новый файл, а добавляют новые наборы данных в существующий файл HDF. Используя h5py, я бы прочитал набор данных с помощью:
hdf = h5py.File('filepath','r')
hdf['internal/path/to/dataset'][...]
написать набор данных с:
hdf['internal/path/to/dataset'] = np.array(data)
и проверьте, существует ли набор данных в файле HDF с помощью этой строки:
'internal/path/to/dataset' in hdf
Мой вопрос: есть ли способ адаптировать luigi для работы с этими типами файлов? Мое чтение документации Луиджи заставляет меня думать, что я могу создать подкласс luigi.format.Format
или, возможно, подкласс LocalTarget
и создать собственный «открытый» метод. Но я не могу найти примеры того, как это реализовать. Большое спасибо за любые предложения!
h5py
— это интерфейс кHDF5
файлам.HDFS
- это нечто совершенно другое (файловая система на основе JAVA). Я вижу элементыluigi
документов оHDFS
, но ничего оHDF5
. - person hpaulj   schedule 21.12.2018