Я пытаюсь найти наиболее эффективный способ перебрать тысячи файлов в озере данных и объединить все, которые соответствуют определенному шаблону. У меня есть тысячи файлов с 12 различными схемами. Я пытаюсь объединить файлы с одинаковыми схемами в кадре данных (поэтому у меня будет 12 данных). По ходу дела я хочу добавить имена файлов к полю в каждой схеме. Вот один пример.
Я погуглил решение, и похоже, что оно должно быть:
import glob
dfABC = sc.union([proc(f) for f in glob.glob("rawdata/2019/*/ABC_Folder/ABC*.gz")])
# quick sanity check
print(dfABC.count(),len(dfABC.columns))
Или, может быть, что-то вроде этого.
dfCW = sc.textFile('rawdata/2019/*/ABC_Folder/ABC*'.join(files))
shape(dfCW)
Я использую Azure Databricks и PySpark.
Примечание: после 2019 года у меня есть месяцы и дни, поэтому что-то вроде: / 2019/01/01 /
Я хотел бы зациклитьчерез все файлы в течение одного года, в большинстве случаев, но есть возможность просматривать и месяц за месяцем, потому что содержимое некоторых файлов меняется в середине года.