我有一些HDFS數據,我需要使用python訪問數據,任何人都可以告訴我如何使用python從配置單元訪問數據?使用Python訪問配置單元數據
10
A
回答
6
可以使用蜂巢庫訪問蜂巢蟒蛇,對於你想從蜂巢進口ThriftHive
進口蜂巢類 下面的例子
import sys
from hive import ThriftHive
from hive.ttypes import HiveServerException
from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
try:
transport = TSocket.TSocket('localhost', 10000)
transport = TTransport.TBufferedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = ThriftHive.Client(protocol)
transport.open()
client.execute("CREATE TABLE r(a STRING, b INT, c DOUBLE)")
client.execute("LOAD TABLE LOCAL INPATH '/path' INTO TABLE r")
client.execute("SELECT * FROM r")
while (1):
row = client.fetchOne()
if (row == None):
break
print row
client.execute("SELECT * FROM r")
print client.fetchAll()
transport.close()
except Thrift.TException, tx:
print '%s' % (tx.message)
9
要安裝你需要這些庫:
pip install sasl
pip install thrift
pip install thrift-sasl
pip install PyHive
如果您在Linux上,則可能需要在運行runn之前單獨安裝SASL以上。使用apt-get
或yum
或任何軟件包管理器安裝包libsasl2-dev
。對於Windows,有一些選項on GNU.org。在Mac SASL應可如果你已經安裝了Xcode開發工具(xcode-select --install
)
安裝後,可以執行這樣的蜂巢查詢:
from pyhive import hive
conn = hive.Connection(host="YOUR_HIVE_HOST", port=PORT, username="YOU")
現在,你有蜂巢連接,有選擇如何使用它。你可以只直線上升查詢:
cursor = conn.cursor()
cursor.execute("SELECT cool_stuff FROM hive_table")
for result in cursor.fetchall():
use_result(result)
...或使用該連接撥打大熊貓數據幀:
import pandas as pd
df = pd.read_sql("SELECT cool_stuff FROM hive_table", conn)
+1
「無法啓動SASL:%s」%self.sasl.getError()「 - 在Windows 2008下R2,python 3.6。如何解決這個問題? –
相關問題
- 1. 使用sparklyr包訪問配置單元?
- 2. 如何使用火花訪問配置單元數據
- 3. 使用Python訪問mp3元數據
- 4. 如何訪問配置單元數據到html頁面
- 5. 使用python訪問gnome配置信息
- 6. 通過python從遠程服務器訪問配置單元
- 7. 通過網頁瀏覽器使用thrift訪問配置單元
- 8. Python:我如何使用Python訪問mp3文件的元數據?
- 9. symfony數據庫訪問配置問題
- 10. Tableau加載配置單元元數據
- 11. 訪問python蛋自己的元數據
- 12. 如何使用配置單元腳本訪問dynamoDb中blob的個人元素?
- 13. 使用Python/Django從webservices訪問數據
- 14. 使用Python訪問Facebook API數據
- 15. 使用python請求訪問ASANA數據
- 16. 使用python訪問mongodb數據庫
- 17. 使用Python訪問MP3音樂數據
- 18. 拒絕當訪問配置數據庫
- 19. 訪問OSGi的配置數據在AngularJS
- 20. Magento數據庫訪問配置
- 21. 在initConfig()中訪問Grunt配置數據()
- 22. hadoop配置單元問題
- 23. 如何使用Python訪問文件元數據?
- 24. 用python代碼執行配置單元
- 25. 通過代碼API訪問彈簧配置屬性元數據
- 26. 單元測試雲Bigtable數據訪問
- 27. 單元測試數據庫訪問層
- 28. 單元測試數據訪問層c#
- 29. 訪問單個文件的元數據
- 30. 單元測試數據訪問層
PLZ告訴我怎麼去蜂巢庫? –
您可以從$ HIVE_HOME/lib/py/*將該內容複製到py文件夾中的內容並將其過去到Python庫 – Sreejith
@Sreejith我沒有問題導入這些python庫,但是,執行hive命令後代碼會掛起。結果是一個普遍的問題。你的代碼是否連接到Hiveserver1或Hiveserver2? https://groups.google.com/a/cloudera.org/forum/#!topic/cdh-user/lCSuh6vLmHM –