mysql - 通过对现有行执行 GROUP BY 来更新表 SPARK - SQL?

标签 mysql apache-spark apache-spark-sql

我使用 MySQL 作为我的存储引擎从 Spark SQL 中保存表。我的 table 看起来像

+-------------+----------+
|        count|      date|
+-------------+----------+
|           72|2017-09-08|
|           84|2017-09-08|
+-------------+----------+

我想通过使用 GROUP BY 添加计数并删除单独的行来更新表。所以我的输出应该是这样的

 +-------------+----------+
 |        count|      date|
 +-------------+----------+
 |          156|2017-09-08|
 +-------------+----------+

这是正确的期望吗?如果可能的话,如何使用 Spark SQL 实现?

最佳答案

在将表写入 MYSQL 之前,在 spark dataframe/dataset 中应用以下逻辑/p>

import org.apache.spark.sql.functions._
df.groupBy("date").agg(sum("count").as("count"))

并将转换后的dataframe写入MYSQL

关于mysql - 通过对现有行执行 GROUP BY 来更新表 SPARK - SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46137491/

相关文章:

MySQL 加入困惑

MySQL找到两列之间最接近的整数

performance - Spark 读取分区 - 资源成本分析

apache-spark - 无法使用 Spark 2.2 访问 S3 数据

scala - 在 JSON 中读取字典

apache-spark - 如何将redis转成spark数据集或dataframe?

mysql - 格式化 SQL 表删除 0 并根据年份对它们进行分组

sql - 带动态最后的 Spark 高级窗口

scala - 如何分组并连接 Dataframe Spark Scala 中的列表

mysqldump 不会转储我的数据