如何将数据从 datalake 中的多个子文件夹加载到 azure databricks 中的数据框
How to load data from multiple subfolders in datalake to a dataframe in azure databricks
我有几个 csv 文件存在于 azure datalake 的多个子文件夹中。我想获取这些文件中存在的所有数据并将它们加载到 azure databricks 中的数据框中。 databricks中的文件夹和子文件夹的结构如下
Folder name -> YearName2019 -> Month1 ->filename
-> Month2 ->filename
.
->Month12 ->filename
-> YearName2020 ->Month1 ->filename
.
.
->Month12 ->filename
我正在尝试使用以下代码从所有子文件夹中读取数据,但它不起作用
df=spark.read.load('/FolderName/*' ,format='csv' ,sep=',' ,header='True' ,inferSchema=True)
你可以先收集所有的加载路径,例如制作路径列表 listOfPaths
,然后将其作为参数传递给 .load
方法。
看看下面的例子:
val listOfPaths: List[String] = List("Folder name/YearName2019/Month1/filename","Folder name/YearName2019/Month2/filename")
val dataDf = spark.read.format("csv")
.option("sep", ";")
.option("inferSchema", "true")
.option("header", "true")
.load(listOfPaths: _*)
也许您会对与 Spark 相关的其他主题感兴趣,我鼓励您访问我的博客。: https://bigdata-etl.com/articles/big-data/apache-spark/
我有几个 csv 文件存在于 azure datalake 的多个子文件夹中。我想获取这些文件中存在的所有数据并将它们加载到 azure databricks 中的数据框中。 databricks中的文件夹和子文件夹的结构如下
Folder name -> YearName2019 -> Month1 ->filename
-> Month2 ->filename
.
->Month12 ->filename
-> YearName2020 ->Month1 ->filename
.
.
->Month12 ->filename
我正在尝试使用以下代码从所有子文件夹中读取数据,但它不起作用
df=spark.read.load('/FolderName/*' ,format='csv' ,sep=',' ,header='True' ,inferSchema=True)
你可以先收集所有的加载路径,例如制作路径列表 listOfPaths
,然后将其作为参数传递给 .load
方法。
看看下面的例子:
val listOfPaths: List[String] = List("Folder name/YearName2019/Month1/filename","Folder name/YearName2019/Month2/filename")
val dataDf = spark.read.format("csv")
.option("sep", ";")
.option("inferSchema", "true")
.option("header", "true")
.load(listOfPaths: _*)
也许您会对与 Spark 相关的其他主题感兴趣,我鼓励您访问我的博客。: https://bigdata-etl.com/articles/big-data/apache-spark/