| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 数据湖介绍,解决数仓痛点 -> 正文阅读 |
|
[大数据]数据湖介绍,解决数仓痛点 |
数据处理流程 ? ? ? ? ? 数据采集-清洗-存储-计算-分析-应用(最重要的是存储和计算最重要) MR处理流程 ? ? ? ? map-hdfs-reduce-map-hdfs-reduce。。。。。这样就很慢 spark+flink 基于内存去处理数据,除了checkpoint以外不和磁盘交互 数据集市:面向主题,面向不同用户的需求 数据库: 主要做增删改查,但是难做数据关系,线性回归啥的 数据仓库: 统一规范存储所有数据,并未所有业务部门提供数据服务 数据仓库具有特性: ? ? 集成性,主题性,稳定性,时效性 数据湖是什么数据仓库解决的问题和痛点: ? ? ? ? 数据仓库解决了不同业务系统数据库之间的数据孤岛问题,但是也有问题 1:没有非结构化的数据:图片,音频,视频,PPT等 2:数据仓库没有保留原始数据 数据湖:不同的数据格式河流汇入湖 结构化数据+非结构化数据 具有以下功能: ? ? 海量数据+数据格式不限制+较好的分析处理能力 ? ? 追求统一存储和统一分析还有批流一体(敏捷) 不断完善的数据湖理念:? ? ? ? 存储原始数据(结构化数据,半结构化数据,非结构化数据,二进制数据如图片) ? ? ? ? 灵活的底层存储(S3/HDFS/Parquet/Orc/Avro,数据缓存加速,轻量级索引) ? ? ? ? 完善的数据管理(多种数据源接入,数据连接,Schema连接,权限管理) ? ? ? ? 多种计算模型(批处理,流处理,交互式分析,机器学习) LakeHouse理念:? ? ? ? DataLake+DataWarehouse 开放性:使用的存储格式开放性和标准化,并且为各类工具和引擎,包含机器学习,Python/R,提供Api,以便可以直接访问数据 支持从非结构化数据到结构化数据的多种数据类型 BI支持:可以在数据源上使用BI工具 支持多种工作负载:包含数据科学,机器学习,sql分析 模式实施和治理: ? ? ? ? 更好管理元数据(Hudi的元数据在Hive),schema管理和治理,不让数据湖变成沼泽地 事务支持: ? ? ? ? 并发读写数据,对ACID事务的支持确保了多方并发读写时的一致性问题 端到端流: ? ? ? ? 为了构建LakeHouse,需要一个增量数据处理框架,如Hudi 数据湖和数仓对比:????????数仓的数据价值必须提前明确,但是数据湖不必,直接导入再找到价值 ? ? ? ? 数据仓库必须先定义Schema再存储,数据湖不用 ? ? ? ? 数据仓的扩展成本是中成本,而数据湖扩展成本较低(支持upsert操作) ? ? ? ?? 数据湖方案:数据湖只是一种思想而已 1:基于hadoop生态的数据湖方案 ? ? ? ? ? ? ? ? 存储:hdfs ? ? ? ? ? ? ? ? 数据分析:Spark,SparkSql(读时模式) 2:基于云上的数据湖方案 3:基于商业产品的数据湖方案 读时模式和写时模式 ? ? ? ? 在传统数据库里,表的模式是在数据加载时强制确定的。如果在加载时发现数据不符合模式,则被拒绝加载数据。因为数据是在写入数据库是对照模式进行检查,因此这一设计有时被称为“写时模式”(schema on write)。 ? ? ? ? ?Hive这种类型的数据处理模式对数据的验证并在不加载数据时进行,而在查询时进行。这称为“读时模式” 数据湖解决的痛点问题:? ? ? ? 离线数仓痛点 ? ? ? ? ? ? ? ? 1:TB级数据T+1离线数仓跑批失败,重跑之后浪费资源 ? ? ? ? ? ? ? ? ? ? ? ? 某个节点数据跑错了,后面都要重跑 ? ? ? ? ? ? ? ? 2:写时模型,字段变更怎么办 ? ? ? ? ? ? ? ? ? ? ? ? 表都定义好了,要是字段变更了后面都要变化 ? ? ? ? 实时数仓痛点 ? ? ? ? ? ? ? ? 1:无分层方案:无中间加工逻辑,直接入库 ????????????????????如果没有分层,kafka+Flink这样的开发简单,但是也没有模型,数据不能重用,浪费资源 ? ? ? ? ? ? ? ? 2:多分层,中间结果基于MQ,深度加工入库,kafka(ods)->flink->kafka(dwd)->flink->kafka(dws)->flink->kudu/ck ? ? ? ? ? ? ? ? 但是kafka无法做海量数据的存储 ? ? ? ? ? ? ? ? kafka也无法做中间模型层的OLAP分析 Lambda架构? ? ? ? 数据源一分为二 ? ? ? ? ? ? ? ? hdfs->hive/sparksql? (批处理层) ? ? ? ? ? ? ? ? kafka->flink/sparkstreaming(速度层) ? ? ? ? 上面的数据要在‘服务层’合并,但是数据的merge成本高,合并不方便 数据湖解决上面的痛点离线数仓问题 ? ? ? ? 数据湖读时模式在读取数据时才检验数据 ? ? ? ? 而且增量更新 实时数仓问题 ? ? ? ? 数据存在湖中,湖作为ods,dwd,dws。中间结果基于数据湖,结果入库 lambda的问题 ? ? ? ? 现在全在数据湖,统一引擎(批流一体flink,spark),所以解决合并问题 升级数据中台目标:? ? ? ? 1:底层存储标准统一化 ? ? ? ? 2:构建实时化标准层,去T+1,保证时效性(分钟级别更新) ? ? ? ? 3:底层存储更安全,更全面,回溯性更便捷,运维成本更低(Hudi可做权限,数据湖可以记录数据的新老版本) 折中方案: ? ? ? ? 数据在湖,模型在仓 ? ? ? ? 在数仓和kafak之间做datalake,但是datalake也直接查询。datalake相当于ods层了 ? ? ? ? 数据湖可upsert也可以小文件合并 总结,数据湖需要的功能? ? ? ? ? ? ? ? 高效的upsert操作 ? ? ? ? ? ? ? ? 高效的回溯能力 ? ? ? ? ? ? ? ? 支持Schema变更 ? ? ? ? ? ? ? ? 支持ACID语义 ? ? ? ? ? ? ? ? 支持flink写操作 ? ? ? ? ? ? ? ? 支持小文件压缩合并 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 22:58:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |