IT学习站-137zw.com

作者: 馥琳
查看: 80|回复: 0

more +资源更新Forums

more +随机图赏Gallery

价值368元 从Docker到K8S实战视频教程 五年工程师主讲 百度云价值368元 从Docker到K8S实战视频教程 五年工程师主讲 百度云
价值299 opencv+tensorflow入门人工智能图像处理 百度云 网盘 下载价值299 opencv+tensorflow入门人工智能图像处理 百度云 网盘 下载
价值199元 Nginx中间件搭建负载均衡安全防护动静分离视频 ...价值199元 Nginx中间件搭建负载均衡安全防护动静分离视频 ...
价值348元 RabbitMQ消息中间件技术精讲2018视频教程 百度云价值348元 RabbitMQ消息中间件技术精讲2018视频教程 百度云
云豹直播平台全套源码无限制完美运营版(安卓+IOS)源码云豹直播平台全套源码无限制完美运营版(安卓+IOS)源码
Spring Security4企业权限管理视频,完整版课程下载Spring Security4企业权限管理视频,完整版课程下载

数据湖的概念以及解决方案

数据湖的概念以及解决方案

[复制链接]
馥琳 | 显示全部楼层 发表于: 2019-11-14 11:20:00
馥琳 发表于: 2019-11-14 11:20:00 | 显示全部楼层 |阅读模式
查看: 80|回复: 0
今天这篇文章主要介绍数据湖(data lake)的定义,其次介绍各大云厂商的解决方案以及目前的开源解决方案。
定义

看下维基百科的定义:数据湖是一个以原始格式(通常是对象块或文件)存储数据的系统或存储库。数据湖通常是所有企业数据的单一存储。用于报告、可视化、高级分析和机器学习等任务。数据湖可以包括来自关系数据库的结构化数据(行和列)、半结构化数据(CSV、日志、XML、JSON)、非结构化数据(电子邮件、文档、pdf)和二进制数据(图像、音频、视频)。定义中的重点内容我用红色字体标注出来,简单说明一下这几点。

  • 原始格式:数据不做预处理,保存数据的原始状态
  • 单一存储:存储库中会汇总多种数据源,是一个单一库
  • 用于机器学习:除了 BI 、报表分析,数据湖更适用于机器学习
数据湖并不是新概念,最早 2015 年就被提出来了,可以看到数据湖经常被拿来跟目前的数据仓库作比较。下面是谷歌搜到的一篇比较早的数据湖和数据仓库对比的文章
数据湖的概念以及解决方案  技术博客 1129006-20190908213730593-2055926583

至于为什么数据湖慢慢走近大家的视野,并且越来越多的跟仓库作比较。我认为主要是跟机器学习的广泛应用有很大关系。
数据湖和数据仓库的对比

大数据刚兴起的时候,数据主要用途是 BI 、报表、可视化。因此数据需要是结构化的,并且需要 ETL 对数据进行预处理。这个阶段数据仓库更适合完成这样的需求,所以企业大部分需要分析的数据都集中到数据仓库中。而机器学习的兴起对数据的需求更加灵活,如果从数据仓库中提数会有一些问题。比如:数据都是结构化的;数据是经过处理的可能并不是算法想要的结果;算法同学与数仓开发同学沟通成本较大等。我在工作中就遇到这种情况,做算法的同学需要经常理解我们的数仓模型,甚至要深入到做了什么业务处理,并且我们的处理可能并不是他们的想要的。基于上面遇到的各种问题,数据湖的概念应运而生。下面的表格对比一下数据湖和数据仓库的区别,主要来自 AWS 。
数据湖的概念以及解决方案  技术博客 1129006-20190908230028618-1371703146

从以上表格的区别上我们可以看到数据湖的应用场景主要在于机器学习,并且在用的时候再建 Schema 更加灵活。虽然数据湖能够解决企业中机器学习应用方面的数据诉求,可以与数据仓库团队解耦。但并不意味着数据湖可以取代数据仓库,数据仓库在高效的报表和可视化分析中仍有优势。
云厂商的解决方案

近几年云计算的概念也是非常火,各大云厂商自然不会错失数据湖的解决方案。下面简单介绍阿里云、AWS 和 Azure 分别的数据产品。

  • 阿里云:Data Lake Analytics,通过标准JDBC直接对阿里云OSS,TableStore,RDS,MongoDB等不同数据源中存储的数据进行查询和分析。DLA 无缝集成各类商业分析工具,提供便捷的数据可视化。阿里云OSS 可以存储各种结构化、半结构化、非结构化的数据,可以当做一个数据湖的存储库。DLA 使用前需要创建 Schema 、定义表,再进行后续分析。
  • AWS:Lake Formation,可以识别 S3 或关系数据库和 NoSQL 数据库中存储的现有数据,并将数据移动到 S3 数据湖中。使用 EMR for Apache Spark(测试版)、Redshift 或 Athena 进行分析。支持的数据源跟阿里云差不多。
  • Azure:Azure Data Lake Storage,基于 Azure Blob 存储构建的高度可缩放的安全 Data Lake 功能,通过 Azure Databricks 对数据湖中的数据进行处理、分析。但文档中并没有看到支持其他数据源的说明
开源解决方案

除了云厂商提供的方案外, 还有一个开源解决方案——kylo 。这个框架的关注度并不高,社区不是很活跃。大概看了下官网的介绍视频,基本上与云厂商的解决方案一致。支持多种数据源,分析时创建 Schema。另外,Databricks 团队(开源 Spark 框架)年初开源了 Delta lake 框架, Delta lake 是存储层,为数据湖带来了可靠性。Delta Lake 提供 ACID 事务、可伸缩的元数据处理,并统一流和批数据处理。Delta Lake运行在现有数据湖之上,与Apache Spark api完全兼容。架构图如下:
数据湖的概念以及解决方案  技术博客 1129006-20190908224458136-1027655331

小结

今天这篇文章主要介绍了数据湖的概念,以及数据湖与数据仓库的区别,然后简单了解了目前数据湖在云厂商和开源软件中的解决方案。作为数仓建设和数据开发人员要密切关注这种新的概念,如果我们的工作中遇到这种问题我们也可以思考是否可以推动数据湖的建设。另外,作为中小企业上云的方案可能是一个比较好的选择,毕竟开源解决方案目前不是很成熟,社区还不是很强大。
公众号「渡码」,分享更多高质量内容
数据湖的概念以及解决方案  技术博客 1129006-20190519220125818-12935098



来源:http://www.137zw.com
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
137zw.com IT学习站致力于免费提供精品的java技术教程和python技术教程,CCNA书籍/资料/CCNP书籍/资料教程/CCIE书籍/资料/H3C学习/认证/一级建造师考试/微软学习/认证/包括基础教程和高级实战教程,同时也提供分享网站源码下载和互联网相关一系列的技术教程,我们想做的就是让知识分享更有价值!(IT学习站官方唯一域名地址:www.137zw.com 请谨防假冒网站!)本站所有资源全部收集于互联网或网友自行分享,分享目的仅供大家学习与参考,如无意中侵犯您的合法权益,请联系本站管理员进行删除处理!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

浙ICP备19022368号-1|Archiver|手机版|IT学习站-137zw.com

GMT+8, 2020-7-6 01:05 , Processed in 0.197157 second(s), 33 queries .

快速回复 返回顶部 返回列表