返回顶部
首页 > 资讯 > 精选 >java如何操作hive
  • 556
分享到

java如何操作hive

2023-06-02 17:06:24 556人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关java如何操作Hive,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。存储类:package com.rxzx.hive;public class Beacon {privat

这篇文章将为大家详细讲解有关java如何操作Hive,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

存储类:

package com.rxzx.hive;

public class Beacon {

private String stime;

private String uid;

private String sid;

private String pid;

public String getStime() {

return stime;

}

public void setStime(String stime) {

this.stime = stime;

}

public String getUid() {

return uid;

}

public void setUid(String uid) {

this.uid = uid;

}

public String getSid() {

return sid;

}

public void setSid(String sid) {

this.sid = sid;

}

public String getPid() {

return pid;

}

public void setPid(String pid) {

this.pid = pid;

}

@Override

public String toString() {

// TODO Auto-generated method stub

return stime+"  "+uid+"   "+sid+"  "+pid;

}

}

创建连接和关闭连接类:

package com.rxzx.hive;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class HiveJDBC {

private static Connection conn;

//初始化数据仓库连接对象

public static Connection getConnection() {

if(conn==null) {

try {

conn=DriverManager.getConnection("jdbc:hive2://192.168.2.100:10000/hive_db", "Teacher", "123456");

} catch (SQLException e) {

System.out.println("数据仓库连接失败");

e.printStackTrace();

}

}

return conn;

}

//关闭连接对象

public static void close() {

if(conn!=null) {

try {

conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

功能类:创建表,删除表,加载数据,数据展现到java窗口

package com.rxzx.hive;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import java.util.Map.Entry;

import java.util.function.BiConsumer;

public class BeaconDao {

//删除表

public void dropTable(String tableName) throws SQLException{

Connection conn=HiveJDBC.getConnection();

Statement stat=conn.createStatement();

stat.execute("drop table if exists "+tableName);

}

//创建表

public void createTable(String tableName,List<String> columns,String partition,String rowFORMat) throws SQLException {

Connection conn=HiveJDBC.getConnection();

Statement stat=conn.createStatement();

String sql="create table if not exists "+tableName+"(";

if(columns!=null && columns.size()>0) {

String columnsql="";

for(String c:columns) {

columnsql+=c+",";

}

if(columnsql.endsWith(",")) {

columnsql=columnsql.substring(0, columnsql.length()-1);

}

sql+=columnsql+") ";

if(partition!=null && !partition.equals("")) {

sql+=partition+" ";

}

if(rowFormat!=null && !rowFormat.equals("")) {

sql+=rowFormat+" ";

}

}else {

throw new SQLException("字段不能为空");

}

stat.execute(sql);

}

public static void load(boolean local,String path,boolean overwrite,String tablename,String partition)  throws SQLException{

Connection conn=HiveJDBC.getConnection();

Statement stat=conn.createStatement();

String sql="load data "+(local?"local":"")+" inpath '"+path+"'"+(overwrite?"overwrite":"")+" into table "+tablename+" "+partition;

System.out.println(sql);

stat.execute(sql);

}

public static List<Beacon> getData(String sql)  throws SQLException{

List<Beacon> list=new ArrayList<Beacon>();

Connection conn=HiveJDBC.getConnection();

Statement stat=conn.createStatement();

ResultSet rs=stat.executeQuery(sql);

while(rs.next()) {

Beacon b=new Beacon();

b.setStime(rs.getString(1));

b.setUid(rs.getString(2));

b.setSid(rs.getString(3));

b.setPid(rs.getString(4));

list.add(b);

}

return list;

}

}

测试类:

package com.rxzx.hive;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.TreeMap;

public class TestDemo {

public static void main(String[] args) {

BeaconDao bd=new BeaconDao();

        List<String> columns=new ArrayList<String>();

        columns.add("stime string");

        columns.add("uid string");

        columns.add("sid string");

        columns.add("pid string");

try {

//bd.dropTable("beacon");

bd.createTable("beacon", columns, null, " row format delimited fields terminated by '\t' ");

//bd.load(true, "/home/Teacher/datafile/vistdata.log", false, "beacon", "");

  //List<Beacon> list=bd.getData("select * from beacon where sid='h_1009'");

  //for(Beacon b:list) { System.out.println(b.toString()); }

System.out.println("执行完成");

} catch (SQLException e) {

System.out.println("执行失败");

e.printStackTrace();

}finally {

HiveJDBC.close();

}

}

}

关于“java如何操作hive”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: java如何操作hive

本文链接: https://lsjlt.com/news/230863.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java如何操作hive
    这篇文章将为大家详细讲解有关java如何操作hive,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。存储类:package com.rxzx.hive;public class Beacon {privat...
    99+
    2023-06-02
  • Java API如何操作Hive
    这篇文章给大家分享的是有关Java API如何操作Hive的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。环境:   IDEA2017.3+Maven-3.3.9+Hive1.1.0 pom.x...
    99+
    2023-06-02
  • spark2.2.0如何配置spark sql操作hive
    小编给大家分享一下spark2.2.0如何配置spark sql操作hive,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!spark可以通过读取hive的元数据来...
    99+
    2023-06-02
  • 如何在Hive中执行JOIN操作
    在Hive中执行JOIN操作的步骤如下: 编写适当的SELECT语句,其中包含要连接的表以及连接条件。例如: SELEC...
    99+
    2024-03-12
    Hive
  • Hive中如何执行连接操作
    在Hive中执行连接操作通常是通过使用SQL语句来实现的。连接操作可以用来将多个表中的数据关联起来,使得用户可以通过一次查询操作获取...
    99+
    2024-04-02
  • Hive基本操作
    01.Hive是什么1. Hive介绍Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。Hive是SQL解析引擎,它将SQL语句转译成M/R J...
    99+
    2024-04-02
  • Hive中如何执行数据压缩操作
    Hive中可以通过设置表的属性来执行数据压缩操作。以下是在Hive中执行数据压缩的一般步骤: 创建表时指定数据压缩格式 在创建表的...
    99+
    2024-03-12
    Hive
  • 在Hive中如何执行数据插入操作
    要在Hive中执行数据插入操作,可以使用INSERT INTO语句。以下是一个简单的示例: INSERT INTO TABLE ta...
    99+
    2024-04-02
  • Hive中如何实现数据的增删改操作
    在Hive中,数据的增删改操作通常是通过HiveQL语言来实现的。下面是一些常见的数据操作示例: 数据的插入操作: INSERT...
    99+
    2024-04-02
  • Hive如何处理复杂的JOIN操作和子查询
    Hive处理复杂的JOIN操作和子查询时,可以通过以下方法来优化查询性能: 使用合适的JOIN算法:Hive支持多种JOIN算法...
    99+
    2024-03-11
    Hive
  • Java中如何操作Redis
    这篇文章主要为大家展示了“Java中如何操作Redis”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java中如何操作Redis”这篇文章吧。1.准备操作 1.1 新建工程1.2 sc...
    99+
    2023-06-25
  • Java如何操作Word, Excel,
    3. 拷贝、更新Excel工作薄   接下来简要介绍一下如何更新一个已经存在的工作薄,主要是下面二步操作,第一步是构造只读的Excel工作薄,第二步是利用已经创建的Excel工作薄创建新的可写入的Excel工作薄,参考下面的代码片...
    99+
    2023-01-31
    操作 Java Excel
  • Hive实际操作用法介绍
    这篇文章主要介绍“Hive实际操作用法介绍”,在日常操作中,相信很多人在Hive实际操作用法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hive实际操作用法介绍”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-02
  • 在Hive中如何进行数据导入和导出操作
    在Hive中进行数据导入和导出操作可以通过以下方式实现: 数据导入: 使用HDFS命令将数据文件上传至HDFS中。 使用Hive的...
    99+
    2024-03-12
    Hive
  • 如何使用Java操作Zookeeper
    目录简介使用zkclient操作Zookeeper节点监听简介 Java操作Zookeeper有很多种方式,如zookeeper、zkclient、curator等等,下面介绍下使...
    99+
    2024-04-02
  • 如何使用Java操作Redis
    这篇文章给大家分享的是有关如何使用Java操作Redis的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先让我们创建一个普通的Maven工程,添加相应的依赖<dependencies><depe...
    99+
    2023-06-15
  • 基于idea如何操作hbase数据库并映射到hive表
    这篇文章主要介绍了基于idea如何操作hbase数据库并映射到hive表的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于idea如何操作hbase数据库并映射到hive表文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-07-05
  • Python操作Hive的两种方法总结
    方法一:使用PyHive库 安装依赖包:其中sasl安装可能会报错,可以去https://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl下载对应版本安装。 pip install sasl pip in...
    99+
    2023-01-31
    两种 操作 方法
  • Java如何使用POI操作Excel
    这篇文章主要介绍了Java如何使用POI操作Excel,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 Java使用POI操作Excel ...
    99+
    2024-04-02
  • 如何操作Java instanceof 运算符?
    多态性带来了一个问题,就是如何判断一个变量所实际引用的对象的类型 。 C++使用runtime-type information(RTTI),Java 使用 instanceof 操作符。老师提醒:instanceof 运算符用来判断一个变...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作