복붙노트

[HADOOP] 파이썬 pyhs2를 사용하여 하이브에 연결하는 방법은 무엇입니까?

HADOOP

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

pyhs2를 사용하여 하이브에 액세스하려고합니다. 다음 코드를 시도 :

example.py

import pyhs2
conn = pyhs2.connect(host='localhost', port=10000,authMechanism=None, user=None, password=None,database='default')
with conn.cursor() as cur:
        cur.execute("select * from table")
        for i in cur.fetch():
            print i

다음과 같은 오류가 발생합니다.

    Traceback (most recent call last):
 File "example.py", line 2, in <module> conn = pyhs2.connect(host='localhost', port=10000,authMechanism=None, user=None, password=None,database='default')
      File "build/bdist.linux-x86_64/egg/pyhs2/__init__.py", line 7, in connect
      File "build/bdist.linux-x86_64/egg/pyhs2/connections.py", line 46, in __init__
      File "build/bdist.linux-x86_64/egg/pyhs2/cloudera/thrift_sasl.py", line 55, in open
      File "build/bdist.linux-x86_64/egg/thrift/transport/TSocket.py", line 101, in open
    thrift.transport.TTransport.TTransportException: Could not connect to localhost:10000

하이브 유틸리티로 시도 할 때 정확한 오류가 발생합니다. sasl 설치를 확인했습니다. 하이브에있는 hive-site.xml을 변경해야합니까? 예라면 어디에서 만들 필요가 있습니까? 내가 빠진 게 있니?

해결법

  1. ==============================

    1.1- (Linux의 경우)를 사용하여 localhost의 IP 주소를 찾습니다.

    1- (Linux의 경우)를 사용하여 localhost의 IP 주소를 찾습니다.

    hostname -I
    

    2 - localhost를 실제 ip로 변경하십시오.

    또한 하이브 (Hive) 호스트가 어느 호스트인지 확인하는 것이 좋습니다. Ambari에서 hortonworks를 사용하고 있다면 Hive로 가서 Configs하고 호스트를 확인하십시오.

    수정 (다른 제안 사항 추가) :

    귀하의 사용자 이름과 비밀 번호는 대체로 없음이 아닙니다. 사용자 이름과 암호를 얻으려면 hive-site.xml을 확인하고 javax.jdo.option.ConnectionUserName 및 javax.jdo.option.ConnectionPassword의 값을 확인하십시오. 아무 것도 찾을 수없는 경우 빈 문자열을 비밀번호 (None이 아니라)로 사용하고 사용자 이름으로 하이브 또는 빈 문자열을 입력하십시오. 즉, 하나씩 시도하십시오.

    conn = pyhs2.connect (호스트 = '로컬 호스트', 포트 = 10000, authMechanism = '일반', 사용자 = '하이브', 암호 = '', 데이터베이스 = '기본값')

    conn = pyhs2.connect (호스트 = '로컬 호스트', 포트 = 10000, authMechanism = '일반', 사용자 = '', 암호 = '', 데이터베이스 = '기본값')

    authMchanism을 "PLAIN"으로 변경했습니다.

  2. from https://stackoverflow.com/questions/32140953/how-to-connect-to-hive-using-python-pyhs2 by cc-by-sa and MIT license