>>>在eclipse中使用JDBC连接Hive前需要开启Hive监听用户链接
hive/bin/ext$ hive --service hiveserver
>>>配置eclipse环境
在pom.xml中添加hive包依赖
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <hadoop.version>2.5.0</hadoop.version> <hive.version>0.13.1</hive.version> </properties> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>${hive.version}</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>${hive.version}</version> </dependency>
>>>示例代码:
package com.fb.hadoop.hive; import java.sql.SQLException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.sql.DriverManager; public class HiveJdbcClient { private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver"; public static void main(String[] args) throws SQLException { //注册JDBC try { Class.forName(driverName); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); System.exit(1); } //创建连接 Connection con = DriverManager.getConnection("jdbc:hive://master:10000/default", "root", "gsdjsj"); Statement stmt = con.createStatement(); String tableName = "user2"; stmt.executeQuery("drop table " + tableName); ResultSet res = stmt.executeQuery("create table " + tableName + " (name string,age int,sex string,phone string)" +"ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'" +"STORED AS TEXTFILE"); // show tables String sql = "show tables '" + tableName + "'"; System.out.println("Running: " + sql); res = stmt.executeQuery(sql); if (res.next()) { System.out.println(res.getString(1)); } // describe table sql = "describe " + tableName; System.out.println("Running: " + sql); res = stmt.executeQuery(sql); while (res.next()) { System.out.println(res.getString(1) + "\t" + res.getString(2)); } // load data into table // NOTE: filepath has to be local to the hive server // NOTE: /tmp/a.txt is a ctrl-A separated file with two fields per line String filepath = "/opt/data/user.txt"; sql = "load data local inpath '" + filepath + "' into table " + tableName; System.out.println("Running: " + sql); res = stmt.executeQuery(sql); // select * query sql = "select * from " + tableName; System.out.println("Running: " + sql); res = stmt.executeQuery(sql); while (res.next()) { System.out.println(String.valueOf(res.getString(1)) + "\t" + res.getInt(2)); } // regular hive query sql = "select count(1) from " + tableName; System.out.println("Running: " + sql); res = stmt.executeQuery(sql); while (res.next()) { System.out.println(res.getString(1)); } } }
相关推荐
jdbc连接hive的小示例程序,使用方法: 1、在Hadoop服务器上启动远程服务接口,命令: nohup hive --service hiveserver 10000 & (指定端口启动) 2、将test主程序里的IP改为自己用的Hadoop服务器ip,即可使用。
使用javaJDBC连接hive数据,实现简单的操作!
java通过jdbc操作impala hive的jar驱动包,Impala支持标准JDBC接口,允许从商业智能工具和用Java或其他编程语言编写的定制软件进行访问。JDBC驱动程序允许您从您编写的Java程序访问Impala
hive提供了三种用户接口:CLI,JDBC/ODBC和 WebUI CLI,即Shell命令行 JDBC/ODBC 是 Hive 的Java,与使用传统数据库JDBC的方式类似 WebGUI是通过浏览器访问 Hive 本文主要介绍的就是第二种用户接口,直接进入正题。 ...
hive2-demo 对hive2接口的demo,实现JDBC访问
它提供了标准化的JDBC接口,在大数据场景中具有易于使用的数据访问。 最终用户可以专注于开发自己的业务系统并挖掘数据价值,而不必了解底层的大数据平台(计算引擎,存储服务,元数据管理等)。 Kyuubi依靠Apache...
删除hive-exec与hadoop-common的maven依赖,使得项目更加的轻量级。 重构项目代码,优化解析,修复无字段血缘时,不能获取表血缘的BUG。 规范化接口输入输出,血缘图均为自定义实体,方便进行JSON序列化。 新增接口...
直线-u'jdbc:hive2:// headnodehost:10001 /; transportMode = http'-f demo.hql #this用于将txt文件存储在azure中 直线-u'jdbc:hive2:// headnodehost:10001 /; transportMode = ...
数据规模超大,数据时效性高,可节约千倍IO,可对接外部数据源Oracle、Mysql、Kafka、Hive、Hbase、File、HDFS File等,可以与接口层Hive SQL、JDBC、WebService直接进行交互;同时支持跨集群数据同步,支持多种不同...
打通了多个计算存储引擎如:Spark、TiSpark、Hive、Python和HBase等,对外提供统一REST/WebSocket/JDBC接口,提交执行SQL、Pyspark、HiveQL、Scala等脚本的计算中间件
Linkis可帮助轻松连接到各种后端计算/存储引擎(Spark,Python,TiDB ...),公开各种接口(REST,JDBC,Java ...),并具有多租户,高性能和资源控制功能。 Linkis与计算/存储引擎(Spark,Hive,Python和HBase)...
通过使用由Linkis提供的REST / WS / JDBC之类的标准接口,上层应用程序可以轻松访问诸如MySQL / Spark / Hive / Presto / Flink等底层引擎,并实现用户资源(如统一变量)的互通,脚本,UDF,函数和资源文件同时...
第11章 zookeeper应用程序接口 39 第12章 zookeeper应用 40 第三部分 KAFKA学习 48 第12章 KAFKA介绍 49 12.1 KAFKA简介 49 12.2信息系统 49 12.3 KAFKA是什么? 50 第13章 KAFKA基本组成与集群架构 51 13.1 KAFKA的...
通过使用Linkis 提供的REST/WebSocket/JDBC 等标准接口,上层应用可以方便地连接访问MySQL/Spark/Hive/Presto/Flink 等底层引擎,同时实现变量、脚本、函数和资源文件等用户资源的跨上层应用互通,以及通过REST标准...
它提供了标准化的JDBC接口,在大数据场景中具有易于使用的数据访问。 最终用户可以专注于开发自己的业务系统并挖掘数据价值,而不必了解底层的大数据平台(计算引擎,存储服务,元数据管理等)。 Kyuubi依靠Apache ...
您还可以使用命令行或jdbc/odbc来与SQL接口进行交互。 2. 什么是DataFrame 一个以命名列组织的分布式数据集。概念上相当于关系数据库中一张表或在R / Python中的data frame数据结构,但DataFrame有丰富的优化。在...
通过使用 Linkis 提供的 REST/WebSocket/JDBC 等标准接口, 上层应用可以方便地连接访问MySQL/Spark/Hive/Presto/Flink 等底层引擎,同时实现变量、脚本、函数和资源文件等用户资源的跨上层应用互通。作为计算中间件...
为您提供Linkis 分布式服务框架下载,Linkis是一个打通了多个计算存储引擎如:Spark、TiSpark、Hive、Python和HBase等,对外提供统一REST/WebSocket/JDBC接口,提交执行SQL、Pyspark、HiveQL、Scala等脚本的计算...