当前位置: 首页 >互联网 > 内容

Hadoop上的SQL如何帮助大数据分析

互联网
导读 Hadoop上的SQL是一组分析应用工具,它将SQL风格的查询和数据处理与最新的Hadoop数据框架元素相结合。Hadoop上SQL的出现是大数据处理的重要...
2022-06-23 01:06:53

Hadoop上的SQL是一组分析应用工具,它将SQL风格的查询和数据处理与最新的Hadoop数据框架元素相结合。Hadoop上SQL的出现是大数据处理的重要发展,因为它通过对Hadoop处理的大量大数据运行SQL查询,让更广泛的人群成功使用Hadoop数据处理框架。显然,Hadoop框架以前是人们无法接触到的,尤其是在查询功能方面。在开发的基础上,开发了多个工具,有望提高企业在处理和分析大数据时的生产力,有质量有速度。学习这个工具不需要投入大量的资金,因为传统的SQL知识就应该这么做。

Hadoop上SQL的定义

Hadoop上的SQL是一组应用程序,允许您对Hadoop数据处理框架托管的大数据运行SQL风格的查询。显然,通过在Hadoop中加入SQL,数据查询、检索和分析变得更加容易。由于SQL最初是为关系数据库设计的,所以必须按照包括MapReduce和Hadoop分布式文件系统(HDFS)的Hadoop 1模型和没有MapReduce和HDFS的Hadoop 2模型进行修改。

最早将SQL与Hadoop相结合的努力之一是使用HiveQL软件创建Hive数据仓库,该软件可以将SQL风格的查询转换为MapReduce作业。之后,又开发了几个可以做类似工作的应用。后来的工具有Drill、BigSQL、HAWQ、Impala、Hadapt、Stinger、H-SQL、Splice Machine、Presto、PolyBase、Spark、JethroData、Shark(Hive on Spark)和Tez(Hive on Tez)。

Hadoop上的SQL是如何工作的?

Hadoop上的SQL通过以下方式与Hadoop协同工作:

Hadoop环境中的连接器将SQL查询转换为MapReduce格式,以便Hadoop能够理解查询。

下推系统在Hadoop集群中执行SQL查询。

根据集群的工作负载,系统在MapReduce-HDFS集群之间划分大量的SQL查询。

看来SQL查询不会改变本质;是Hadoop,它将查询调整为它理解的格式。

SQL Hadoop的主要优势

如前所述,Hadoop上的SQL是一个重要的开发环境,可以让大数据分析接触到更多的人,让数据分析变得更加简单快捷。毫无疑问,Hadoop数据框架已经成为一个很好的大数据分析工具,但它仍然只能被一小部分人访问。这不仅是因为学习其独特的架构需要付出巨大的努力,还因为它与其他技术的兼容性。Hadoop上的SQL有望解决这些问题。

更多的人现在可以访问Hadoop。

似乎Hadoop上的SQL让Hadoop更加平等,因为现在更广泛的人群可以使用Hadoop处理和分析数据。早先,为了使用Hadoop,你需要了解Hadoop架构——MapReduce,Hadoop分布式文件系统或HBase。现在,您可以插入几乎所有的分析或报告工具,并访问和分析数据。得益于Hadoop上的SQL,现在Hadoop引擎上的一些SQL,如Cloudera Impala、Concurrent Lingual、Hadapt、CitusDB、InfiniDB、MammothDB、MemSQL、Pivotal HAWQ、Apache Drill、ScleraDB、Progress DataDirect、Simba、Splice Machine等都已经商业化,可以用于大数据。显然,这使得Hadoop瞄准了更广泛的受众,现在我们可以期待提高大数据投资的回报。

使用Hadoop分析大数据现在变得更加容易。

现在,您需要做的只是对大数据运行旧的SQL查询来检索和分析数据。SQL从关系数据库工具发展到大数据分析工具,确实是一个重大的变化。您不需要担心Hadoop如何处理查询——它有自己的方式来解释SQL查询并为您提供结果。专家认为,虽然Hadoop分布式文件系统确实有并行处理大数据的商品集群,但如果配合SQL交互查询,可以提高其处理能力。在HDFS与SQL结合之前,用HDFS处理数据需要很长时间,而且这项任务需要专业的数据科学家。并且查询不是交互式的。Apache Tez框架包含了Hive数据仓库的Spark分析引擎和Stinger交互查询加速器,这些问题都得到了解决。零售商Target Corporation的战略和架构组经理Anu Jain表示:“确保为用户提供交互式查询访问对我们来说非常重要。通过技术开发中心,我们可以为企业提供这种能力。”

Gartner调查显示,交互式分析在Hadoop用户中日益流行。根据调查,32%的受访者使用HDFS或HBase的第三方接口,27%的人使用Hive的自建查询,23%的人使用Hadoop来具体

分发的工具,如Cloudera Impala和Pivotal HAWQ。

关于Hadoop上SQL的另一个视角

虽然Hadoop上的SQL似乎将解决我们在Hadoop上遇到的许多问题,但还有另一种观点认为SQL可能存在很多问题,尤其是在与Hadoop结合使用时。根据这种观点,在涉及大数据时,SQL可能不是那么高效的分析工具。根据Hadoop Summit用户小组成员John Williams的说法,SQL可能不是处理大数据的最佳分析工具。根据威廉姆斯的说法,他是TrueCar平台运营高级副总裁,该公司为用户提供在线购车平台,“大型数据集上的SQL执行时间很慢。与此同时,使用YARN和Tez之类的东西,SQL上的Hadoop变得越来越快。“

这不是SQL的唯一问题。当您将SQL与Hadoop结合使用时,需要注意数据研究,模式构思,索引和查询创建以及规范化等许多开销任务,并且您可能会花费大量的时间和精力。经过所有这些努力,无法保证您已完成任何永久性的工作。如果有的话,随着应用程序的更改,您可能需要重做已经完成的操作。而不是SQL,应该基于Java和Python完成以数据为中心的大型开发,因为这些语言更适合非结构化数据处理。

结论

关于Hadoop上的SQL是否能解决人们面临使用Hadoop的问题,评委们仍然不清楚。但显然,行业需要一个更好的替代Hadoop自己的数据查询功能,而这个替代方案必须是交互式的。Hadoop工具上的SQL提供了交互式分析,这很有用。企业不希望浪费时间去尝试从复杂,耗时的分析中理解。目前,企业在Hadoop工具上发现SQL非常有用。

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。