fesh个人实践,欢迎经验交流!本文Blog地址:http://www.cnblogs.com/fesh/p/3877740.html

  完成《在Hadoop-2.2.0集群上安装 Hive-0.13.1 with MySQL》后,这里具体介绍JDBC接口,如果是以集群中的节点作为客户端来访问Hive,则可以直接使用 jdbc:hive:// 。对于一个非集群节点的客户端来说,可以使用 jdbc:hive://host:port/dbname 来进行访问。为了方便用户的使用,这里介绍如何使用Eclipse进行程序的开发。

一、开启HiveServer

开启Hive监听用户的链接

./bin/hive --service hiveserver &

二、On Eclipse

新建Java项目,通过引入外部包添加Hive依赖包(Hive JAR包、日志JAR包、Hadoop JAR包)

使用Java编写的JDBC客户端访问Hive的代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class Test { public static void main(String[] args) throws ClassNotFoundException,
SQLException { Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");// DriverName 注册Hive驱动 //建立与Hive数据库的连接, 默认端口10000,使用数据库:hive,用户名密码:hive
Connection conn = DriverManager.getConnection(
"jdbc:hive://192.168.163.130:10000/hive", "hive", "hive");// URL,USER,PASSWORD
Statement stmt = conn.createStatement(); String tableName = "test";// 表名 String sql = "DROP TABLE " + tableName;// 如果已经存在就删除
stmt.executeQuery(sql); sql = "CREATE TABLE "
+ tableName
+ " (userID INT,movieID INT,rating INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'";
stmt.executeQuery(sql); // 执行“LOAD DATA INTO TABLE”操作
String filepath = "/home/fesh/workspace/HiveClient/testhive.txt";
sql = "LOAD DATA LOCAL INPATH '" + filepath + "' OVERWRITE INTO TABLE "
+ tableName;
stmt.executeQuery(sql);
System.out.println(sql); // 执行“SELCET”操作
sql = "SELECT * FROM " + tableName;
System.out.println(sql);
ResultSet res = stmt.executeQuery(sql);
System.out.println("SELCET运行结果:");
while (res.next()) {
System.out.println(res.getInt(1) + "\t" + res.getString(2)+ "\t" + res.getString(3));
} conn.close();
conn = null;
}
}

得到结果

LOAD DATA LOCAL INPATH '/home/fesh/workspace/HiveClient/testhive.txt' OVERWRITE INTO TABLE test
SELECT * FROM test
SELCET运行结果:

在HDFS中查看

参考:

1、https://cwiki.apache.org/confluence/display/Hive/HiveClient

2、https://cwiki.apache.org/confluence/display/Hive/Tutorial

