apache-spark - 如何在 Scala 中将 Spark DataFrames 一一添加到 Seq()
问题描述
我使用创建了一个空的 Seq()
scala> var x = Seq[DataFrame]()
x: Seq[org.apache.spark.sql.DataFrame] = List()
我有一个调用的函数createSamplesForOneDay()
,它返回一个 DataFrame,我想将它添加到这个 Seq()x
中。
val temp = createSamplesForOneDay(some_inputs) // this returns a Spark DF
x = x + temp // this throws an error
我收到以下错误 -
scala> x = x + temp
<console>:59: error: type mismatch;
found : org.apache.spark.sql.DataFrame
(which expands to) org.apache.spark.sql.Dataset[org.apache.spark.sql.Row]
required: String
x = x + temp
我想要做的是Seq()
使用 for 循环创建一个数据框,最后union
它们都使用这样的东西 -
val newDFs = Seq(DF1,DF2,DF3)
newDFs.reduce(_ union _)
解决方案
您不能使用 追加到列表+
,您可以像这样追加:
x = x :+ temp
但是当你有一个列表时,你应该在你的元素之前添加:
x = temp +: x
如果您也将输入打包成一个序列,您可以编写更实用的函数,而不是一个一个地添加元素:
val inputs = Seq(....) // create Seq of inputs
val x = inputs.map(i => createSamplesForOneDay(i))
推荐阅读
- java - DJI mavic pro:使用遥控器时接收到损坏的视频
- javascript - 如果今天 = date_in_cell(或今天的迭代 + X) - Google Apps / Javascript
- azure-ad-b2c - 嵌套 JSON 作为 REST API 的输入/输出,使用 Azure AD B2C 自定义策略
- python - k-mean python的图像分离
- google-chrome - 如何仅在 chrome 扩展中在后台切换用户代理
- c++ - 引用强制模板实例化的静态转换,其中不完整的类型很好
- python - python flask-ask 中的 Alexa youtube 技能
- sequelize.js - 如何在不创建表的情况下创建 sequelizejs 服务
- javascript - 如何改变材质Claraplayer Js的不透明度
- java - 引用表中的 JpaRepository findBy 字段