批处理:由于数据集非常大,大数据解决方案通常必须使用长时间运行的批处理作业来处理数据文件,以便过滤、聚合和准备用于分析的数据。通常这些工作包括读取源文件、处理源文件并将输出写入新文件。选项包括在Azure Data Lake Analytics中运行U-SQL作业,在HDInsight Hadoop集群中使用Hive、Pig或定制Map/Reduce作业,或者在HDInsight Spark集群中使用Java、Scala或Python程序。
数据分析和UI展示:大多数大数据解决方案的目标都是通过分析和报告来洞察数据。为了使用户能够分析数据,体系结构可能包括一个数据建模层,例如Azure Analysis Services中的多维OLAP多维数据集或表格数据模型。它还可能支持自助服务BI,使用Microsoft Power BI或Microsoft Excel中的建模和可视化技术。分析和报告还可以采用数据科学家或数据分析师交互数据探索的形式。对于这些场景,许多Azure服务都支持分析笔记本,比如Jupyter,这使得这些用户能够利用他们现有的Python或R技能来进行大规模的数据探索。
服务编排:大多数大数据解决方案由重复的数据处理操作组成,这些操作封装在工作流中,转换源数据,在多个源和汇聚之间移动数据,将处理后的数据加载到分析数据存储中,或者直接将结果推送到报表或仪表板。要自动化这些工作流,可以使用编排技术,如Azure Data Factory或Apache Oozie和Sqoop。
技巧。许多大数据技术都是高度专门化的,使用的框架和语言并不是更通用的应用程序体系结构的典型。另一方面,大数据技术正在发展基于更成熟语言的新api。例如,Azure Data Lake Analytics中的U-SQL语言基于Transact-SQL和c#的组合。类似地,基于sql的api也可用于Hive、HBase和Spark。
技术成熟。许多用于大数据的技术正在发展。虽然核心Hadoop技术(如Hive和Pig)已经稳定下来,但是新兴技术(如Spark)在每个新版本中都会引入大量的更改和增强。与其他Azure服务相比,Azure Data Lake Analytics和Azure Data Factory等托管服务相对较年轻,并且可能会随着时间的推移而发展。
编排数据摄取。在某些情况下,现有的业务应用程序可能会将用于批处理的数据文件直接写入Azure storage blob容器中,HDInsight或Azure data Lake Analytics可以使用这些文件。然而,您经常需要将来自内部或外部数据源的数据导入数据湖。使用编排工作流或管道(如Azure Data Factory或Oozie支持的工作流或管道)以可预测和集中管理的方式实现这一点。