《数据湖分析之Upsert详解.pdf》由会员分享,可在线阅读,更多相关《数据湖分析之Upsert详解.pdf(22页珍藏版)》请在三个皮匠报告上搜索。
1、协办方直播支持 腾 讯 大 数 据 技 术 系 列 沙 龙 第 3 期 新一代数据湖技术 陈俊杰 腾讯TEG 数据湖研发组 高级工程师 数据湖分析之Upsert 功能详解 传统数仓入库痛点 新一代数据湖技术 下一步展望 目录 传统数仓数据入库痛点 典型场景:业务数据(SQL/NoSQL)全量入库 典型T+1方案,数据延迟大 全量扫瞄源库,给源库造成压力,同时浪费计算和存储资源。例如使用Sqoop 限制:源库信息变更不能同步到数仓,例如:Schema变换 传统数仓数据入库痛点 改进的场景:CDC导入到Kafka再导入到HBase, Kudu HBase, Kudu无法存储全量数据,需要再次导入到
2、Hive库分析 整个流程需要多个组件联动,部署复杂 限制:仍然无法解决数据Schema变动情况 腾讯大数据TDW入库 腾讯大数据场景:TDBANK入库 消息分拣层分拣消息落地成HDFS文件,定时启动Hive任务进行入库操作 数据延迟依赖于定时任务,以及Hive入库Job运行情况 无法处理延迟到达数据,延迟到达数据重新入库导致数据丢失 新一代数据湖技术 全新的数据入湖方式 CDC 新一代数据湖Upsert技术优势 ACID & Snapshot 读写分离,数据落 地即可用 历史信息可追溯 Row-level update CDC增量更新 延迟数据修正 Table Evolution 文件组织方式
3、更灵 活,不再依赖目录 分区 支持列增删改 Upsert操作简介 Upsert是根据一张源表数据,对目标表的数据进行插入、删除和更新。它的典型SQL语 法入下所示: MERGE INTO db_name.target_table AS target_alias USING db_name.source_table AS source_alias ON WHEN MATCHED AND THEN WHEN MATCHED AND THEN WHEN NOT MATCHED AND THEN 其中 = DELETE | UPDATE SET * | UPDATE SET column1 = value1 , column2 = value2 . = INSERT * | INSERT (column1 , column2 .) VALUES (value1 , value2 .) Upsert