如何合并湖中一个文件夹中的所有压缩文本文件?

时间:2019-10-01 21:40:25

标签: pyspark pyspark-sql databricks azure-data-lake azure-databricks

我试图找到一种最有效的方法来遍历数据湖中的数千个文件,并合并所有与特定模式匹配的文件。我有成千上万个具有12种不同模式的文件。我正在尝试将具有相同架构的文件合并到一个数据框中(因此,我将有12个数据框)。现在,我想将文件名附加到每个模式的字段中。这是一个例子。

我在Google周围寻找解决方案,看来应该是这样:

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 /

我想大部分时间循环浏览所有文件,但也可以选择逐月浏览,因为某些文件的内容会在年中更改。

0 个答案:

没有答案