关于大数据:数据湖搭建指南几个核心问题

51次阅读

共计 2102 个字符,预计需要花费 6 分钟才能阅读完成。

1、什么是数据湖?

数据湖是一种技术零碎,能够大批量并且便宜的剖析结构化和非结构化数据资产。

其实很简略,数据湖的最大魅力在于能够剖析所有类型的数据。

自 2010 年首次提出“数据湖”一词以来,采纳数据湖架构的组织数量呈指数级增长。它们反对多种剖析性能,从数据的根本 SQL 查问到实时剖析,再到机器学习。

次要组成:

数据湖由四个次要组件组成:存储层 格式化层 计算层 元数据层

2、为什么要应用数据湖?

数据湖架构将数据资产整合到一个集中的存储库中。该存储库将用作对以前孤立的数据进行跨功能分析的根基。此外,来自数据湖的架构有助于数字化驱动的实现。

任何领有来自物联网传感器或挪动利用点击流等起源的大规模非结构化数据都能够采纳数据湖架构,这也是将来大数据的倒退方向之一。

数据湖与数据仓库

数据湖和数据仓库的相似之处在于它们都反对剖析大型数据集。然而,他们实现这一指标的办法在几个要害方面有所不同。

模块化:数据仓库通常是专有的、繁多的应用程序,比方应用 HADOOP,HIVE 等构建数据仓库。而数据湖的特点是其组件的模块化,次要由开源技术和凋谢格局组成。

架构:数据仓库要求数据在写入或摄取时立刻合乎 DDL 定义的架构。相比之下,数据湖容许数据自在存储,数据的构造验证在读取时进行。

老本与性能:数据仓库通常以更高的价格提供高性能。用户在将数据插入表之前通常会面临历史记录的聚合,以防止过高的老本。

数据湖将数据存储放弃在极具老本效益的存储服务中,因而不会产生过高存储费用。计算资源可弹性伸缩,以最佳形式满足工作负载的需要,无需额定老本。

结构化与非结构化数据:数据仓库专为结构化表格数据集而设计。而数据湖也可用于剖析非结构化或半结构化格局的数据。

事实上,数据湖与数据仓库是能够并行的,要结合实际业务状况进行。

3、如何构建数据湖?

高度可用的存储服务是数据湖的第一步。

在将数据转换为更适宜剖析的格局之前,应以原始格局存储数据。

接下来,连贯诸如 Spark 或 Presto 之类的计算引擎以对数据运行计算。

总共分四部:

  1. 原始数据进入对象存储
  2. 优化原始数据文件以按大小和格局进行剖析
  3. 增加元数据工具来定义模式并启用版本控制 + 发现
  4. 将上游消费者集成到优化的数据资产中

4、数据湖技术路线

在数据湖的每一层架构中,都有许多技术能够组合起来创立数据湖。

存储: 次要云提供商 AWS S3 的存储服务最罕用于数据湖的存储层。还有许多其余托管和开源存储提供商也齐全可能反对数据湖,包含:MinIO、HDFS、IBM 云存储、阿里巴巴对象存储、Wasabi、Ceph、Oracle 云存储、SwiftStack,和 Spaces Object Storage。

数据格式:最简略的格局示例是 CSV 和 JSON,根本都是反对的。还存在专为数据湖用例设计的更业余的格局,如 Parquet、Delta、Iceberg、Avro 和 Hudi。这些格局进步了湖操作的效率,并使事务原子性和工夫回溯等性能成为可能。

媒体图像、视频和音频文件相干的非结构化数据格式也常见于数据湖中。

计算:大型的计算引擎必须是分布式的。示例包含 MapReduce 和 Hadoop 等技术、以及 Spark、Presto、Flink 等等。

元数据:十分的重要,特地是影响到当前的数据治理。

客户端和库:通过 JDBC/ODBC 和其余数据传输接口,能够拜访湖中数据。S3 API,BI 工具和 SQL 客户端。

5、利用

数据湖实用于所有剖析的场景。

  • 本地数据分析:一旦将数据放入湖中,就无需将其移至其余中央以进行基于 SQL 的剖析。让分析师对数据湖数据运行查问,以辨认趋势并计算无关业务的指标。
  • 机器学习模型训练:机器学习模型通常须要大量数据来训练以优化其参数,并实现高水平的准确性。数据湖使数据科学家能够反复创立训练和测试集以优化模型。
  • 存档和历史数据存储:除了数据湖提供的间接业务价值外,还能够将它们用作存档历史数据的存储。

6、数据湖的挑战

数据湖四周的生态系统绝对较新,在某些状况下应用的技术仍在成熟中。因而,数据湖容易面临一些常见问题。

小文件:一个这样的问题是“小文件问题”,当大量文件(每个文件蕴含大量数据)呈现在数据湖中时就会产生。小文件的问题是它们运行计算和放弃最新的元数据统计数据效率低下。

小文件问题的解决方案是运行定期维护作业,将数据压缩到现实大小以进行无效剖析。

分区 和查问效率:相似于在仓库表上增加索引的概念,数据湖资产能够通过应用分区来优化聚合或过滤某些字段。分区是指按 Blob 存储上的特定字段或字段集对数据进行物理组织。

在没有意识到这一点的状况下,用户可能会因运行不太适宜表分区构造的查问而导致大量老本和等待时间。

共享驱动器:如果没有适当的工作流程和治理,数据湖很容易相似于共享文件夹,多人在其中搁置文件,而无需思考其余用户的预期要求。适当的工作流程是必要的,以防止湖成为数据沼泽。

7、如何防止数据沼泽

数据沼泽是数据湖的进化状态。湖中的表要么返回不精确的数据,要么文件损坏并且查问齐全进行运行。

必须放弃对插入生产数据集的任何数据的品质和属性有充沛的意识。

更多数据湖相干技术与计划分享,欢送关注 大数据流动

相干技术交换群曾经成立,欢送大家扫码退出

正文完
 0