1 package com.java.hadoop.hive; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.SQLException; 8 import java.sql.Statement; 9 10 import org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Processor.drop_database;11 import org.junit.Before;12 import org.junit.Test;13 14 public class TestHive {15 private Connection connection;16 private PreparedStatement ps;17 private ResultSet rs;18 //创建连接19 @Before20 public void getConnection() {21 try {22 23 Class.forName("org.apache.hive.jdbc.HiveDriver");24 connection = DriverManager.getConnection("jdbc:hive2://192.168.18.130:10000/", "root", "root");25 System.out.println(connection);26 } catch (ClassNotFoundException e) {27 e.printStackTrace();28 } catch (SQLException e) {29 e.printStackTrace();30 }31 }32 //关闭连接33 public void close() {34 try {35 if (rs != null) {36 rs.close();37 }38 if (ps != null) {39 ps.close();40 }41 if (connection != null) {42 connection.close();43 }44 } catch (SQLException e) {45 e.printStackTrace();46 }47 }48 49 // 创建表50 @Test51 public void createTable() {52 String sql = "create table goods2(id int,name string) row format delimited fields terminated by '\t' ";53 try {54 ps = connection.prepareStatement(sql);55 ps.execute(sql);56 close();57 } catch (SQLException e) {58 e.printStackTrace();59 }60 }61 // 删除表62 @Test63 public void dropTable() {64 String sql = "drop table goods";65 try {66 ps = connection.prepareStatement(sql);67 ps.execute();68 close();69 } catch (SQLException e) {70 e.printStackTrace();71 }72 }73 //添加数据74 @Test75 public void insert() throws SQLException{76 String sql = "load data inpath '/goods.txt' into table goods";77 //记得先在文件系统中上传goods.txt78 ps = connection.prepareStatement(sql);79 ps.execute();80 close();81 }82 //查询83 @Test84 public void find() throws SQLException {85 String sql = "select * from goods ";86 ps = connection.prepareStatement(sql);87 rs = ps.executeQuery();88 while (rs.next()) {89 System.out.println(rs.getObject(1) + "---" + rs.getObject(2));90 }91 close();92 }93 94 95 }
1 String sql="show tables; select * from test_tb limit 10"; 2 Listcommand = new ArrayList (); 3 4 command.add("hive"); 5 command.add("-e"); 6 command.add(sql); 7 8 List results = new ArrayList (); 9 ProcessBuilder hiveProcessBuilder = new ProcessBuilder(command);10 hiveProcess = hiveProcessBuilder.start();11 12 BufferedReader br = new BufferedReader(new InputStreamReader(13 hiveProcess.getInputStream()));14 String data = null;15 while ((data = br.readLine()) != null) {16 results.add(data);17 }