복붙노트

[HADOOP] pyhs2를 통해 Python을 통해 Hadoop Hive에 연결하는 방법은 무엇입니까?

HADOOP

pyhs2를 통해 Python을 통해 Hadoop Hive에 연결하는 방법은 무엇입니까?

OS X에 Hadoop eco 시스템을 설치했으며 데이터베이스를 하이브하고 쿼리하기 위해 pyhs2 python 패키지를 설치했습니다. 내가 사용하는 코드는 다음과 같습니다.

import pyhs2


with pyhs2.connect(host='127.0.0.1',
                   port=10000,
                   authMechanism="PLAIN",
                   user='admin',
                   password='1234qwer',
                   database='cards') as conn:
    with conn.cursor() as cur:
        #Show databases
        print cur.getDatabases()

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

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

        #Fetch table results
        for i in cur.fetch():
            print i

하이브 구성 파일 /usr/local/opt/hive/libexec/conf/hive-default.xml에서 username 및 password를 admin 및 1234qwer로 설정했습니다.

이제 파이썬 스크립트를 실행하면 아래와 같은 오류가 발생합니다.

thrift.transport.TTransport.TTransportException: Could not connect to 127.0.0.1:10000

스택 오버플로에서 비슷한 질문 :

Python Pyhs2를 사용하여 하이브에 연결하는 방법은 무엇입니까?

나는 터미널을 통해 벌집에 갈 수 있으며 모든 것이 예상대로 작동합니다.

이상한 점은 lsof -i -P |를 사용하여 포트 10000이 열려 있는지 여부를 확인한 것입니다. grep -i 'listen' "이지만 포트가 표시되지 않습니다!

어떤 도움?

해결법

    from https://stackoverflow.com/questions/38953764/how-to-connect-to-hadoop-hive-through-python-via-pyhs2 by cc-by-sa and MIT license