面试总结

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容