簡體   English   中英

如何從火花數據幀中的 AWS S3 讀取多個文件?

[英]How to read multiple files from AWS S3 in spark dataframe?

我在 S3 存儲桶中有一堆具有這種模式的文件

myfile_2018_(0).tab
myfile_2018_(1).tab
myfile_2018_(2).tab
..
myfile_2018_(150).tab

我想通過讀取所有這些文件來創建一個 Spark Dataframe。 如何創建此正則表達式模式並讀取文件?

文件有標題。 我正在使用 Scala 來完成這項任務。

只需指定一個 glob 模式如下(假設它們在同一個文件夾中):

val input = spark.read.option("header", true).csv("/path/to/data/myfile_2018_([0-9]*).tab")
input = spark.read
.format('com.databricks.spark.csv')
.option("delimiter", "\001")
.option("header", "true")
.option("nullValue", "null")
.load("s3://bucket-name/path/to/data/myfile_2018_([0-9]*).tab", schema=in_schema)

in_schema - 如果需要,您可以傳遞自己的架構,否則刪除此選項。

如果您需要文件夾中存在的所有文件並且架構相同,您可以直接從上面的文件夾中讀取。

input = spark.read
.format('com.databricks.spark.csv')
.option("delimiter", "\001")
.option("header", "true")
.option("nullValue", "null")
.load("s3://bucket-name/path/to/data/")

暫無
暫無

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

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