hive
hive窗口函数分类及使用场景
https://blog.csdn.net/qq_42578036/article/details/111040023
hbase
hbase rowkey设计
rowkey设计原则:
1. 保证rowkey的唯一性:性质与主键唯一一致。
2. 高位散列:高位散列的目的是使数据均匀分布到不同的region上,散列方式一般采用“反转”、“加盐”、“MD5”的方式对高位进行处理。解决热点问题。
3. 长度越短越好:推荐16字节。减少hfile存储占有hbase大量空间,memstore及blockcache的存储空间。
hbase二级索引(各司其职)
什么是hbase索引:
索引是一种数据结构,为了加速查询!
HBase中的一级索引指,数据在写入region时,会根据rowkey进行排序后写入,之后regionserver在加载region时,会自动为当前region的rowkey创建一个LSM树的索引!方便对当前region,rowkey的查询!
二级索引:如果要固定查询一个hbase表中的某些列,可以针对这些列的数据,创建索引,可以在查询指定的数据时,快速定位到列的位置!
https://blog.csdn.net/ddxygq/article/details/122207057
flink
flink窗口及使用场景
https://wenku.baidu.com/view/23c8031d084c2e3f5727a5e9856a561253d32152.html
flink支持的时间语义及处理时是那个时间语义?
Event Time: 事件创建的时间, 每一条数据在它发生地产生的时间
Ingestion(摄入) Time: 数据进入Flink(data source)的时间
Processing Time: 执行操作算子的本地系统时间, 与机器下相关, 这个才是window算子执行的时间
在实际当中我们往往更关心事件时间, 如果获取不到事件时间, 比如没有获取到日志中记录的时间字段, 那么就使用processing time.
Flink默认的时间语义是Processing Time
java
hashmap及hashset的区别及底层原理
https://blog.csdn.net/qq_42524262/article/details/100606320