千锋教育-做有情怀、有良心、有品质的职业教育机构

当前位置:首页  >  关于学院  >  技术干货  >  大数据技术干货  >  正文

在开发的时候有没有用过拉链表?拉链表的应用场景有哪些?怎么用的?

来源:千锋教育
作者:qyf
关键词: 广州 成都
2022-09-28
分享

在开发的时候有没有用过拉链表

  该问题回答两种方式:没有用过拉链表;用过拉链表。(无论是否用过都一定要把你的认知表达出来)

  1、没有用过拉链表,因为我们的开发场景中暂时不设计,我这边可以就简单把我对拉链表的认知给说一下:首先拉链表是在面对处理的数据量比较大,且计算要求保留历史变更数据。其主要的核心在于通过设置两个字段作为数据是否有效性的开关(begin_date,end_date),这样做的目的是保证在表的数据,在某一个时间区间内(时间粒度得统一,月,日,时,分…)有且仅有一条有效的数据。

  2、使用场景:一般再变更历史数据,又需要对变更前的数据留存的时候。

  eg1:

   表t_user_score_info 用于记录用户的账户积分,当积分有变动时才会有数据,且每天(时间粒度为天)最多仅有单条积分数据

  用户每当有新的积分变动时,旧的积分相对于当前就没用了,所以只有最新的才有用。

  无论是积分、余额或者业务表需要进行状态或值更新的表都可以使用。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

相关推荐

  • Hive MapJoin MapJoin 会生成两个Task, 首先启动一个任务扫描小表,生成HashTable数据结构文件,然后加载进分布式缓存 DistributeCache 中,第二个 Task 会扫描大表,然后根据大表中每一条数据中的关联字段去和DistributeCache 中的小表对应...
  • Hive窗口函数 窗口函数是用于分析用的一类函数,要理解窗口函数要先从聚合函数说起。 大家都知道聚合函数是将某列中多行的值合并为一行,比如sum、count等。 而窗口函数则可以在本行内做运算,得到多行的结果,即每一行对应一行的值。通用的窗口函数可以用下面的语法来概括:
  • Hive有搭建集群的必要吗? Hive作业的运行,资源调度是YARN,数仓存储是HDFS,他们两个都是分布式的集群。 对于Hive你可以简单理解成就是负责将你的SQL转换为MR,当然也提供元数据管理(metastore),我们使用Hive时只需要一个客户端即可,对于Hive MetaStore和HiveServer2服务,可以构建一个高可用的(HA)。
  • Spark的shuffle过程和mr的shuffle过程的区别有哪些? MR在reduce端还会进行一次合并排序,spark则在map端就完成了排序,采用Tim-Sort排序算法。基于以上种种原因,MR自定义分区器时往往还需要自定义分组,spark则不需要(或者说map结构已经是自定义分组了)。
  • HBase读流程:如果读缓存和写缓存的数据不一致,怎么返回? 因为HBase读时,先去查询写缓存MemStore,如果有则直接返回,如果写缓存MemStore没有时,则会去查询读缓存BlockCache,如果有就直接返回,没有将会读取对应HFile,并返回同时缓存BlockCache。
  • 在开发的时候有没有用过拉链表?拉链表的应用场景有哪些?怎么用的? 没有用过拉链表,因为我们的开发场景中暂时不设计,我这边可以就简单把我对拉链表的认知给说一下:首先拉链表是在面对处理的数据量比较大,且计算要求保留历史变更数据。其主要的核心在于通过设置两个字段作为数据是否有效性的开关(begin_date,end_date),这样做的目的是保证在表的数据,在某一个时间区间内(时间粒度得统一,月,日,时,分…)有且仅有一条有效的数据。