天下苦‘秦’久矣,大数据风风雨雨一路走来,经历了全球的疫情,见证了美股的多次熔断,其自身存储也在不断发展,前面提到不痛不痒,其实有点夸张。当然如果开发者从传统数仓转到以 Hadoop 为存储的数仓,也许会感到极不适应,犹如戴着脚镣跳舞一般,形容的有点夸张了。
那是什么原因导致传统开发小伙伴不适应目前大数据架构下的数仓呢,吗就是所谓的 CRUD 操作,当然再这里就是特指 Delete 和 Update 两个更新操作,基本上这两个操作困惑了我们大数据小伙伴好多年,因此开篇提到了天下苦秦久矣,其实就是这更新操作做起来比较麻烦,比如想要对历史拉链表进行 Merge 操作,在 Hive 语法中就要写一大串 SQL 代码来实现,而且性能可能还不是很好。记得当初在 Y 公司,有次改了离职小伙伴留下的脚本代码,不小心掉入陷阱,导致我们的拉链数据全部出错,那怎么办呢,那就解链吧,坑啊,Hive 的SQL 语法不太好解,既然这个招我们接不住,那就重做。幸好我们当时对数据做了快照可以恢复,因为我们的拉链任务多,而且跑起来很慢,所以干到凌晨好几点才做完。又是一次特殊的经历,从那时起再也不敢轻易动那个拉链脚本了,里面的日期参数的坑太多了。
然而这两年开源社区也在不断的努力来解决这个问题,可谓雨后春笋、百花齐放、百家争