痛点:
parquet文件在离线数仓能提升几十倍的读性能,但是只支持只读,一般做法是定时任务全量刷新。同时离线需求复杂,依赖表多且数据量都很大,时间窗口T+1,要在窗口期内把所有依赖表每次都全量刷不太现实
网上找了下目前支持相关技术,并且做了简单的整理,不排除各技术已经做了增强,不限于如下表格:
一、Delta Lake
Delta Lake是在2019 spark conf由来自databricks的工程师 Michael Armbrust (sparkSQL创始人之一)分享的,大概看了下感觉其他都次要的,主要还是支持增删改:
参考blog和PPT:
Near Real Time Data Warehousing with Apache Spark and Delta Lake
Delta Lake: Open Source Reliability and Quality for Data Lakes
这个原理跟hive支持事务原理差不多,所以有些技术也有选择