使用 beeline 连接 spark sql

beeline 连接 spark sql

运行 Thrift JDBC/ODBC 服务器

在 Spark 目录中运行如下命令,启动 JDBC/ODBC 服务器:

1
2
3
[root@172 spark-2.2.0-bin-hadoop2.7]# ./sbin/start-thriftserver.sh --master yarn --deploy-mode client --driver-memory 16G --executor-memory 10G --num-executors 8
starting org.apache.spark.sql.hive.thriftserver.HiveThriftServer2, logging to /root/spark-2.2.0-bin-hadoop2.7/logs/spark-root-org.apache.spark.sql.hive.thriftserver.HiveThriftServer2-1-172.16.201.213.out
[root@172 spark-2.2.0-bin-hadoop2.7]#

默认情况下,服务器监听 localhost:10000

运行 beeline 来连接并测试 Thrift JDBC/ODBC 服务器:

spark 自带了 beeline 客户端程序,我们可以使用它连接 JDBC 服务器:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@172 spark-2.2.0-bin-hadoop2.7]# ./bin/beeline
Beeline version 1.2.1.spark2 by Apache Hive
beeline> !connect jdbc:hive2://localhost:10000
Connecting to jdbc:hive2://localhost:10000
Enter username for jdbc:hive2://localhost:10000:
Enter password for jdbc:hive2://localhost:10000:
18/03/27 15:37:23 INFO jdbc.Utils: Supplied authorities: localhost:10000
18/03/27 15:37:23 INFO jdbc.Utils: Resolved authority: localhost:10000
18/03/27 15:37:23 INFO jdbc.HiveConnection: Will try to open client transport with JDBC Uri: jdbc:hive2://localhost:10000
Connected to: Spark SQL (version 2.2.0)
Driver: Hive JDBC (version 1.2.1.spark2)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://localhost:10000>
0: jdbc:hive2://localhost:10000>
0: jdbc:hive2://localhost:10000> show databases;
+---------------+--+
| databaseName |
+---------------+--+
| default |
+---------------+--+
1 row selected (0.054 seconds)
0: jdbc:hive2://localhost:10000>

beeline 将要求您输入用户名和密码。 在非安全模式下,用户名和密码直接回车即可。

在从节点上使用 beeline 连接时,需要指定 host,比如:

1
beeline> !connect jdbc:hive2://172.16.201.213:10000

Spark SQL CLI

要启动 Spark SQL CLI,请在 Spark 目录中运行以下命令:

1
./bin/spark-sql

这个脚本主要对于本地开发比较有用。在共享的集群上,你应该使用JDBC服务器,让各用户通过beeline进行连接。

参考

http://spark.apachecn.org/docs/cn/2.2.0/sql-programming-guide.html#%E5%88%86%E5%B8%83%E5%BC%8F-sql-%E5%BC%95%E6%93%8E