数据湖与Azure Data Lake概述

数据湖是一种新型的数据存储架构,它与传统的数据仓库不同,数据湖不依赖于文件或文件夹的层次结构存储数据。 数据湖提供了无限的存储空间,支持无限制的文件大小,并提供了多种访问数据的方式,同时提供了分析、查询和处理数据所需的工具。 在数据湖中,每个数据项都被分配了唯一的标识符和元数据标签,这使得数据湖可以查询相关数据,并对这些数据进行分析。 此外,数据也可以在数据湖中存储,之后再进行整理并转移到数据仓库中。

数据湖可以存储各种类型的数据,包括:

  • 人类生成的数据(例如博客、电子邮件、推文)
  • 机器生成的数据(例如日志文件、物联网、传感器读数)
  • 操作数据(例如票务、库存、销售)
  • 图像、音频和视频

在Hadoop出现之前,只有像谷歌和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存储)、Distcp(HDInsight存储集群)、Sqloop(Azure SQL数据库)、Azure导入/导出服务(用于大型离线文件)、SSIS(使用Azure功能包)。

Azure Data Lake Storage与Azure Storage Blobs相比的优势包括:

  • 优化了并行处理
  • 没有文件大小或存储限制
  • 安全性与Azure Active Directory集成

Azure Data Lake Analytics是一种基于云的分布式数据处理架构,基于YARN,与Hadoop平台相同。它允许处理非常大的数据集,与现有的仓库集成,并并行处理结构化和非结构化数据。 Azure Data Lake Analytics与Azure Data Lake Store和Azure Storage Blobs、Azure SQL数据库和Azure数据仓库一起工作。 Azure Data Lake Analytics仅由Microsoft作为平台服务提供,这意味着不必处理任何集群问题,也不必单独管理安全性。

Azure Data Lake Analytics可以用于以下用途:

  • 处理从网站抓取的数据。
  • 准备要插入数据仓库的数据。
  • 处理非结构化成像数据。

Azure Data Lake Analytics使用U-SQL。这种语言允许有效地分析存储中的数据以及关系存储中的数据,例如Azure SQL数据库。 U-SQL可以处理任何类型的数据,无论是结构化的还是非结构化的。例如,它还可以处理:

  • 对一组具有模式的文件执行操作。
  • 使用分区表。
  • 对Azure SQL DB执行联合查询。
  • 使用视图、表值函数和过程封装U-SQL代码。
  • SQL窗口函数。
  • 使用C#用户定义的运算符(自定义提取器、处理器)进行编程。
  • 复杂类型(MAP、ARRAY)。
  • 在数据处理管道中使用U-SQL。
  • 在IoT分析的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 HD Insight是托管在Azure中的Hadoop服务,提供托管的Hadoop实例集群,提供Azure平台上的Hadoop。 Azure HDInsight提供了一个软件框架,旨在管理、分析和报告大数据。可以创建多个集群以满足不同作业的需求,根据需要进行扩展和缩减。

Azure HDInsight有四种主要的工作负载类型:使用Hadoop集群的ETL/ELT、使用Storm集群的物联网或数据移动、使用HBase的事务处理以及使用Spark或R服务器与Spark集群类型的数据科学或数据分析。

Azure HDInsight在大规模上保证了高可用性,SLA为99.9%。HDInsight监控大数据应用程序的健康状况,并自动从故障中恢复。 此外,可以从30多个流行的Hadoop和Spark应用程序中选择,ADInsight然后将这些应用程序部署到集群。 或者,可以使用开发工具(如Visual Studio、Eclipse或IntelliJ)、笔记本(如Jupyter或Zeppelin)或语言(包括Scala、Python、R或C#)和框架(如Java或.NET)构建Hadoop/Spark应用程序。

HDInsight还与其他Azure服务(如Data Factory和Data Lake Storage)集成,使能够构建全面的分析管道。 此外,HDInsight可以帮助轻松满足合规性标准,因为它包括加密和与Azure Active Directory的集成。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485