복붙노트

[HADOOP] 파이썬과 하이브 간의 연결

HADOOP

파이썬과 하이브 간의 연결

Hortonworks Hive ODBC 드라이버를 설치하고 데이터 소스에 연결을 만들었습니다. 나는 그것을 테스트했고 성공적으로 작동했다.

PyODBC를 설치하고 다음 코드를 작성했습니다.

import os, sys, pyodbc;
con = pyodbc.connect("DSN=MyCon")

오류가 있습니다.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.Error: ('HYC00', '[HYC00] [Hortonworks][ODBC] (11470) Transactions are not supported. (11470) (SQLSetConnnectAttr(SQL_ATTR_AUTOCOMMIT))')

나도 노력했다.

import pyodbc, sys, os
pyodbc.pooling = False
pyodbc.autocommit = False
con = pyodbc.connect("DSN=MyCon")

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.Error: ('HYC00', '[HYC00] [Hortonworks][ODBC] (11470) Transactions are not supported. (11470) (SQLSetConnnectAttr(SQL_ATTR_AUTOCOMMIT))')

또한 시도

con = pyodbc.connect("DSN=Tenet", autocommit=False)


Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.Error: ('HYC00', '[HYC00] [Hortonworks][ODBC] (11470) Transactions are not supported. (11470) (SQLSetConnnectAttr(SQL_ATTR_AUTOCOMMIT))')

해결법

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

    1.나는 그것을 해결했다 ..... 나는 나의 질문을 삭제하지 않고 대답을 여기에두고있다.

    나는 그것을 해결했다 ..... 나는 나의 질문을 삭제하지 않고 대답을 여기에두고있다.

    pyodbc.autocommit = True
    con = pyodbc.connect("DSN=MyCon", autocommit=True)
    

    이것은이 독서의 충고에 기초하여 행해졌 다.

    https://code.google.com/p/pyodbc/issues/detail?id=162

    ** 카일 포터 (Kyle Porter)의 조언 덕분에 이제는 완전히 이해가됩니다 **

  2. from https://stackoverflow.com/questions/29664537/python-connection-to-hive by cc-by-sa and MIT license