了解 Azure Data Lake





5.00/5 (1投票)
探索 Azure Data Lake - 非结构化大数据自由畅游的地方!
引言

数据湖是存储大量原始数据或原始格式数据的地方,与将数据存储在文件或文件夹(分层结构)中的数据仓库不同。数据湖提供无限空间来存储数据,不受限制的文件大小和多种访问数据的方式,并提供分析、查询和处理所需的工具。在数据湖中,每个数据项都分配有一个唯一的标识符和元数据标签。通过这种方式,可以查询数据湖以获取相关数据,并对这组较小的相关数据进行分析。此外,数据也可以在整理并移至数据仓库之前存储在数据湖中。
可存储在数据湖中的数据类型的一些示例包括
· 人类生成的数据(例如,博客、电子邮件、推文)
· 机器生成的数据(例如,日志文件、物联网、传感器读数)
· 运营数据(例如,票务、库存、销售)
· 图像、音频和视频
在 Hadoop(一套可用于大数据操作的开源程序和过程)开发之前,只有像 Google 和 Facebook 这样资源丰富的公司才能从数据湖中获益。然而,随着 Hadoop 的出现,数据湖变得更容易被广泛的组织访问,这些组织现在可以存储和处理他们的大数据。
数据湖用于提供大量详细的源数据,然后用于各种数据分析,包括挖掘、图形、聚类和统计。数据分析的输出包括流失模型、估计、可视化和客户群识别,所有这些都对企业和组织具有宝贵的价值。
Azure Data Lake 概述
Azure Data Lake 是一个 Hadoop 文件系统 (HDFS),它使 Microsoft 服务(如 Azure HDInsight、Revolution-R Enterprise)、行业 Hadoop 发行版(如 Hortonworks 和 Cloudera)都可以连接到它。Azure Data Lake 具有所有 Azure Active Directory 功能,包括多重身份验证、条件访问、基于角色的访问控制、应用程序使用监控、安全监控和警报。

Azure Data Lake 对单个帐户可以存储多少数据没有固定限制。它还可以存储非常大的文件,对大小没有固定限制。这意味着 Azure Data Lake 可以支持大规模并行查询,以便可以在数据湖中的所有数据上运行 Hadoop 和高级分析。此外,Azure Data Lake 可以以低延迟处理大量小写入,这意味着它非常适合物联网 (IoT)、网站分析和传感器分析等场景。
服务
Azure Data Lake 包括三个核心服务
· Azure Data Lake Store
· Azure Data Lake Analytics
· Azure HDInsight

Azure Data Lake Store
Azure Data Lake Store 是一种完全分布式、可扩展且经济高效的大数据分析解决方案,允许跨平台和语言对任何形状、大小和速度的数据进行处理和分析。它将数据与计算分开,并允许访问数据,无论集群是否正在运行。多个集群可以访问相同的存储,因此数据可以轻松共享。
它与其他 Azure 数据服务集成,包括 Azure Databricks 和 Azure Data Factory,并且还与现有 IT 身份、管理和安全投资协同工作,从而使组织能够轻松构建端到端大数据和高级分析解决方案。Azure Data Lake Store 具有高水平的安全性,包括静态数据加密和存储帐户防火墙。它还使用 Azure Active Directory 进行身份验证,并使用访问控制列表来管理对数据湖中数据的访问。
您可以使用 Azure Data Lake Store 可用的语言和接口执行以下操作
• 帐户管理操作 – Azure Powershell、.NET SDK、REST API、Python。
• 文件系统操作 – Azure Powershell、Java SDK、.NET SDK、REST API、Python。
• 加载和移动数据 – Azure Powershell、Azure Data Factory、AdlCopy (存储 Blob 到 Lake store)、Distcp (HDInsight 存储集群)、Sqloop (Azure SQL Database)、Azure Import/Export Service (用于大型离线文件)、SSIS (使用 Azure 功能包)。
下图显示了 Data Lake Store 可能的一些选项。

