如何从spark中的数据框创建多个列表?

时间:2017-08-24 00:30:35

标签: mongodb scala apache-spark spark-dataframe

如何从spark中的数据框创建多个列表。 在我的情况下,我想订购具有分组特定密钥的mongodb文档。并创建多个列表,该列表基于一个模式键进行分组 请帮帮我

sparkSession = SparkSession.builder().getOrCreate()
MongoSpark.load[SparkSQL.Character](sparkSession).printSchema()
val characters = MongoSpark.load[SparkSQL.Character](sparkSession)
characters.createOrReplaceTempView("characters")
val sqlstmt = sparkSession.sql("SELECT * FROM characters WHERE site = 'website'")

...

1 个答案:

答案 0 :(得分:0)

您可以这样做:

val columns = sqlstmt.columns.map(col)

task1
  .groupBy(key)
  .agg(collect_list(struct(columns: _*)).as("data"))

不要忘记导入

import org.apache.spark.sql.functions._