在Eclipse上操作Hive-0.13.1-JDBC端口的更多相关文章

  1. hive-0.12升级成hive 0.13.1

    安装了0.12之后,听说0.13.1有许多新的特性,包括永久函数,所以想更新成0.13版的(元数据放在mysql中) 2014年8月5日实验成功 hive0.13.1的新特性 新特性详见 http:/ ...

  2. 【甘道夫】Hive 0.13.1 on Hadoop2.2.0 + Oracle10g部署详细解释

    环境: hadoop2.2.0 hive0.13.1 Ubuntu 14.04 LTS java version "1.7.0_60" Oracle10g ***欢迎转载.请注明来 ...

  3. eclipse 远程操作HIVE

    首先启动HiveServer hive --service hiveserver 10000 & 创建工程 引入包: 代码(简单的查询): package com.hive.jdbc; imp ...

  4. window10 上的mysql8.0.13的数据库服务丢失后,找回方法

    1.由于mysql8 的 话是默认有一个配置文件的,所以在执行 初始化mysql8 mysqld --initialize #执行这个的原因是:因为之前使用的是Mysql8中自带的那个默认的配置文件 ...

  5. 在Eclipse上建立hbase 0.98.3/0.96.2源代码阅读环境

    2.1. 切换到源代码目录,执行: mvn 黄色部分作用为设置代理.由于本人的编译环境在公司内网,所以需要设置代理 2.2. 生成eclipse项目环境: mvn eclipse:eclipse -D ...

  6. 关于在eclipse上部署Tomcat时出现8080等端口被占用问题的解决方法

    问题描述: 在eclipse中部署Tomcat时,出现如下错误. 解决方法如下: 方法一: 1.开始->cmd->输入命令netstat -ano出现下图所示(注意下边显示有些错位,最后一 ...

  7. 在Eclipse上运行Spark(Standalone,Yarn-Client)

    欢迎转载,且请注明出处,在文章页面明显位置给出原文连接. 原文链接:http://www.cnblogs.com/zdfjf/p/5175566.html 我们知道有eclipse的Hadoop插件, ...

  8. hive 0.11的安装配置

    一.上传hive 0.11解压后的文件到linux 1.用的版本是shark站点提供的,可能是针对shark修改了代码. 2.追加mysql.oracle两个jdbc驱动包到lib目录下. 二.配置相 ...

  9. Eclipse中利用JSP把mysql-connector-java-8.0.13.jar放到WebContent\WEB-INF\lib中连接MySQL数据库时Connection conn = DriverManager.getConnection(url,username,password)报错的解决办法

    开发环境: 1.系统:windows 7/8/10均可 2.jdk:1.8.0_144 3.服务器:apache-tomcat-9.0.8 4.IDE:eclipse+jsp 0.网页代码如下: &l ...

随机推荐

  1. 蓝牙协议栈中的 OSAL

    蓝牙协议栈里的操作系统叫做 OSAL(操作系统抽象层).它并非一个真正意义上的操作系统,它只是实现了操作系统的一些功能,如任务切换.内存管理. OSAL 产生的根源:基于蓝牙协议栈开发的产品,实际上是 ...

  2. 颤抖吧,骚年们,2016年末最牛逼的sql语句

    select channel_name,from_unixtime(createTime,'%Y-%m-%d') as tdate,count(deviceid) '安装量',count(case w ...

  3. Ecs下的两台mysql做主从设置

    一.主库配置master 1.用户root账户进入到mysql mysql -uroot -p 2.创建用于主从同步的账户,并赋予权限,由于这个账户只是作为同步数据用,所以分配权限不要过大,我这里只赋 ...

  4. Base64编码解码

    一. Base64编码由来 为什么会有Base64编码呢?因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像ASCII码的控制字符就不能通过邮件传送.这样用途就受到了很大的 ...

  5. Android stuido viewpagerindicator的使用

    Top Level Build.gradle buildscript { repositories { maven { url "http://dl.bintray.com/populov/ ...

  6. JS教程:获取当前地址栏URL

    URL即:统一资源定位符 (Uniform Resource Locator, URL) 完整的URL由这几个部分构成:scheme://host:port/path?query#fragment s ...

  7. SQL:查找被锁的表,以及锁表的SQL语句(重点推荐)

    --死锁检测 use master Select * --找到SPID exec sp_lock --根据SPID找到OBJID ) --根据OBJID找到表名 1.DatabaseName 同于你要 ...

  8. JSONP理解和使用

    一.代码使用: $.ajax({ async:false, url: http://跨域的dns, type: "GET", dataType: 'jsonp'}); 二.理解: ...

  9. 黄聪:MYSQL使服务器内存CPU占用过高问题的分析及解决方法

    方法一: 使用 show processlist 语句,查找负荷最重的 SQL 语句,优化该SQL,比如适当建立某字段的索引. 方法二: #查看慢SQL日志是否启用mysql> show var ...

  10. Android学习笔记(二)

    Google在Android4.0之后加入了Action Bar的功能.但是有时候标题栏会相当占用屏幕空间,使得内容区域变小,这里演示如何隐藏标题栏. 隐藏标题栏的方法很简单,打开上节的FirstAc ...