Zeppelin集成Hive的jdbc连接

本文介绍如何在Zeppelin中集成Hive。通过继承通用JDBC解释器实现集成过程。首先创建并配置Interpreter,设置HiveServer2的IP地址及对应的URL。接着配置依赖项,包括Hive和Hadoop的相关jar包。

zeppelin集成hive,是通过继承通用jdbc解释器来实现。

创建Interpreter

选择Interpreter

选择Create,Interpreter group选择jdbc,Interpreter Name自己随便起个名。

配置Properties

注意,将jdbc:hive2://X.X.X.X:10000/default的jdbc连接串中的X.X.X.X替换成自己集群hiveserver2的IP地址。

NameValue
default.driverorg.apache.hive.jdbc.HiveDriver
default.urljdbc:hive2://X.X.X.X:10000/default
default.userhive

配置Dependencies

需要配置hive的依赖jar包,hadoop的依赖jar包。在配置后,zeppelin会下载相关依赖jar包到zeppelin-0.9.0-bin-all的local-repo目录下。根据下载网速不同,可能需要等待几分钟到几十分钟不等。具体的Dependencies配置如下:

Apache Zeppelin允许用户使用创建的笔记之一作为Zeppelin主页,还能对Zeppelin安装进行品牌定制,根据用户需求调整指导,甚至翻译成其他语言。设置笔记作为Zeppelin主页的相关内容可参考相关文档 [^1]。 Zeppelin有两种版本,分别是zeppelin - 0.7.0 - bin - netinst.tgz和zeppelin - 0.7.0 - bin - all.tgz。netinst是net - install的简写,Interpreters需自己通过网络安装,具体安装教程可查阅官方文档(http://zeppelin.apache.org/docs/0.7.0/manual/interpreterinstallation.html ),例如spark interpreter的安装命令为: ./bin/install - interpreter.sh --name spark --artifact org.apache.zeppelin:zeppelin - spark_2.10:0.7.0(spark2.1.0版本);而all版本则是Interpreters都集成在压缩包中,无需网络安装 [^2]。 在依赖添加方面,当解释器进程启动时,一些依赖会被添加到类路径中,如: ``` /data/zeppelin-0.8.0-bin-all/local-repo/jdbc/hadoop-common-2.6.0-cdh5.13.1.jar /data/zeppelin-0.8.0-bin-all/local-repo/jdbc/hive-common-1.1.0-cdh5.13.1.jar /data/zeppelin-0.8.0-bin-all/local-repo/jdbc/hive-jdbc-1.1.0-cdh5.13.1-standalone.jar /data/zeppelin-0.8.0-bin-all/local-repo/jdbc/hive-serde-1.1.0-cdh5.13.1.jar /data/zeppelin-0.8.0-bin-all/local-repo/jdbc/hive-service-1.1.0-cdh5.13.1.jar /data/zeppelin-0.8.0-bin-all/local-repo/jdbc/curator-client-2.6.0.jar /data/zeppelin-0.8.0-bin-all/local-repo/jdbc/hive-cli-1.1.0-cdh5.13.1.jar ``` [^3] 如果安装的是cdh版本,需要进行如下操作: ```bash cp /opt/install/hadoop/share/hadoop/common/hadoop-common-2.6.0-cdh5.14.2.jar /opt/install/zeppelin-0.8.1-bin-all/interpreter/jdbc cp /opt/install/hive/lib/hive-jdbc-1.1.0-cdh5.14.2-standalone.jar /opt/install/zeppelin-0.8.1-bin-all/interpreter/jdbc ``` 之后可在web界面配置集成hive [^4]。 在数据处理示例中,以银行客户数据集为例,其操作如下: ```scala // 读取CSV文件 val bankText = sc.textFile("path/to/bank-full.csv") // 定义数据结构 case class Bank( age: Integer, job: String, marital: String, education: String, balance: Integer ) // 数据处理:分割字段、过滤表头、映射到Bank类 val bank = bankText .map(_.split(";")) .filter(_(0) != "\"age\"") .map(s => Bank( s(0).toInt, s(1).replaceAll("\"", ""), s(2).replaceAll("\"", ""), s(3).replaceAll("\"", ""), s(5).replaceAll("\"", "").toInt )) // 注册为临时表 bank.toDF().createOrReplaceTempView("bank") ``` [^5]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值