vlambda博客
学习文章列表

通过JDBC访问SparkSQL示例

一、JDBC连接URL

完整连接示例:

jdbc:hive2://zkhostname1:24002,zkhostname2:24002,zkhostname3:24002/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=spark2xthriftserver2x;saslQop=auth-conf;auth=KERBEROS;principal=spark2x/[email protected];user.pricipal=developuser;user.keytab=/opt/client/user.keytab

说明:

  1. zkhostname1:24002,zkhostname2:24002,zkhostname3:24002/

    这一段为zookeeper服务的三个实例节点IP和端口信息,发起JDBC请求的节点需配置对这3个主机名的解析,一般是在/etc/hosts文件中添加对应关系


  2. serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=spark2xthriftserver2x;saslQop=auth-conf;auth=KERBEROS;

    这一段保持默认不变


  3. principal=spark2x/[email protected]

    这一段需要注意域名的变化,如果kerberos配置的默认域名为hadoop651.com,那么这一段变为 principal=spark2x/hadoop.hadoop651.com@HADOOP_651.COM

  4. 指定user.principal和user.keytab用于避免kerberos票据24小时后过期失效

二、连接驱动

驱动类:org.apache.hive.jdbc.HiveDriver

三、连接依赖

连接的依赖jar包获取方式:从客户端类似如下目录获取

/opt/client/Spark2x/spark/jars/jdbc

除这些之外还需补充3个,所有jar包如下图


完成代码示例,请从FusionInsight论坛获取

https://bbs.huaweicloud.com/forum/forum-1103-1.html