`
qindongliang1922
  • 浏览: 2184582 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117550
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125937
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59934
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71309
社区版块
存档分类
最新评论

Eclipse+JDBC远程操作Hive0.13

    博客分类:
  • Hive
阅读更多
在前几篇的博客里,散仙已经写了如何在Liunx上安装Hive以及如何与Hadoop集成和将Hive的元数据存储到MySQL里,今天散仙就来看下,如何在Eclipse里通过JDBC的方式操作Hive.

我们都知道Hive是一个类SQL的框架,支持HSQL语法操作Hive,而Hive内部,会转成一个个MapReduce作业来完成具体的数据统计,虽然我们可以直接在Hive的shell里,向Hive发起命令,但这样做受限制比较多,如果我们能把它的操作结合在编程里,这样以来我们的Hive就会变得非常灵活了。

Hive是支持JDBC操作的,所以我们就可以像操作MySQL一样,在JAVA代码里,操作Hive,进行数据统计。

下面详细看下,操作步骤:
软件环境
序号说明系统
1centos6.5安装hadoop2.2.0linux
2centos6.5安装Hive0.13linux
3Eclipse4.2Windows7


序号步骤说明
1hadoop2.2.0安装,启动Hive依赖Hadoop环境
2hive安装类SQL方式操作MapReduce
3启动hiveserver2远程操作Hive的服务端程序
4在win上新建一个java项目,并导入Hive所需jar包远程操作必需步骤
5在eclipse里编码,测试测试连接hive是否成功
6在hiveserver2端查看检查是否对接成功和任务打印日志
7在hadoop的8088端口上查看MR执行任务查看MR执行调度



一些HIVE操作语句:

导入数据到一个表中:
LOAD DATA LOCAL INPATH '/home/search/abc1.txt' OVERWRITE INTO TABLE info;

show tables;//显示当前的所有的表
desc talbeName;查看当前表的字段结构
show databases;//查看所有的已有的数据库
建表语句
create table mytt (name string ,count int) row format delimited  fields terminated by '#' stored as textfile ;



jar包,截图


Hive依赖Hadoop,因此客户端最好把hadoop的jar包夜引入项目中,下面是调用源码,运行前,确定你在服务端的hiversver2已经开启。

package com.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import org.apache.hadoop.conf.Configuration;

 
/**
 * 在Win7上,使用JDBC操作Hive
 * @author qindongliang
 * 
 * 大数据技术交流群:376932160
 * **/
public class HiveJDBClient {
	
	/**Hive的驱动字符串*/
	private static String driver="org.apache.hive.jdbc.HiveDriver";
	
	
	
	public static void main(String[] args) throws Exception{
		//加载Hive驱动
		Class.forName(driver);
		//获取hive2的jdbc连接,注意默认的数据库是default
		Connection conn=DriverManager.getConnection("jdbc:hive2://192.168.46.32/default", "search", "dongliang");
	    Statement st=conn.createStatement();
	    String tableName="mytt";//表名
	    ResultSet rs=st.executeQuery("select  avg(count) from "+tableName+" ");//求平均数,会转成MapReduce作业运行
	    //ResultSet rs=st.executeQuery("select  * from "+tableName+" ");//查询所有,直接运行
	    while(rs.next()){
	    	System.out.println(rs.getString(1)+"   ");
	    }
	    System.out.println("成功!");
	    st.close();
	    conn.close();
		
	}
	
	
	

}

结果如下:
48.6   
成功!

Hive的hiveserver2 端log打印日志:
[search@h1 bin]$ ./hiveserver2 
Starting HiveServer2
14/08/05 04:00:02 INFO Configuration.deprecation: mapred.reduce.tasks is deprecated. Instead, use mapreduce.job.reduces
14/08/05 04:00:02 INFO Configuration.deprecation: mapred.min.split.size is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize
14/08/05 04:00:02 INFO Configuration.deprecation: mapred.reduce.tasks.speculative.execution is deprecated. Instead, use mapreduce.reduce.speculative
14/08/05 04:00:02 INFO Configuration.deprecation: mapred.min.split.size.per.node is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize.per.node
14/08/05 04:00:02 INFO Configuration.deprecation: mapred.input.dir.recursive is deprecated. Instead, use mapreduce.input.fileinputformat.input.dir.recursive
14/08/05 04:00:02 INFO Configuration.deprecation: mapred.min.split.size.per.rack is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize.per.rack
14/08/05 04:00:02 INFO Configuration.deprecation: mapred.max.split.size is deprecated. Instead, use mapreduce.input.fileinputformat.split.maxsize
14/08/05 04:00:02 INFO Configuration.deprecation: mapred.committer.job.setup.cleanup.needed is deprecated. Instead, use mapreduce.job.committer.setup.cleanup.needed
14/08/05 04:00:02 WARN conf.HiveConf: DEPRECATED: Configuration property hive.metastore.local no longer has any effect. Make sure to provide a valid value for hive.metastore.uris if you are connecting to a remote metastore.
OK
OK
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks determined at compile time: 1
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapreduce.job.reduces=<number>
Starting Job = job_1407179651448_0001, Tracking URL = http://h1:8088/proxy/application_1407179651448_0001/
Kill Command = /home/search/hadoop/bin/hadoop job  -kill job_1407179651448_0001
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
2014-08-05 04:03:49,951 Stage-1 map = 0%,  reduce = 0%
2014-08-05 04:04:19,118 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 2.74 sec
2014-08-05 04:04:30,860 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 3.7 sec
MapReduce Total cumulative CPU time: 3 seconds 700 msec
Ended Job = job_1407179651448_0001
MapReduce Jobs Launched: 
Job 0: Map: 1  Reduce: 1   Cumulative CPU: 3.7 sec   HDFS Read: 253 HDFS Write: 5 SUCCESS
Total MapReduce CPU Time Spent: 3 seconds 700 msec
OK

hadoop的8088界面截图如下:

下面这条SQL语句,不会转成MapReduce执行,select * from mytt limit 3;
结果如下:
 
中国   
美国   
中国   
成功!



至此,我们的JDBC调用Hive已经成功运行,我们可以在客户端执行,一些建表,建库,查询等操作,但是有一点需要注意的是,如果在win上对Hive的表,执行数据导入表的操作,那么一定确保你的数据是在linux上的,导入的路径也是linux路径,不能直接把win下面的数据,给导入到linux上的hive表里面。
  • 大小: 140.4 KB
  • 大小: 356.5 KB
0
0
分享到:
评论

相关推荐

    hive-site.xml

    hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+...

    Hadoop+Hbase+Spark+Hive搭建

    Hadoop+Hbase+Spark+Hive搭建指南 Hadoop是Apache开源的大数据处理框架,它提供了可靠的高效的数据存储和处理能力。Hbase是基于Hadoop的分布式NoSQL数据库,提供了高效的数据存储和检索能力。Spark是基于内存的数据...

    eclipse集成hadoop+spark+hive开发源码实例

    在Windows操作系统中,Eclipse是一款广泛使用的Java集成开发环境(IDE),它对于开发分布式计算框架如Hadoop、Spark以及数据仓库工具Hive来说,是非常有用的。本教程将深入讲解如何在Eclipse中集成这些组件,以创建...

    SpringBoot整合hive-jdbc示例

    确保你的项目中已经集成了Spring Data JPA或者MyBatis等ORM框架,因为Hive-JDBC的操作方式类似于传统数据库操作。 ### 3. 添加依赖 在`pom.xml`文件中添加Hive-JDBC和Hadoop的相关依赖: ```xml &lt;groupId&gt;org...

    Hadoop2.2.0Hbase0.98.1Hive0.13完全安装手册

    ### Hadoop2.2.0 + HBase0.98.1 + Sqoop1.4.4 + Hive0.13 完全安装手册 #### 前言 随着大数据技术的发展,Hadoop已经成为处理海量数据的核心框架之一。本文旨在为读者提供一套最新的Hadoop2.2.0、HBase0.98.1、...

    hive2.1.1 + hadoop2.6.0jdbc驱动

    这个压缩包提供的jar文件是构建Hive JDBC连接的基础,可以用于开发应用程序,通过JDBC接口访问和操作Hadoop集群上的Hive数据。不过,需要注意的是,由于缺少Hive所有库的jar包,这可能限制了一些高级特性的使用,...

    hive-jdbc hive jdbc驱动

    hive-jdbc

    基于SpringBoot+hiveJDBC+echarts的数据大屏可视化和大数据分析源码+项目使用说明.zip

    SpringBoot整合HiveJdbc, 远程连接HiveServer2,并结合Java和HiveSQL 对存储在Hadoop 的6万条电商数据,进行数据分析。后端生成Json 格式,前端解析Json格式,并实现数据大屏可视化。 通过大数据分析,生成有价值...

    Hadoop+Spark+Hive+HBase+Oozie+Kafka+Flume+Flink+ES+Redash等详细安装部署

    在大数据领域,构建一个完整的生态系统是至关重要的,其中包括多个组件,如Hadoop、Spark、Hive、HBase、Oozie、Kafka、Flume、Flink、Elasticsearch和Redash。这些组件协同工作,提供了数据存储、处理、调度、流...

    hive-jdbc所需jar(精简可用)

    在这个压缩包中,只有三个jar文件,这意味着它们可能是经过精简的选择,只包含了执行基本Hive SQL操作所需的组件,这样可以减少依赖的复杂性,提高应用的启动速度和运行效率。 描述中提到这些jar文件是从Cloudera...

    hive-jdbc-1.1.0驱动相关jar包

    Hive JDBC 1.1.0版本是这个驱动的一个特定迭代,提供了对Hive查询、数据操作和管理功能的接口。在本篇中,我们将深入探讨Hive JDBC驱动的相关知识点,以及如何在实际项目中动态加载和使用这些jar包。 首先,理解...

    Hive_JDBC.zip_hive java_hive jdbc_hive jdbc pom_java hive_maven连

    Hive JDBC(Java Database Connectivity)是Hive提供的一种接口,使得其他编程语言,如Java,能够通过JDBC驱动程序与Hive进行交互,实现数据查询、分析和操作。本教程将深入讲解如何使用Hive JDBC在Java项目中建立与...

    zookeeper+hadoop+hbase+hive(集成hbase)安装部署教程(超详细).docx

    mysql5.7.38、mysql jdbc驱动mysql-connector-java-8.0.8-dmr-bin.jar、 apache-hive-3.1.3 2.本文软件均安装在自建的目录/export/server/下 :sudo mkdir -p /export/server 创建好目录后要改变该目录的属主和属...

    apache seatunnel支持hive jdbc

    apache seatunnel支持hive jdbc

    Hadoop+ZooKeeper+HBase+hive(HQL)安装步骤

    Hadoop+ZooKeeper+HBase+hive(HQL)安装步骤

    hive0.13安装PPT

    hive安装

    jdbc连接hive数据库的驱动jar包

    Hive JDBC驱动的使用不仅限于基本的查询操作,还可以执行DML(数据操纵语言)语句如INSERT、UPDATE和DELETE,以及DDL(数据定义语言)语句来创建或修改表结构。此外,Hive JDBC还支持事务管理和元数据查询,为Java...

    dbeaver安装包+该软件的hive驱动包

    这个压缩包包含了DBeaver的安装程序和Hive JDBC驱动,使得用户能够方便地在DBeaver环境中连接到Hive数据库进行数据操作和分析。 DBeaver Enterprise Edition(EE)23.3.0-x86_64-setup.exe是DBeaver的最新企业版...

    hive jdbc依赖的jar包

    Hive JDBC驱动程序允许用户通过标准的JDBC API来执行SQL查询、操作Hive表以及获取查询结果。这个压缩包文件"2.5.19.1053 GA"很可能包含了该版本的Hive JDBC驱动,这是一个经过测试可以正常工作的版本。 在深入理解...

    hadoop2.2+hbase0.96+hive0.12安装整合详细高可靠文档及经验总结

    ### hadoop2.2+hbase0.96+hive0.12安装整合详细高可靠文档及经验总结 #### 一、Hadoop2.2的安装 **问题导读:** 1. Hadoop的安装需要安装哪些软件? 2. Hadoop与HBase整合需要注意哪些问题? 3. Hive与HBase的...

Global site tag (gtag.js) - Google Analytics