您的位置:首页 > 运维架构

24-hadoop-hiveserver2&jdbc

2017-08-17 19:39 369 查看
hive 可以 类似jdbc链接, 但启动的必须是hiveserver2, 才可以使用

hiveserver2

1, 启动:

$HIVE_HOME/bin/hiveserver2


或者

$HIVE_HOME/bin/hive --service hiveserver2


2, 使用 Beeline 进行连接

beelin


使用beeline链接, 和普通的hive是一样的, 只不过是远程的方式连接的, 操作命令几乎相同

!connect jdbc:hive2://192.168.208.109:10000 username password org.apache.hive.jdbc.HIveDrvier


因为密码为空, 所以不需要写

!connect jdbc:hive2://localhost:10000 root  org.apache.hive.jdbc.HIveDrvier




JDBC链接

java链接:

1, 导入jar包:

${HIVE_HOME}/lib下的所有包

2, 导入hadoop的包, 否则报错



导入的包为:

${HADOOP_HOME}/share/hadoop/common/*



package com.wenbronk.hive;

import java.sql.*;

/**
*
*/
public class JDBCMain {

private static String driverName = "org.apache.hive.jdbc.HiveDriver";

public static void main(String[] args) throws SQLException {
try {
Class.forName(driverName);
Connection con = DriverManager.getConnection("jdbc:hive2://192.168.208.109:10000/default", "root", "");

String sql = "select * from people";
PreparedStatement state = con.prepareStatement(sql);

ResultSet res = state.executeQuery();

while (res.next()) {
System.out.println(res.getString(1) + "\t" + res.getString(2));
}

} catch (ClassNotFoundException e) {
e.printStackTrace();
System.exit(1);
}finally {
//close
}
}
}


官网的例子坑太多了, python的链接没有实际操作, 改天试下并修改!!!!

python 链接

需要先安装包

pip install pyhs2


然后链接:

import pyhs2

with pyhs2.connect(host='localhost',
port=10000,
authMechanism="PLAIN",
user='root',
password='',
database='default') as conn:
with conn.cursor() as cur:
#Show databases
print cur.getDatabases()

#Execute query
cur.execute("select * from table")

#Return column info from query
print cur.getSchema()

#Fetch table results
for i in cur.fetch():
print i
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: