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. jq 文字上下不间断滚动实例

    <div class="ruzhuright">                     <div class="rzcontent"> ...

  2. 对于EL表达式和ONGL表达式区别的相关理解

    java程序跑起来之后,会有一个内存空间分配出来,存入用到的值,这个值的周围就是上下文空间,而九大内置对象等,都在这个值的周围放着,像这样: el 就只能获取value stack 周围 的数据,va ...

  3. oracle中的装换函数

    日期装换成字符的函数:TO_CHAR(date[,fmt[,params]]) 默认格式:DD-MON-RR 参数说明: date:将要装换的日期 fmt:装换的格式 params:日期的语言(可以不 ...

  4. jquery中ajax方法返回的三种数据类型:text、json、xml;

    1.当dataType:"text"时,处理页面用的是DBDA类中的Strquery()方法,所以返回的数据是下面这样的,所以要对返回来的数据用split根据“|”和“^”来分割, ...

  5. ✡ leetcode 163. Missing Ranges 找出缺失范围 --------- java

    Given a sorted integer array where the range of elements are in the inclusive range [lower, upper], ...

  6. Codeforces Round #156 (Div. 2)

    A. Greg's Workout 模3求和,算最大值. B. Code Parsing 最后左半部分为x,右半部分为y,那么从中间不断去掉xy,直到其中一种全部消去. C. Almost Arith ...

  7. wordpress(二)wordpress环境迁移

    迁移wordpress到服务器 本地环境如下 win8.1 appser 服务器环境如下 centos7 lnmp 1.使用phpmyadmin备份本地wordpress站点的数据库 2.备份本地wo ...

  8. Python中reactor,factory,protocol

    最为简单的情况下,除了了解清reactor的简单使用,你还要了解Protocol和Factory.它们最终都会由reactor的侦听建立和run来统一调度起来. 建立服务器的第一个要解决的问题就是服务 ...

  9. docvalues和Fieldcache

    Fieldcache:  docID->document->fieldvalue 无论是聚类排序关联等,首先都需要获得文档中某个字段的值,通过docID去获得整个document,然后再去 ...

  10. HTML 空格的表示符号 nbsp / ensp / emsp 的区别

    HTML 空格的表示符号 nbsp / ensp / emsp 的区别?     半角的不断行的空白格(推荐使用)    半角的空格    全角的空格