使用hadoop执行复杂查询

y0u0uwnf  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(342)

我们有1 tb大小的mysql数据库。如果我们执行任何具有多个连接的复杂查询,那么系统将花费大量时间来执行。有人建议bigdatahadoop可以解决这个性能问题。您能解释一下如何使用hadoop集群实现这一点吗?我需要使用哪些概念,即apachehadoop、sqoop、spark、hive?

8yparm6h

8yparm6h1#

同意@nagendra,您可以尝试使用apachehawq,它是hawq的开源版本,用于pivotal hd(即hdb)。它对sql标准有很高的遵从性和高性能,特别是对于复杂的查询。原因是它利用了rdbms的mpp处理以及成熟的查询优化器orca和planner。
以下是apache hawq和orca的链接:http://hawq.incubator.apache.orghttpshttp://github.com/greenplum-db/gporca

vsmadaxz

vsmadaxz2#

hadoop和hive可以解决您的问题。由于hadoop可以处理大数据,而hive可以使用类似sql的语言hive query language(hive ql)查询大数据集,因此也可以使用hive query执行类似于查询的复杂连接link:here

o4tp2gmn

o4tp2gmn3#

您可以考虑以下针对hadoop上sql的解决方案。
clouderaimpala:apachehadoop的开源分析mpp数据库。
apachehive:hive提供了一种机制,可以将结构投影到数据上,并使用类似sql的语言hiveql查询数据。使用tez或spark启用hive可以获得更好的性能。
hawq for pivotal hd:hawq是在hdfs中执行sql查询的专有组件。因此,它只是一个关键的产品,尽管它的并行sql处理和对sql标准的高度遵从性是关键的。

相关问题