2017-08-27 30 views
11

का उपयोग कर Hive2 कनेक्ट करने में असमर्थ:Hive2 से कनेक्ट करते हुए नीचे दिए गए कोड के साथ अजगर का उपयोग कर अजगर

File 
"C:\Users\vinbhask\AppData\Roaming\Python\Python36\site-packages\pyhs2-0.6.0-py3.6.egg\pyhs2\connections.py", 
line 7, in <module> 
    from cloudera.thrift_sasl import TSaslClientTransport ModuleNotFoundError: No module named 'cloudera' 

here और here की कोशिश की है, लेकिन मुद्दा नहीं था:

import pyhs2 

with pyhs2.connect(host='localhost', 
      port=10000, 
      authMechanism="PLAIN", 
      user='root', 
      password='test', 
      database='default') 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 

मैं त्रुटि नीचे हो रही है संकल्प लिया। Impyla का उपयोग करते समय

bitarray0.8.1,certifi2017.7.27.1,chardet3.0.4,cm-api16.0.0,cx-Oracle6.0.1,future0.16.0,idna2.6,impyla0.14.0,JayDeBeApi1.1.1,JPype10.6.2,ply3.10,pure-sasl0.4.0,PyHive0.4.0,pyhs20.6.0,pyodbc4.0.17,requests2.18.4,sasl0.2.1,six1.10.0,teradata15.10.0.21,thrift0.10.0,thrift-sasl0.2.1,thriftpy0.3.9,urllib31.22 

त्रुटि::

Traceback (most recent call last): 
File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python36-32\Scripts\HiveConnTester4.py", line 1, in <module> 
from impala.dbapi import connect 
File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python36-32\lib\site-packages\impala\dbapi.py", line 28, in <module> 
import impala.hiveserver2 as hs2 
File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python36-32\lib\site-packages\impala\hiveserver2.py", line 33, in <module> 
from impala._thrift_api import (
File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python36-32\lib\site-packages\impala\_thrift_api.py", line 74, in <module> 
include_dirs=[thrift_dir]) 
File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python36-32\lib\site-packages\thriftpy\parser\__init__.py", line 30, in load 
include_dir=include_dir) 
File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python36-32\lib\site-packages\thriftpy\parser\parser.py", line 496, in parse 
url_scheme)) 
thriftpy.parser.exc.ThriftParserError: ThriftPy does not support generating module with path in protocol 'c' 
+0

मैं चकित हूँ कि इतने सारे लोगों के बारे में PyHive अचानक शिकायत कर रहा हूँ (जो वर्तमान में टूट गया है * [अगस्त 2017] *) और PyHS2 (जो आप स्पष्ट रूप से काम नहीं कर सकता)। इसके बजाय ImPyla आज़माएं। यह क्लौडेरा द्वारा बनाए रखा जाता है। और यह काम करता है। –

+0

@ सैमसनशैचरफ्रिटर: मैंने इम्प्ला में भी कोशिश की थी, इसके लिए त्रुटि लॉग को अद्यतन किया गया है जैसा ऊपर – Vinod

+0

PySpark के बारे में कैसे? –

उत्तर

1

thrift_sasl.py cStringIO कोशिश कर रहा है नहीं रह गया है अजगर 3.0 में उपलब्ध है जो

यहाँ संकुल अब तक स्थापित है। अजगर 2 के साथ प्रयास करें?

+0

हमें Python3 + – Vinod

+0

pysh2 का उपयोग करने की आवश्यकता है अब बनाए रखा नहीं है। क्या आप PyHive के साथ प्रयास करते हैं? – Xire

1

आपको thrift_sasl का एक निरस्त संस्करण स्थापित करने की आवश्यकता हो सकती है। प्रयास करें:

pip install git+https://github.com/cloudera/thrift_sasl 
+0

@ विनोद यह सहायक था? – Tagar

+0

कोई त्रुटि नहीं मिल रही है "github.com पोर्ट 443 से कनेक्ट करने में विफल: टाइम आउट" – Vinod

+0

अंतिम त्रुटि संकेत देता है कि आप फ़ायरवॉल के पीछे हैं - यही कारण है कि आपको पोर्ट 443 तक पहुंचने पर टाइमआउट मिल रहा है। 'Https:' 'http: 'पर और पुनः प्रयास करें - पोर्ट 80 खुला हो सकता है। – Tagar

0

आप आरामदायक सीखने PySpark रहे हैं, तो आप सिर्फ हाइव Metastore पते पर बात करने के लिए hive.metastore.uris संपत्ति सेटअप करने की जरूरत है, और आप जाने के लिए तैयार कर रहे हैं।

ऐसा करने का सबसे आसान तरीका आपके क्लस्टर से hive-site.xml निर्यात करना होगा, फिर spark-submit के दौरान पास करना होगा।

(मैं स्टैंडअलोन Pyspark चल रहा प्रयास नहीं किया है, तो YMMV)

संबंधित मुद्दे