译者 |李睿
审校 |孙淑娟
2011年,时任商业智能开发商Pentaho公司首席技术官的James Dixon发明了“数据湖”这一术语。他将数据湖与过后盛行的数据集市的典型消息孤岛启动了对比:假设将数据集市视为开售瓶装水的商店(经过清洁和包装处置以便于饮用),那么数据湖就是处于更人造形态的大片水体。数据湖的内容从一个源头流入,填满湖泊。驳回数据湖,用户可以来审核、潜入或采集样本。
从那时起,数据湖技术不时开展,如今正在与数据仓库争夺大数据存储和剖析的市场份额。各种工具和产品允许数据湖中更快的SQL查问,而环球三个关键云计算提供商都提供了数据湖存储和剖析。甚至还推出了将控制、安保性和剖析与老本更低的存储联合起来的数据湖屋的概念。本文将深化讨论数据湖是什么、如何经常使用数据湖以及如何确保数据湖不会成为数据沼泽。
数据湖实质上是一个繁多的数据存储库,它保留用户的一切数据,直到预备好启动剖析,或许或许只保留不适宜数据仓库的数据。通常状况下,数据湖以其原生文件格局存储数据,但可以将数据转换为另一种格局以提高剖析效率。领有数据湖的指标是从数据中提取业务或其余剖析的价值数据。
数据湖可以托管二进制数据(例如图像和视频)、非结构化数据(例如PDF文档)和半结构化数据(例如CSV和JSON文件)以及结构化数据(通常来自相关数据库)。结构化数据对剖析更有用,但半结构化数据可以很容易地导入结构化方式中。非结构化数据通常可以经常使用智能智能化转换为结构化数据。
疑问不在于能否须要数据湖或数据仓库。很或许两者都须要,但其目的不同,也可以将它们组合起来。首先了解数据湖和数据仓库之间的关键区别:
数据集市是仅限于来自单个部门或业务单位数据的剖析数据库,这与数据仓库同样。数据仓库将企业的一切相关数据组分解适宜剖析的方式,而数据集市经过仅蕴含与部门相关的数据来提供有效的剖析。因此,它们实质上是孤立的。有人宣称孤岛有关紧要,由于业务部门不须要扫除的数据。无理想生存中,这通常很关键——总有一些企业高管须要基于来自多个业务部门的组合数据的报告。这就是目前看到有很少数据湖和数据仓库而很少看到数据集市的要素之一。
当企业将原始数据存储在数据池中时,在数据工程师或数据迷信家对数据启动处置之前,这些数据或许对业务剖析师毫无用途。除了过滤和数据转换之外,数据湖还须要数据目录、数据安保性和形式定义。关于没有这些配置的数据湖来说,就是数据沼泽。
幸运的是,有很多工具可以协助过滤和组织数据湖中的数据。例如,企业可以经过创立ORC格局的Hive元存储来满足对形式的需求。在设置实现之后,元存储经过Presto等大规模并行SQL引擎允许极速SQL查问(提升的行-列格局是一种紧缩的列存储,针对Hive启动了提升,并与Presto配合经常使用)。
ApacheSpark是另一个大规模并行SQL引擎。虽然它可以经常使用ORC格局,但它更实用于另一种紧缩的列式存储Parquet。Spark可以对Parquet文件口头垂直和水平分区,生成只有要读取必要数据,并可以跳过不相关数据的查问方案。
Spark和MLflow面前的Databricks公司提供了他们所谓的数据湖屋(Data Lakehouse)。依据Databricks公司的引见,数据湖屋联合了数据仓库和数据湖的最佳个性:数据湖屋将数据仓库和数据湖一致在一个便捷的平台中,以处置其一切数据、剖析和人工智能用例。它建设在放开且牢靠的数据基础之上,可以有效处置一切数据类型,并在其一切数据和云平台上运行一种通用的安保和控制方法。
Databricks公司开源颁布的DeltaLake经过间接为数据湖中的数据保障了牢靠性和高性能,这导致了数据湖屋的基础。Databricks Lakehouse平台还包括Unity Catalog,它为数据和人工智能提供细粒度的控制。Databricks宣称其数据湖库的性价比是数据仓库的12倍。
从历史上看,数据湖是经常使用Apache Hadoop计算机集群和HDFS(Hadoop散布式文件系统)在外部部署设备实施的。Hadoop集群曾经是Cloudera、Hortonworks等公司的关键业务,而Cloudera与Hortonworks在2018年兼并。
扭转的是云计算服务,特意是超大规模公共云供应商AWS、微软Azure和谷歌云平台(GCP)。这三个关键云计算提供商都提供数据湖存储产品:Amazon S3和Amazon EMR(以前称为Amazon Elastic Map Reduce)、Azure>数据湖的剖析和机器学习
在此之前讨论了经常使用Presto和ApacheSpark在数据湖上启动更快的SQL查问。SQL只是剖析数据的一种方法,虽然它十分关键并且通常是第一步。此外,思考驳回Power BI、Tableau或Qlik等商业智能工具;Jupyter、Zeppelin或Sparknotebooks;, scikit-learn、SparkML或KNIME等机器学习技术;TensorFlow或PyTorch等深度学习技术。
超大规模云计算供应商领有自己的剖析和机器学习工具,用户可以衔接到他们的数据湖。
Amazon Athena经常使用Presto和Hive对AmazonS3中的数据口头SQL查问。Amazon EMR是一个基于云计算的大数据平台,用于经常使用Apache Spark、Apache Hive和Presto等开源剖析框架运转大规模散布式数据处置作业、交互式SQL查问和机器学习运行程序。Amazon SageMaker是一项齐全托管的服务,用于构建、训练和部署机器学习模型。
Azure>Google云存储提供与许多弱小的谷歌云服务的原生集成,例如BigQuery(数据仓库)、Dataproc(Hadoop生态系统)、Dataflow(无主机流式剖析)、视频智能API、Cloud Vision API和人工智能平台。
总之,用户可以十分灵敏地选用适宜的工具来剖析其数据。
自从进入Hadoop集群和MapReduce时代以来,数据湖变得愈加有用。由于内存和大规模并行处置以及基于Hive的形式,Presto和ApacheSpark提供比MapReduce更快的SQL处置。与外部部署的计算机集群相比,基于云计算的数据湖更易于创立、控制和裁减。而云计算数据湖也将与宽泛的剖析和人工智能工具严密集成。
原文题目:
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/6610.html