关于hive的入门知识点,网上有很详细的资料,我是看的 http://yiibai.com/hive/ 提供的教程,在这里我就不重复了。
然后最近一直在蒙圈中,在使用过程中有问题一直解决不了,卡了好久。
下面来写hive的jdbc程序。 我还是在之前hadoop的项目中写的,首先引入hive的依赖包,位于安装目录下,我这里的地址是/usr/local/hive/lib 我引入了所有含有hive的jar包,然后项目里之前引用的jline包是旧版本的,这里也替换为yarn目录下的最新版的(上篇文章中替换了yarn下的此包) 然后下面是简单的代码:
package hive;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import org.junit.Before;import org.junit.Test;public class Hive { PRivate static final String driveName = "org.apache.hive.jdbc.HiveDriver"; private static final String url = "jdbc:hive2://localhost:10000/testdb"; private static Connection conn = null; @Before public void init() throws ClassNotFoundException, SQLException { Class.forName(driveName); conn = DriverManager.getConnection(url,"APP","mine"); } @Test public void query() throws SQLException{ Statement stmt = conn.createStatement(); System.out.println("aaa"); ResultSet result = stmt.executeQuery("select * from employee"); while(result.next()){ System.out.println(result.getInt(1)+" "+result.getString(2)+" "+result.getDouble(3)+" "+result.getString(4)); } }}运行时可能会报Transport Used for JDBC connection: null的异常,原因应该是hive的服务没有启动,在控制台中启动hiveserver2
cd $HIVE_HOMEbin/hiverserver2然后再运行应该就没有问题了
新闻热点
疑难解答