
Spark
qijingpei
BAT后端开发工程师。之前接触到的业务很杂,所以学习了很多方向的知识,目前专注于后端方向。
展开
-
Spark: org.apache.spark.sql.AnalysisException: Resolved attribute(s) ... missing from....
背景:Spark scala代码处理数据。前言:请先检查代码,是否遗漏了字段,也就是要解析的字段XXX不存在。如果真的漏了,补上即可,不需要再往下看了。具体报错日志如下:ApplicationMaster: User class threw exception: org.apache.spark.sql.AnalysisException: Resolved attribute(s) team_id#51L missing from team_id#479L, … in operator !Join原创 2022-03-19 15:06:49 · 6547 阅读 · 0 评论 -
Spark使用 collect_list 将多行合并成一行,用于保存非group by的字段的值
目标:想对某几个字段group by,但聚合以后,还想保留不是group by字段里的字段的数据,此时可以将这些数据组合类似于Java等语言中的list也就是列表或者说是数组,然后将这个列表,新建一个字段来存储。这样,group by之后,想要的非group by字段里的数据,也能保存下来了。步骤:将多个列组成一个struct(非必须,一般用在要保存多个列的值时)使用group by聚合时,将struct组合成list(必需的。通过collect_list实现)val input: DataF转载 2021-05-03 22:16:07 · 3777 阅读 · 0 评论 -
Spark 实现 对mysql的insert or update if exist:有则更新,没有则插入 (ON DUPLICATE KEY)
Spark 实现 对mysql的insert or update:有则更新,没有则插入废话不说,直接上代码:(因为是从已近上线的代码里造了个demo出来,线上代码已经在跑了,但这个demo没有测试,如果有遇到错误还请跟我说一下,我好改一下,但是整体思路是这样的。)import java.sql.{Connection, DriverManager, Statement}import java.util.Propertiesimport org.apache.spark.sql.{DataFra原创 2021-05-02 11:28:36 · 1887 阅读 · 5 评论 -
Spark 按条件 读取 mysql 数据
一、Spark 读取 mysql 数据网上Spark读取mysql数据的资料还是挺多的,这里贴一下我的代码:新建1个Scala的”Object“import org.apache.spark.sql.{DataFrame, SparkSession}object CsdnTest { def main(args: Array[String]): Unit = { val ss = SparkSession.builder .appName("Test") .原创 2021-05-02 11:08:02 · 1216 阅读 · 0 评论