提高运行效率一般采取底层使用spark引擎替换成hive引擎的方式提高效率,但替换引擎配置较为复杂考虑到兼容版本且容易出错,所以本篇将介绍使用DBeaver直接连接spark-sql快速操作hive数据库。
在spark目录下运行以下命令,创建一个SparkThirdService端口号为10016
sudo -u root ./sbin/start-thriftserver.sh \
--hiveconf hive.server2.thrift.port=自定义端口号 \
--hiveconf hive.server2.thrift.bind.host=主机ip地址 \
--hiveconf spark.sql.warehouse.dir=hdfs://主机IP地址:hadoop端口/hive在hdfs下的路径目录
--master yarn \
--executor-memory 4G \
--conf spark.sql.shuffle.partitions=10
主机地址和端口自己按照自己的环境需要更改
每次重启后运行启动都要执行,可自己编写为sh文件执行
在/home下创建一个client-saprk-sql
vi /home/client-saprk-sql
将启动SparkThirdService内容写入到文件中:
这里写了该文件的绝对路径
sudo -u root /opt/module/spark/sbin/start-thriftserver.sh \
--hiveconf hive.server2.thrift.port=10016 \
--hiveconf hive.server2.thrift.bind.host=192.168.10.137 \
--hiveconf spark.sql.warehouse.dir=hdfs://192.168.10.137:9000/user/hive/warehouse \
--master yarn \
--executor-memory 4G \
--conf spark.sql.shuffle.partitions=10
执行:
sh /home/client-saprk-sql
编辑连接:
测试连接成功
建个表插入数据测试一下:
CREATE TABLE test_table (
id STRING,
name STRING
);
INSERT INTO test_table VALUES ('1', 'John');
INSERT INTO test_table VALUES ('2', 'Jane');
使用spark-sql方式操作hive插入速度非常快