将Dataframe作为值分配给scala中的Map

mm9b1k5b  于 2021-05-27  发布在  Spark
关注(0)|答案(2)|浏览(504)

我有一个列表[a,b,c](这是动态的,列表可以增加或减少)我想创建一个Map作为

a => df1
b => df2
c => df3

我的意图是通过读取列表中提供的路径来读取列表并创建dataframse。

list.map{x => dynamicalyCreatedVariable = readCSV("x")}
64jmpszr

64jmpszr1#

在斯卡拉 map 功能不同于 Map 数据结构。您可以创建 Map 没有DynamicCreatedVariable:

val paths = List("a", "b", "c")
val pathsToData: Map[String, DataFrame] = paths
  .map{ path => path -> spark.read.csv(path) }
  .toMap
gudnpqoy

gudnpqoy2#

检查以下代码。

scala> val paths = Seq("a","b","c")
paths: Seq[String] = List(a, b, c)

scala> val reader = spark.read.format("csv") // creating reader object
reader: org.apache.spark.sql.DataFrameReader = org.apache.spark.sql.DataFrameReader@2ce2662f

scala> paths.map(path => reader.load(path))

相关问题