本文主要是介绍用spark模拟拉链表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
拉链,就是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息。包含了拉链起始时间和结束时间
业务系统可能会覆盖数据,但是抽取过来的所有数据都做了拉链操作后,可以记录历史所有的状态。
删除和更新记录在etl_flag上,是删除还是更新还是插入(D,U,I),苍南所有的拉链操作通过存储过程实现。
RRS是根据数据创建一直往里面插入,然后定期归档(历史数据备份,然后表中删除这部分数据)。
spark 描述了一下 拉链表的逻辑实现,仅供参考:
1. 加载文本文件为RDD
2.RDD 做map ,主键做key ,key -value 的PairedRDD
3.group by key
4.flatmapValue : value list 按照时间排序,填充闭链日期,最后一条填充 2999-01-01
5.输出
对上面代码的解释:
//对文本每行操作得到kv,kv值取决于代码块{}的最后一个表达式的值
var kv=textF
这篇关于用spark模拟拉链表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!