91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java如何操作hive

發布時間:2021-12-10 14:19:03 來源:億速云 閱讀:281 作者:小新 欄目:大數據

這篇文章將為大家詳細講解有關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”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴里| 嘉黎县| 吉安县| 襄汾县| 铅山县| 清流县| 清丰县| 翁牛特旗| 彰化县| 亚东县| 高密市| 襄城县| 五常市| 措勤县| 汾阳市| 南丰县| 西昌市| 大宁县| 建瓯市| 札达县| 微博| 乐安县| 青田县| 乌兰县| 苏尼特右旗| 依兰县| 廉江市| 台湾省| 阿瓦提县| 昌江| 南郑县| 乐至县| 三台县| 章丘市| 喀喇沁旗| 吴桥县| 平南县| 辽源市| 新宾| 会同县| 定兴县|