zoukankan      html  css  js  c++  java
  • java 连接 hiveserver2 例子

    启动了  hiveserver2 以后才能使用 程序连接 。目前的 使用的 是  server2 版本。和以前的版本驱动包名不同:

    package hadoop;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class HiveJdbcTest {
    
    	private static String driverName = "org.apache.hive.jdbc.HiveDriver";
    	private static String connctUrl = "jdbc:hive2://centos1:10000/default";
    	private static String userName = "root";
    	private static String password = "";
    
    	public static void main(String[] args) throws SQLException, ClassNotFoundException {
    		Class.forName(driverName);
    
    		Connection con = DriverManager.getConnection(connctUrl, userName, password);
    		Statement stmt = con.createStatement();
    		String tableName = "test";
    
    		//创建表
    		stmt.execute("create table  if not exists " + tableName + " (id bigint, name string,age int)");
    		
    		
    		//插入
    		stmt.execute("insert into " +tableName + "( id ,name ,age ) values(1,'张三',100   )"  );
    		stmt.execute("insert into " +tableName + "( id ,name ,age ) values(2,'李四',200   )"  );
    		stmt.execute("insert into " +tableName + "( id ,name ,age ) values(3,'王五',300   )"  );
    		
    		
    		
    		//查询
    		ResultSet res = stmt.executeQuery( "select * from " + tableName );
    		while (res.next()) {
    			System.out.println( res.getLong(1) +"," + res.getString(2) + "," + res.getInt(3)  );
    		}
    		
    		
    		stmt.close();
    		con.close();
    
    	}
    }
    

      

    备注:版本2  是  org.apache.hive.jdbc.HiveDriver  版本 1 是 ,org.apache.hadoop.hive.jdbc.HiveDriver

    备注2: 协议 版本2 也变成  jdbc:hive2, 版本1 是 jdbc:hive

    hive 是一个 mapreduce 的 翻译工具。不是真正的数据库。他也没有真正的存放数据。它适合预先对大数据做统计分析。而不是提供 实时的查询。正常的做法应该使用  hive sql  查询出 统计分析结果,然后 缓存到 及时性高的 数据库中。以供 用户查询。另外 hive的 查询 及时性不高,应该考虑线程阻塞问题。或者直接把查询结果输出到  hdfs的 指定位置。任务执行完成以后我们可以考虑在用户查询的时候直接去这个结果目读取数据。如果有了我们可以吧这个结果缓存起来,下次用户读取就快了。   

    输入到文件  的方法 参考:https://i.cnblogs.com/EditPosts.aspx?postid=9743514  常见语法部分 第 12 条,

  • 相关阅读:
    muduo网络库TcpConnection对象生存期管理
    马:ma一个与代码无关的隐形眼镜的度数换算
    分享ORACLE数据库密码口令过期被锁后的解锁方法
    关于SVN状态图标不显示的解决办法(史上最全)
    Windows 新增远程桌面会话连接数(可多人同时远程桌面,互不影响)
    js移除字符串的中文/空格
    ORA-00059: 超出 DB_FILES 的最大值
    ORA-02292违反完整约束和ORA-02297无法禁用约束条件 cascade禁用主键
    SVN—org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir
    js金额格式化
  • 原文地址:https://www.cnblogs.com/cxygg/p/9775819.html
Copyright © 2011-2022 走看看