Azure Data Lake Storage 相对于 Azure Storage Blobs 的优势包括
- 针对并行处理进行了优化
- 没有文件大小或存储限制
- 安全性与 Azure Active Directory 集成。
Azure Data Lake Analytics
Azure Data Lake Analytics 是一种基于云的分布式数据处理架构,基于 YARN,与 Hadoop 平台相同。它允许处理非常大的数据集,与现有数据仓库集成,并并行处理结构化和非结构化数据。Data Lake Analytics 与 Azure Data Lake Store 和 Azure Storage blobs、Azure SQL Database 和 Azure Warehouse 协同工作。Azure Data Lake Analytics 仅作为平台服务由 Microsoft 提供,这意味着您不必处理任何集群问题,也不必单独管理安全性。
Azure Data Lake Analytics 可用于以下方面,其中包括
- 处理从网站抓取的数据。
- 准备要插入数据仓库的数据。
- 处理非结构化图像数据。
Azure Data Lake Analytics 使用 U-SQL。这种语言允许您高效地分析存储中的数据以及关系存储(例如 Azure SQL Database)中的数据。U-SQL 适用于任何类型的数据,无论是结构化还是非结构化。例如,它还可以处理
- 对一组具有模式的文件进行操作。
- 使用分区表。
- 针对 Azure SQL DB 的联邦查询。
- 使用视图、表值函数和过程封装您的 U-SQL 代码。
- SQL 窗口函数。
- 使用 C# 用户定义运算符(自定义提取器、处理器)进行编程。
- 复杂类型 (MAP, ARRAY)。
- 在数据处理管道中使用 U-SQL。
- 用于物联网分析的 Lambda 架构中的 U-SQL。
Data Lake Analytics 也可以是一种经济高效的选择,因为您只需在数据处理时按作业付费。您可以选择按需付费或按月预付费计划。对于经常使用,月度计划是最经济高效的。
设置 Data Lake Analytics 操作涉及以下步骤
- 创建 Data Lake Analytics 帐户
- 准备源数据。您需要拥有 Azure Data Lake Store 帐户或 Azure Blob 存储帐户。
- 开发 U-SQL 脚本。
- 将作业 (U-SQL 脚本) 提交到您的 Data Lake Analytics 帐户。该作业从源数据读取,按照 U-SQL 脚本中的指示处理数据,然后将输出保存到 Data Lake Store 或 Blob 存储帐户。
Azure HDInsight

Azure HDInsight 具有四种主要类型的工作负载:使用 Hadoop 集群的 ETL/ELT、使用 Storm 集群的物联网或动态数据、使用 HBase 的事务处理以及使用 Spark 或 R-server 和 Spark 集群类型的数据科学或数据分析。
Azure HDInsight 保证大规模高可用性,SLA 达到 99.9%。HDInsight 监控您的大数据应用程序的运行状况并自动从故障中恢复。此外,您可以从 30 多个流行的 Hadoop 和 Spark 应用程序中进行选择,ADInsight 然后将其部署到集群中。或者,您可以使用 Visual Studio、Eclipse 或 IntelliJ 等开发工具、Jupyter 或 Zeppelin 等 Notebooks,或者 Scala、Python、R 或 C# 等语言以及 Java 或 .NET 等框架来构建 Hadoop/Spark 应用程序。
HDInsight 还与其他 Azure 服务(例如 Data Factory 和 Data Lake Storage)集成,这使您能够构建全面的分析管道。此外,HDInsight 可以使您轻松满足合规标准,因为它包括加密和与 Azure Active Directory 的集成。
您可以使用 Azure HDInsight 来
- 创建由 Hadoop 提供支持的大数据解决方案和服务。
- 监控和管理 Hadoop 集群。
- 提供有关大数据可用性和使用情况的报告统计数据。
历史
版本 1 - 2018 年 11 月 16 日