【发布时间】:2019-03-26 23:35:07
【问题描述】:
我正在尝试使用 spark scala 将随机数据自动化并加载到空数据帧中
import org.apache.spark.sql.DataFrame
import org.apache.spark.sql.Row
import org.apache.spark.rdd.RDD
val df = spark.sql("select * from test.test")
val emptyDF= spark.createDataFrame(spark.sparkContext.emptyRDD[Row], df.schema)
我在这里尝试使用测试表架构创建一个空数据框。在这种情况下,它是(id int,名称字符串)。 我正在尝试向此数据框添加一个空行。
val df2=Seq((1,2)).toDF("col1","col2")
emptyDF.union(df2)
但是如果我更改表名,我必须在 Seq(data) 和 toDF(columns) 中手动执行此操作,我想更改代码以便可以随机添加数据,并且模式应该从表中推断出来,比如下面的例子
val columninfo = "\""+emptyDF.columns.mkString("\",\"")+"\""
val columncount = emptyDF.columns.size
val x = (1 to columncount).toList.mkString(",")
var df1=Seq(x).toDF(columninfo)
但它不起作用,请让我知道是否有任何其他方法可以将随机数据附加到空数据帧或如何自动化上述操作,或者任何其他适合的方法。 提前致谢
【问题讨论】:
标签: scala apache-spark dataframe apache-spark-sql