1

我正在使用 php、Hadoop/Hive(单节点 Hadoop 集群-cloudera vm、8 CPU 4 GB RAM)、Thrift API 开发基于 Web 的分析工具。Hive thrift API 按顺序运行 Hive 查询,这需要大量时间来执行。我正在尝试对这些配置单元查询使用多线程方法,以便它们可以并行执行并节省执行时间。

我已在conf/mapred-site.xml文件中将“ mapred.tasktracker.map.tasks.maximum ”的默认值更改为20,并将“ mapred.tasktracker.reduce.tasks.maximum ”的默认值更改为20 。我还在 conf/hive-site.xml 中将“ hive.exec.parallel 默认值更改为true

我可以使用PHP“curl_multi_exec”并行运行 4 个 hive 查询,但 5 个并行 hive 查询需要无限的执行时间。在进行了前面提到的更改后,我仍然得到相同的结果。

我能够并行执行 4 个查询,但不能执行 5 个。

那么,在这里我做错了什么?为什么它适用于 4 个并行查询但不适用于 5 个并行查询?我是否需要对配置文件进行任何其他更改?

谢谢,

4

0 回答 0