Data Engineer
[hive] pyhive, ph2 라이브러리를 이용하여 python hive 연동
jssvs
2021. 6. 2. 00:01
반응형
1. library 설치
- 커버로스 인증을 타고 하이브에 접근을 할 경우 아래 패키지들이 설치되어 있어야 한다.
--os레벨 설치 패키지
$ yum install libsasl2-dev
$ yum install cyrus-sasl-devel
$ yum install cyrus-sasl-gssapi
--python 라이브러리 패키지
impyla==0.16.2
PyHive==0.6.1
PyMySQL==0.9.3
sasl==0.2.1
thrift==0.10.0 -> issue 시 pip install thrift==0.9.3
thrift-sasl==0.4.1
thriftpy==0.3.9
thriftpy2==0.4.10
2. pyhive 연동 예제 코드
from pyhive import hive
conn = hive.Connection(host='hadoop.host.io', port=10000, database='jssvs_tmp',auth='KERBEROS',kerberos_service_name='hive')
cursor=conn.cursor()
cursor.execute('s select * from hive_tbl')
for r in cursor.fetchall():
print(r)
3. ph2 연동 예제 코드
import pyhs2
with pyhs2.connect (host='hadoop.host.io',
port=10000,
authMechanism='KERBEROS') 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
---- or --------------
import pyhs2
conn = pyhs2.connect(host='hadoop.host.io', port=10000, authMechanism='KERBEROS' )
cursor = conn.cursor()
print cursor.getDatabases()
반응형