处理维度数据合并的策略
维度数据和状态数据非常像,但也有不同之处:
共同点:
- 长期保存维护
- 可修改
- 使用k-v方式查询
不同点:
- 数据变更的时机不同
状态数据往往因为事实数据的新增变化而变更
维度数据只会受到业务数据库中的变化而变更
根据共同点,维度数据也是非常适合使用hbase存储的,稍有不同的是维度数据必须启动单独的实时计算来监控维度表变化来更新实时数据。
实时处理流程
HBase建表
create table gmall_province_info ( id varchar primary key , info.name varchar , info.region_id varchar , info.area_code varchar )SALT_BUCKETS = 3
增加ProvinceInfo
在scala\com\atguigu\gmall\realtime\bean\ProvinceInfo.scala
case class ProvinceInfo(id:String,
name:String,
region_id:String,
area_code:String) {
}
增加ProvinceInfoApp
import com.alibaba.fastjson.JSON
import com.atguigu.gmall.realtime.bean.ProvinceInfo
import com.atguigu.gmall.realtime.utils.{
MyKafkaUtil, OffsetManagerUtil}