消息关闭
    暂无新消息!

spark如何更新mysql已有数据

问题作者 : 得仔2017-07-26发布
Dataset<Row>.write().mode(SaveMode.Append).jdbc()
往数据库写数据只有Append,Overwrite,ErrorIfExists,Ignore这几种模式,怎样更新原来的数据,一般是怎么处理的

5个回答

︿ 0
foreachPartition算子内每条记录查询一次是否有该主键,这种性能如何呢,假如目标表有几千万的数据,这样性能会不会很差?
︿ 0
我写了个insertOrUpdate,实际逻辑就是Dataset与目标表结构一致,指定某一字段作为id,foreachPartition算子内每条记录查询一次是否有该主键,如果有就进行update(sql拼装),没有就进行insert
最暴力的做法是delete+insert。。。。