Hadoop那些事儿(六)---Hive入门程序

关于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_HOME
bin/hiverserver2

然后再运行应该就没有问题了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光光-Leo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值