65.9K
CodeProject 正在变化。 阅读更多。
Home

了解 Azure Data Lake

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2018年11月16日

CPOL

7分钟阅读

viewsIcon

9557

探索 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 是一种在 Azure 中托管的 Hadoop 服务产品,它使托管 Hadoop 实例集群能够在 Azure 平台上运行 Hadoop。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 日

© . All rights reserved.