我将使用spark-sql cli替换hive cli shell,并按照以下命令运行spark-sql cli,(我们在yarn Hadoop集群上使用,hive-site.xml已经复制到/conf)
.> Spark-SQL
然后shell打开就可以了,
我执行一个类似的查询,
./spark-sql>select devicetype, count(*) from mytable group by devicetype;
命令执行成功,结果正确。但我注意到性能非常慢。
从 Spark 作业用户界面中,http://myhost:4040,我注意到只有 1 个 Executor 标记为已使用,所以这可能就是原因。
我尝试修改spark-sql脚本并在exec命令中添加–num-executors 500,但没有帮助。
那么任何人都可以帮助并解释原因吗?
Thanks.
参考文档:http://spark.apache.org/docs/latest/sql-programming-guide.html
spark-sql
是一种仅在本地模式下工作的 SQL CLI 工具,这就是为什么您只看到一个执行器
如果你想要一个集群版本的 SQL,你应该开始thriftserver
并使用 JDBC 连接到它beeline
例如,工具(与 Spark 一起使用)。您可以在章节中找到描述运行 Thrift JDBC/ODBC 服务器官方文档的http://spark.apache.org/docs/latest/sql-programming-guide.html
开始:
export HIVE_SERVER2_THRIFT_PORT=<listening-port>
export HIVE_SERVER2_THRIFT_BIND_HOST=<listening-host>
./sbin/start-thriftserver.sh \
--master <master-uri> \
...
连接:
./bin/beeline
beeline> !connect jdbc:hive2://<listening-host>:<listening-port>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)