一.SparkSQL中thriftserver和beeline的使用

使用的前提是你已经安装好了spark,在这里我使用的版本是spark-2.0.2-bin-hadoop2.7,建议使用该版本,因为试了几个版本都不理想,最后找到了这个版本感觉挺好的,学习Spark SQL很方便.

1. 首先是启动thriftserver服务端:
服务器端是在spark目录下的sbin目录下,但是启动的时候不能直接使用./start-thriftserver.sh进行启动,会报没有设置master, 另外就是Spark SQL是需要和mysql一样操作表的,所以需要连接mysql的驱动jar,因此命令如下:

./start-thriftserver.sh --master local[2] --jars ~/software/mysql-connector-java-5.1.38.jar

启动完成之后可以在浏览器中进行查看,是否启动成功;在浏览器中输入以下地址即可.(阿里云服务器需要开放安全组端口)

ip:4040

进入到下面页面:
一.SparkSQL中thriftserver和beeline的使用_第1张图片
进入到这个页面之后可以点击最右面的 JDBC/ODBC Server,会显示你的启动时间,表示
thriftserver已经启动成功了;
一.SparkSQL中thriftserver和beeline的使用_第2张图片

2. 启动beeline客户端进行数据的操作:

启动程序在bin目录下,只需要输入以下命令就会连接到数据库:

./beeline -u jdbc:hive2://localhost:10000 -n hadoop

会出现以下操作界面:
一.SparkSQL中thriftserver和beeline的使用_第3张图片
出现这个界面就是表示客户端连接成功!下面就是操作数据库的操作,和mysql中一样的;
一.SparkSQL中thriftserver和beeline的使用_第4张图片
另外可以在浏览器中查看刚才的操作行为:
一.SparkSQL中thriftserver和beeline的使用_第5张图片
到这里实际就完成了thriftserver/beeline的使用,下面拓展以下thriftserver端口的修改,只需要在启动的时候加上一段配置命令即可:

./start-thriftserver.sh --master local[2] --jars ~/software/mysql-connector-java-5.1.38.jar \
                --hiveconf hive.server2.thrift.port=14000

–hiveconf 就是修改端口的代表,因为默认的端口是10000,需要修改的话加上即可,对应的启动客户端端口也要进行修改:

 ./beeline -u jdbc:hive2://localhost:14000 -n hadoop

thriftserver和普通的spark-shell/spark-sql的区别?

  1. spark-shell,spark-sql都是一个spark application
  2. thriftserver,不管你启动多少个客户端(beeline/code),永远都是一个spark application
    解决了一个数据共享的问题,多个客户端可以共享数据;

如想了解更多知识请看官网: thriftserver/beeline的使用

你可能感兴趣的:(Spark,SQL)