yum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64
pip install sasl
pip install thrift
pip install thrift-sasl
pip install PyHive
以下为代码demo,功能是打印出所有表的建表语句。代码中连接的hive使用的LDAP验证方式,所以设置了用户名和密码。
import os
import sys
reload(sys)
sys.setdefaultencoding('utf8')
from pyhive import hive
username = your user name
password = your pwd
#database = 'test'
#dir_name = '/home/lwx/data/'+'dw'+'.sql'
cnn=hive.Connection(host='your ip add', port='10000',auth='LDAP',username = username,password = password )
cursor=cnn.cursor()
dbs = ['test1','test2','test3']
for db in dbs:
cursor.execute("show tables in %s"%(db))
for table in cursor.fetchall():
cursor.execute("show create table %s.%s"%(db,table[0]))
for i in cursor.fetchall():
print str(i[0])
如果没有设置验证方式,如下
import os
import sys
reload(sys)
sys.setdefaultencoding('utf8')
from pyhive import hive
cnn=hive.Connection(host='your ip add', port='10000',username = username ) #connection中也可以指定db
cursor=cnn.cursor()
dbs = ['test1','test2','test3']
for db in dbs:
cursor.execute("show tables in %s"%(db))
for table in cursor.fetchall():
cursor.execute("show create table %s.%s"%(db,table[0]))
for i in cursor.fetchall():
print str(i[0]) # print or other operations~
add : 2019-10-22
安装sasl遇到错误 : error: sasl/sasl.h: No such file or directory
解决: yum -y install cyrus-sasl cyrus-sasl-devel cyrus-sasl-lib