六月下旬全新资源上线!丨 解锁高效能实战方案

更新亮点:本次新增6大专题10项资源,更有王炸课程重磅登场,点击标题了解!(参与互动赢取麦豆,解锁更多内容)

王炸专区:场景化数据分析实战

一站式贯通数据驱动全流程,从需求洞察→数仓开发→模型构建→可视化呈现,手把手带你构建决策引擎,助你秒变企业决策智多星!

二、实战技巧分享

即席/透视的逆袭之路:从卡顿到秒出→ 性能优化实战,实现报表秒级响应!

体验中心焕新一“夏”,全新导览页及新DEMO上线!→ 抢先体验夏季更新DEMO!

速看!明细/汇总/交叉表的实现秘籍→ 高效构建复杂报表指南

三、开发技能突破

视频课《仪表盘图片鼠标提示几行代码,让你的仪表盘“会说话”!

视频课《仪表盘宏开发技巧→ 解锁宏开发技巧和注意事项

四、直播上线

直播《交互式仪表盘最佳实践解锁可视化大屏最佳实践技巧

五、AI每日一学

人工智能三驾马车:算法、算力与数据→ 深度解析AI核心支柱

通俗的讲一下神经网络模型的基本组成、工作原理、工作类型和生活应用场景→ 从基础到场景实战

六、资源上新

插件《安全检测→ 一键加固系统安全防护

麦粉社区
>
帖子详情

大数据源-Smartbi通过JDBC方式连接SparkSQL

数据连接 发表于 2019-11-21 14:07
发表于 2019-11-21 14:07:53
Hive是支持JDBC方式连接的,因为它自带了一个Thrift Server。
这个Thrift Server是FaceBook开发的一个接口,可以让程序通过ODBC、JDBC的方式连接。
同样的,SparkSQL也自带了这个Thrift Server,所以SparkSQL也可以通过JDBC的方式连接,用来访问Hive里面建好的表的数据。
操作步骤如下:
第一步:启动SparkSQL中自带的Thrifter Server
1、从hive的安装目录下,找到conf/hive-site.xml文件,拷贝到Spark所有节点的安装目录下conf文件夹;
2、如果hive的元数据存储是用mysql的话,那么还需要把mysql的jdbc包放到Spark所有节点的安装目录下的jars目录(低版本的是lib目录);
3、启动Thrift server,在spark安装目录下执行:
内网连接:
sbin/start-thriftserver.sh --master spark://10.9.2.100:7077  --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar
   
外网连接:
sbin/start-thriftserver.sh   --hiveconf hive.server2.thrift.port=10000  --hiveconf hive.server2.thrift.bind.host=hadoop-master     --master spark://10.9.2.100:7077  --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar

        采用spark on yarn的方式
        sbin/start-thriftserver.sh  --hiveconf hive.server2.thrift.port=10000 --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar --master yarn --driver-cores 2 --driver-memory 2G --executor-cores 2 --executor-memory 2G --num-executors 8

其中:
spark://10.9.2.100:7077:是Spark的master地址,根据需要修改
/usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar:是mysql的jdbc的jar包的路径,根据需要修改
--hiveconf hive.server2.thrift.port=10000:端口是10000,如果跟hive的端口冲突了,可以根据需要修改
4、启动完成后,用jps命令,可以看到一个SparkSubmit的进程
5、用beeline连接测试一下是否OK,用法如下(IP地址和端口根据需要修改):
cd spark的安装目录/bin
[hadoop@node1 bin]$ ./beeline -u [url=]jdbc:hive2://192.168.1.26:10000/default -n hadoop[/url]
0: [url=]jdbc:hive2://192.168.1.26:10000/default[/url]> show databases;
0: [url=]jdbc:hive2://192.168.1.26:10000/default[/url]> show tables;
0: [url=]jdbc:hive2://192.168.1.26:10000/default[/url]> !quit

第二步:用Smartbi连接SparkSQL
1、把Thrift Server相关的jar包放到smartbi的lib目录下,从spark安装目录下的jars目录找到需要以下jar包:
hive-beeline-1.2.1.spark2.jar
hive-cli-1.2.1.spark2.jar
hive-exec-1.2.1.spark2.jar
hive-jdbc-1.2.1.spark2.jar
hive-metastore-1.2.1.spark2.jar
spark-hive_2.11-2.1.0.jar
spark-hive-thriftserver_2.11-2.1.0.jar
spark-network-common_2.11-2.1.0.jar
libfb303-0.9.2.jar
libthrift-0.9.2.jar
httpclient-4.5.2.jar
httpcore-4.4.4.jar
hadoop-common-2.7.3.jar

同时删除smartbi自带的httpclient-4.2.5.jar、httpcore-4.2.5.jar

2、重启Smartbi
3、新建数据源时,填写以下信息:
数据源类型:hadoop_hive
Driver:org.apache.hive.jdbc.HiveDriver
URL:[url=]jdbc:hive2://122.23.368.32:10000/default[/url]
用户:hadoop
密码:一般默认是空

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 0关注人数 6068浏览人数
最后回复于:2019-11-21 14:07
快速回复 返回顶部 返回列表