Как объединить все сжатые текстовые файлы в одну папку в озере? - PullRequest
0 голосов
/ 02 октября 2019

Я пытаюсь найти наиболее эффективный способ перебрать тысячи файлов в озере данных и объединить все, которые соответствуют определенному шаблону. У меня есть тысячи файлов с 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 /

Я хотел бы зациклитьчерез все файлы в течение одного года, в большинстве случаев, но есть возможность просматривать и месяц за месяцем, потому что содержимое некоторых файлов меняется в середине года.

...