簡體   English   中英

PYSPARK - 如何讀取 S3 中所有子文件夾中的所有 csv 文件?

[英]PYSPARK - How to read all csv files in all subfolders in S3?

在 Amazon S3 中,我有一個包含大約 30 個子文件夾的文件夾,每個子文件夾包含一個 csv 文件。

我想要一種從所有子文件夾中讀取每個 csv 文件的簡單方法——目前,我可以通過指定路徑 n 次來做到這一點,但我覺得必須有一種更簡潔的方法。

例如dataframe = sqlContext.read.csv([ path1, path2, path3,etc..], header=True)

像這樣模擬您的情況(使用 jupyter 魔術命令,以便您可以查看文件夾結構)

...只需使用 * ... 還假設每個 csv 具有相同的列數

! ls sub_csv/
print("="*10)
! ls sub_csv/csv1/
! ls sub_csv/csv2/
! ls sub_csv/csv3/
print("="*10)
! cat sub_csv/csv1/*.csv
! cat sub_csv/csv2/*.csv
! cat sub_csv/csv3/*.csv

csv1
csv2
csv3
==========
csv1.csv
csv2.csv
csv3.csv
==========
id
1
id
2
id
3

spark\
.read\
.option("header", "true")\
.csv("sub_csv/*")\
.show()

+---+
| id|
+---+
|  1|
|  2|
|  3|
+---+

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM