flink-kafka-hbase 功能:实现kafka消息实时落地hbase,支持csv/json字符串两种格式的消息,支持自定义组合rowkey,列簇和列名,支持按照kafka消息流中不同字段join不同的hbase表,并自定义写入列簇和列(join时需评估一下性能) 支持at least once语义 外部依赖:apollo配置中心,本项目依靠配置驱动,配置存储在apollo配置中心 配置: { "indexColumnMapping": { --indexColumnMapping即CSV格式消息的key和value按照value里的分隔符拼接后再分割后下标及写入hbase列的对应关系 "0": "basic:time", --第0列始终是kafka消息的key,如果不需要可以不指定 "1": "basic:user_id",
2023-01-30 14:24:41 35KB kafka apollo hbase flink
1
hbase的Rowkey设计⽅案 1.1 hbase的概述 的概述 HBase由于其存储和读写的⾼性能,在OLAP即时分析中越来越发挥重要的作⽤。作为Nosql数据库的⼀员,HBase查询只能通过其 Rowkey来查询(Rowkey⽤来表⽰唯⼀⼀⾏记录),Rowkey设计的优劣直接影响读写性能。 由于HBase是通过Rowkey查询的,⼀般Rowkey上都会存⼀些⽐较关键的检索信息,我们需要提前想好数据具体需要如何查询,根据查询 ⽅式进⾏数据存储格式的设计,要避免做全表扫描,因为效率特别低。 此外易观⽅⾈也使⽤HBase做⽤户画像的标签存储⽅案,存储每个app的⽤户的⼈⼝学属性和商业属性等标签信息。 HBase中设计有MemStore和BlockCache,分别对应列族/Store级别的写⼊缓存,和RegionServer级别的读取缓存。如果RowKey过 长,缓存中存储数据的密度就会降低,影响数据落地或查询效率。 1.2 hbase的设计原则以及解决⽅法 的设计原则以及解决⽅法 1.3 预分区 预分区 1.3.1 什么是预分区 什么是预分区 HBase表在刚刚被创建时,只有1个分区(
2022-12-26 19:16:20 332KB 文档资料
1
用户历史订单列表查询rowkey设计技巧 最左前缀原则
2021-03-28 23:03:09 33KB HBase rowkey设计 分页查询
1
Spark存储数据到HBase实现RowKey完全散列-多进程多线程间Random完全随机,完美解决热点问题
2021-01-28 04:23:44 4KB hbase rowkey spark 热点问题
1