一、java操作hive

1、启动服务:hiveserver2,让hive开启与外部连接的服务

nohup hiveserver2 1>/dev/null 2>/dev/null &


2、加入hive的依赖包

<dependency>
              <groupId>org.apache.hive</groupId>
              <artifactId>hive-jdbc</artifactId>
              <version>2.1.1</version>
        </dependency>


在运行代码之前:配置:• 修改hadoop 配置文件 etc/hadoop/core-site.xml,加入如下配置项

<property>
      <name>hadoop.proxyuser.root.hosts</name>
      <value>*</value>
  </property>
<property>
      <name>hadoop.proxyuser.root.groups</name>
      <value>*</value>
</property>


不然会报错:

User: root is not allowed to impersonate root


配置完成重启一下namenode服务 
3、代码

public class hiveTest {
      public static void main(String[] args) throws Exception {
            //加载驱动
            Class.forName("org.apache.hive.jdbc.HiveDriver");
            //获取连接
            Connection connection = DriverManager.getConnection("jdbc:hive2://192.168.200.10:10000/db04", "root", "");
            //执行语句
            PreparedStatement preparedStatement = connection.prepareStatement("select * from t08");
            //处理结果
            ResultSet resultSet = preparedStatement.executeQuery();
            while (resultSet.next()){
                  System.out.println(resultSet.getString(1));
          }  
            //关闭资源
            resultSet.close();
            preparedStatement.close();
            connection.close();
      }
}

二、beeline的使用

1、beeline是hive中提供给我们的一个远程操作工具,可以通过jdbc的连接信息来连接远程的hive
但是在使用之前需要将服务器上的hiveserver2服务开启

nohup hiveserver2 1>/dev/null 2>/dev/null &

2、进入到apache-hive-2.1.1-bin/bin开启

beeline
连接到数据库:!connect jdbc:hive2://192.168.200.10:10000/db04
用户:
密码:
3、输入sql语句

 三、shell下进入hive 

1、启动hive metastore

如果启动hive时遇到异常:如下,

hive java api 调用 java操作hive_hive

解决:

./hive --service metastore &

 然后在启动:

./hive