摘要:2021云栖大会云原生企业级数据湖专场,阿里云智能高级产品专家李冰为我们带来《数据湖构建与计算》的分享。
本文主要从数据的入湖和管理、引擎的选择展开分享了数据湖方案降本增效的特性。
一、面临的挑战
- 数据如何入湖和管理
- 引擎如何选择
我们在前面的分享当中了解到了OSS将作为数据湖计算当中的中心化的存储。其实数据湖计算本质上就是输入来自各种云上的数据源,经过一系列的转化运算,最终能够支持上层计算的 BI 和 AI 的分析。那在整个数据湖的构建当中,其实我们需要考虑两个问题,一个是各种各样的数据,如何流入到 OSS 的存储当中,流入以后需要做怎样的管理和规划;第二个就是为了支持上层的业务,如何选择计算引擎。接下来我们带着这两个问题开始今天的分享。
二、数据湖的构建
如何进行数据湖构建与管理
如何搭建数据湖
- 存储配置
- 开通 OSS 存储
- 配置存储
- 元数据配置
- 元数据服务搭建
- 创建元数据
- 迁移元数据
- 数据迁移
- 实时数据/全量数据入湖
- 数据清洗
- 更新元数据
- 安全管理
- 数据权限配置
- 数据审计
- 数据计算与分析
- 交互式分析
- 数据仓库
- 实时分析
- 可视化报表分析
- 机器学习
需要解决的问题:
- 元数据服务搭建复杂,维护成本较高
- 实时数据入湖,开发周期长,运维成本高,需要构建流计算任务SparkStreaming/Flink 对数据进行清理
- 多个计算引擎,需要配置多套元数据,且需要考虑元数据同步,同步的准确性,实时性等问题
- 湖上的不同计算引擎使用了不同的权限体系,同一个资源的权限需要在多个引擎多次配置,配置和维护成本高
首先我们来看数据湖的构建。如果我们没有一个标准的云产品,我们在云上怎么样去搭建数据湖呢?我拆解了一下,大概需要五部分。
首先要选择一个存储,我们开通了 OSS 服务以后,选择一个 burket,然后做一些基本的配置。第二步就是数据已经存到 OSS 以后,如何管理数据的元数据。这里面可能会涉及到目录的编排、scheme 的设计等。这一步其实是非常重要的,因为它会关系到后面的运算。在数据湖计算当中,存储是统一,计算是支持多类计算引擎的,所以我们在设计元数据的时候,需要考虑如何让它被所有的计算引擎去消费;当计算引擎对数据做了变更以后,元数据怎么样做到同步,保持一致性。元数据设计完以后ÿ