经过上次的准备我们现在来实现将偏移量存入mysql
为了在mysql中存储偏移量我们首先要在mysql中创建表:
这里设置三个联合主键的目的是为了使这三个属性唯一,如果不设置的话就会出现很多重复的值。如下:
而且每次发生变化的只有offset,所以我们就可以将另外三个属性设为联合主键。
可是这样的话我们每次都用insert去写的话就会报异常。
所以我们可以将insert改为replace into
改为replace就代表当有相同的主键时就会执行更新操作。
代码如下:
package com.sheep.cmcc.utils
import org.apache.kafka.common.TopicPartition
import org.apache.spark.streaming.kafka010.OffsetRange
import scalikejdbc._