读者交流群已经开通了,有需要的可以私信进入读者交流群
开始之前请参考前面的文章
早先基于Hive的数仓或者传统的文件存储形式(比如Parquet/ORC),都存在一些长期难以解决的问题:
细节展开的话,你会发现每一个问题又会引发众多应用场景层面的问题。
比如并发读写还有更新问题让实时数仓的实现变得很困难。小文件问题需要我们自己写合并代码,并且在合并过程中还会造成数据不可读的问题。如此种种不一而足。
为了解决这些先天不足的问题,我们只能通过复杂的架构设计来解决这些问题(美其名曰lambda架构)。比如为了解决先天不足的更新问题,我们可能需要先将数据写入一个其他的系统(如HBase),然后再将HBase导出成Parquet文件/Hive表供下游使用。在复杂的流程(超长的Pipeline)运行的过程中,还会不断涉及到Schema的变换以及磁盘的读取,所以架构复杂了不仅仅会导