大数据基础学习:大数据架构的组成部分
大数据体系结构旨在处理对于传统数据库系统而言太大或太复杂的数据的提取,处理和分析。组织进入大数据领域的门槛因用户及其工具的能力而异。对于某些人来说,这可能意味着数百GB的数据,而对于其他人来说,则意味着数百TB的数据。随着用于处理大数据集的工具的发展,大数据的含义也在发展。这个术语越来越多地涉及您可以通过高级分析从数据集中提取的价值,而不是严格地涉及数据的大小,尽管在这种情况下,它们往往会很大。 多年来,数据格局发生了变化。数据可以执行或应执行的操作已更改。存储成本已大大降低,而收集数据的方式却在不断增长。一些数据快速到达,不断要求收集和观察。其他数据的到达速度较慢,但以非常大的块为单位,通常以几十年的历史数据的形式到达。您可能面临着高级分析问题,或者需要机器学习的问题。这些是大数据架构寻求解决的挑战。 大数据解决方案通常涉及以下一种或多种类型的工作负载: 静态处理大数据源。 实时处理运动中的大数据。 交互式探索大数据。 预测分析和机器学习。 在需要时考虑大数据架构: 以传统数据库太大的卷存储和处理数据。 转换非结构化数据以进行分析和报告。 实时,低延迟地捕获,处理和分析无限的数据流。 大数据架构的组成部分 下图显示了适合大数据架构的逻辑组件。单个解决方案可能未包含此图中的每个项目。 大多数大数据架构都包含以下部分或全部组件: 数据来源。所有大数据解决方案都始于一个或多个数据源。示例包括: 应用程序数据存储,例如关系数据库。 应用程序生成的静态文件,例如Web服务器日志文件。 实时数据源,例如IoT设备。 数据存储。用于批处理操作的数据通常存储在分布式文件存储中,该文件存储可以容纳各种格式的大量大文件。这种存储通常称为数据湖。用于实现此存储的选项包括Azure存储中的Azure Data Lake Store或Blob容器。 批处理。由于数据集非常大,因此大数据解决方案通常必须使用长时间运行的批处理作业来处理数据文件,以过滤,汇总和准备数据进行分析。通常,这些作业涉及读取源文件,对其进行处理并将输出写入新文件。选项包括在Azure Data Lake Analytics中运行U-SQL作业,在HDInsight Hadoop群集中使用Hive,Pig或自定义Map / Reduce作业,或在HDInsight Spark群集中使用Java大数据架构,Scala或Python程序。 实时消息提取。如果解决方案包括实时源,则体系结构必须包括一种捕获和存储实时消息以进行流处理的方法。这可能是一个简单的数据存储,将传入消息放入一个文件夹中进行处理。但是,许多解决方案都需要消息摄取存储来充当消息的缓冲区,并支持横向扩展处理,可靠的传递和其他消息排队语义。流架构的这一部分通常称为流缓冲。选项包括Azure事件中心,Azure IoT中心和Kafka。 流处理。捕获实时消息后,解决方案必须通过过滤,聚合或准备数据进行分析的方式来处理它们。然后将处理后的流数据写入输出接收器。Azure流分析基于永久运行的SQL查询提供托管流处理服务,该SQL查询对无限制流进行操作。您还可以在HDInsight群集中使用开源Apache流技术,例如Storm和Spark流。 分析数据存储。许多大数据解决方案准备要分析的数据,然后以可以使用分析工具查询的结构化格式提供处理后的数据。如大多数传统商业智能(BI)解决方案中所见,用于服务这些查询的分析数据存储可以是Kimball式的关系数据仓库。或者,可以通过低延迟NoSQL技术(例如HBase)或交互式Hive数据库(在分布式数据存储中的数据文件上提供元数据抽象)来呈现数据。Azure Synapse Analytics为大型,基于云的数据仓库提供托管服务。HDInsight支持Interactive Hive,HBase和Spark SQL,它们也可以用于提供数据以进行分析。 分析和报告。大多数大数据解决方案的目标是通过分析和报告提供对数据的见解。为了使用户能够分析数据,体系结构可以包括数据建模层,例如Azure Analysis Services中的多维OLAP多维数据集或表格数据模型。通过使用Microsoft Power BI或Microsoft Excel中的建模和可视化技术,它可能还支持自助服务BI。分析和报告还可以采取数据科学家或数据分析师进行交互式数据探索的形式。对于这些情况,许多Azure服务都支持分析笔记本,例如Jupyter,使这些用户能够利用Python或R发挥其现有技能。对于大规模数据探索,您可以独立使用Microsoft R Server或与Spark一起使用。 编排可视化。大多数大数据解决方案由重复的数据处理操作组成,这些操作封装在工作流中,可以转换源数据,在多个源和接收器之间移动数据,将处理后的数据加载到分析数据存储中或将结果直接推到报表或仪表板上。若要自动化这些工作流程,可以使用编排技术,例如Azure Data Factory或Apache Oozie和Sqoop。 (编辑:湘西站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |