一、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 --service metastore &
然后在啟動:
./hive
