내 머릿속 데이터베이스

[Python] Hive Connect 본문

Programming/Python

[Python] Hive Connect

파도소리 2016. 1. 4. 18:54

파이썬에서 Mysql을 접속하는 방법은 PyMysql 라이브러리를 이용하는 편이다.


그래서 Hive를 접속하려고 pyHive를 받아보았으나 에러가 펑펑 난다.

알아보니 개발이 늦다.


hive를 접속할 수 있는 라이브러리들을 뒤지기 시작했고, pyhs2 요놈을 또 많이들 쓴다고는 하는데 깃헙을 보면 알겠지만 개발자도 포기했다.



따라서 마지막 방법은 ODBC를 활용하는 것이었고, 나는 hortonworks 하둡을 사용하니, 호튼웍스에서 odbc를 다운받아 설치하였다.

도큐멘트 항목을 읽어보니 driver항목의 명시를 조금 특이하게 하는 것 같아서 접속이 안되고,


직접 ODBC 설정으로 dsn을 생성해서 DNS명으로 접속해야 했다.


import pyodbc

cnxn = pyodbc.connect('DSN=HIVE;SERVER=xxx.xxx.xxx.xxx;UID=xxxx;PWD=xxx', autocommit=True)


트렌젝션 관련된 에러가 발생하여 고생 좀 했는데 autocommit 항목을 true로 옵션을 지정해주면 에러가 나지 않는다.

저렇게 줘도 되고, 커넥션을 하기전에 다음을 명시해도 된다.


pyodbc.autocommit = True


Comments