python连接hiveserver2

来源:互联网 发布:mac下载软件在哪里下载 编辑:程序博客网 时间:2024/06/01 07:32
sudo pip install pyhs2

网上找的例子:

#!/usr/bin/env python# -*- coding: utf-8 -*-# hive util with hive server2"""@author:knktc@create:2014-04-08 16:55"""__author__ = 'knktc'__version__ = '0.1'import pyhs2class HiveClient:    def __init__(self, db_host, user, password, database, port=10000, authMechanism="PLAIN"):        """        create connection to hive server2        """        self.conn = pyhs2.connect(host=db_host,                                  port=port,                                  authMechanism=authMechanism,                                  user=user,                                  password=password,                                  database=database,                                  )    def query(self, sql):        """        query        """        with self.conn.cursor() as cursor:            cursor.execute(sql)            return cursor.fetch()    def close(self):        """        close connection        """        self.conn.close()def main():    """    main process    @rtype:    @return:    @note:    """    hive_client = HiveClient(db_host='221.143.68.22', port=10000, user='hdfs', password='mypass',                             database='default', authMechanism='PLAIN')    result = hive_client.query('select * from test limit 10')    print result    hive_client.close()if __name__ == '__main__':    main()

官网例子:

import pyhs2with pyhs2.connect(host='localhost',                   port=10000,                   authMechanism="PLAIN",                   user='root',                   password='test',                   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

https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2#SettingUpHiveServer2-PythonClientDriver

1 0