scala - 如何在 apache Spark 中展平数据框 |斯卡拉

标签 scala apache-spark dataframe apache-spark-sql

我有以下数据框:

df1

uid  text  frequency
1    a     1
1    b     0
1    c     2
2    a     0
2    b     0
2    c     1

我需要根据 uid 将其展平为:

df2

uid  a  b  c
1    1  0  2
2    0  0  1

我在 R 中研究过类似的代码,但无法将其转换为 sql 或 scala。

关于如何解决这个问题有什么建议吗?

最佳答案

您可以按uid分组,使用text作为数据透视列并求和频率:

   df1
     .groupBy("uid")
     .pivot("text")
     .sum("frequency").show()

关于scala - 如何在 apache Spark 中展平数据框 |斯卡拉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37341321/

相关文章:

python-3.x - 从数据框中过滤行

scala - 为一组案例类动态填充一些属性

java - Spark 使用 sc.textFile 从 S3 读取文件(“s3n ://. ..)

scala - 将元素添加到作为映射值的 Scala 集

apache-spark - 根据 RDD/Spark DataFrame 中的特定列从行中删除重复项

apache-spark - Spark SQL 和使用现有的配置单元 udfs

hadoop - 如何根据插入语句更改 Hive 表?

scala - Scala 编译器是否公开了将 Scala 名称转换为底层 JVM 名称的功能?

pandas - 如何将 API 数据导入 Pandas DataFrame?

python - 如何合并多维数据框和不同长度的系列?