MySQL
- Server 服务端
- Client 客户端
Hive
Server
后端运行 $ bin/hiveserver2 前端运行 bin/hive --service hiveserver2 企业中使用管理页面点击启动 $ bin/hiveserver2 & $ nohup bin/hiveserver2 & >> hiveserver.log
Client
$ bin/beeline
第一种连接方式
beeline> help beeline> !connect jdbc:hive2://hadoop-senior01.ibeifeng.com:10000 scan complete in 3ms Connecting to jdbc:hive2://hadoop-senior01.ibeifeng.com:10000 Enter username for jdbc:hive2://hadoop-senior01.ibeifeng.com:10000: beifeng Enter password for jdbc:hive2://hadoop-senior01.ibeifeng.com:10000: *******
show databases;
- 第二种链式方式
- 可以一次性在命令行输入指令来登录:
bin/beeline -u jdbc:hive2://hadoop-senior01.ibeifeng.com:10000 -n beifeng -p beifeng
- 可以一次性在命令行输入指令来登录:
代码
package om.beifeng.bigdata; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; /** * Created by XuanYu on 2016/11/13. */ public class HiveJdbcClient { private static String driverName = "org.apache.hive.jdbc.HiveDriver"; public static void main(String[] args) throws Exception { try { Class.forName(driverName); } catch (ClassNotFoundException e) { e.printStackTrace(); System.exit(1); } Connection con = DriverManager.getConnection( "jdbc:hive2://hadoop-senior01.ibeifeng.com:10000/db_emp", "beifeng", "beifeng"); Statement stmt = con.createStatement(); String tableName = "emp"; String sql = "SELECT empno, ename, sal, deptno from " + tableName; ResultSet res = stmt.executeQuery(sql); while (res.next()) { System.out.println(res.getString(1) + "\t" + res.getString(2) + "\t" + res.getString(3) + "\t" + res.getString(4) + "\n"); } res.close(); stmt.close(); con.close(); } }
需要先运行服务
bin/hive --service hiveserver2