Mra*_*iya 1 scala list apache-spark parquet apache-spark-sql
注意:- 可能有 100 个日期文件夹,我只需要选择特定的(比如 25,26 和 28)
有没有比下面更好的方法?
import org.apache.spark._
import org.apache.spark.SparkContext._
import org.apache.spark.sql._
val spark = SparkSession.builder.appName("ScalaCodeTest").master("yarn").getOrCreate()
val parquetFiles = List("id=200393/date=2019-03-25", "id=200393/date=2019-03-26", "id=200393/date=2019-03-28")
spark.read.format("parquet").load(parquetFiles: _*)
Run Code Online (Sandbox Code Playgroud)
上面的代码正在运行,但我想做类似下面的事情-
val parquetFiles = List()
parquetFiles(0) = "id=200393/date=2019-03-25"
parquetFiles(1) = "id=200393/date=2019-03-26"
parquetFiles(2) = "id=200393/date=2019-03-28"
spark.read.format("parquet").load(parquetFiles: _*)
Run Code Online (Sandbox Code Playgroud)
您可以通过这种方式读取它以读取目录 id=200393 中的所有文件夹:
val df = spark.read.parquet("id=200393/*")
Run Code Online (Sandbox Code Playgroud)
如果您只想选择某些日期,例如仅 2019 年 9 月:
val df = spark.read.parquet("id=200393/2019-09-*")
Run Code Online (Sandbox Code Playgroud)
如果你有一些特殊的日子,你可以在列表中列出天数
val days = List("2019-09-02", "2019-09-03")
val paths = days.map(day => "id=200393/" ++ day)
val df = spark.read.parquet(paths:_*)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4923 次 |
| 最近记录: |