首页 > 解决方案 > SparkSQL 选择多列,然后加入?

问题描述

我不熟悉 sparksql,但想在此查询中选择多个列,然后加入 2 帧。主键列ID来自 df。

val count1 = df.select(size($"col1").as("col1Name"))
val count2 = df.select(size($"col2").as("col2Name"))

所以最终我想要一张桌子ID, count1 and count2。我怎样才能做到这一点?

标签: scalaapache-spark-sql

解决方案


我相信你想要做的是从 df 中计算 2 列。您可以使用以下方法执行此操作

df.registerTempTable("temp_table")

//Below Is an example how you can use SparkSql

val newdf = spark.sql("select id,count(col1) as count1,count(col2) as count2 from temp_table group by id")

//You can use this dataframe further for operations

newdf.show(false)

推荐阅读