R語言和Python連線hive

2021-09-13 17:16:45 字數 917 閱讀 2393

連線原理:r語言和python連線,r中讀取的資料可以傳遞到python中進行處理,同理python中的結果可以傳遞到r語言中進行,二者滿足雙向傳遞。而python連線hive的方法較多且簡單,因此採用python獲取hive資料庫中的資料,將資料再傳到r語言中,即可進行分析。在這點上,我個人覺得python的介面優於r語言,用python進行資料分析可能優於r語言。

看到下面的程式**是python連線hive資料庫的**,比較簡單。

(1)前提準備

yum -y install gcc gcc-c++ cyrus-sasl-devel cyrus-sasl-plain

pip install ipython six bit_array thriftpy thrift_sasl==0.2.1 sasl impyla

(2)程式**

from impala.dbapi import connect

conn = connect(host="192.168.14.101", port=10000, database="hive01", auth_mechanism="plain")

cur = conn.cursor()

cur.execute("select * from hive01.data02")

data=cur.fetchone()

print(data)

將以上python寫好的**,儲存為.py檔案即可,命名為data_hive_python.py

library(reticulate)

source_python("data_hive_python.py")

py$data ##檢視資料

R語言 和 操作的區別

返回的 x 是乙個 array 型別的資料,如果用 x 1 那麼將同樣返回乙個 array 型別的資料,該資料是 x 的第一列,是乙個子集。如果用 x 1 那麼將返回 array 資料中的第乙個資料,而不是乙個子集。同樣的當 x 的資料型別是 list 時,操作將返回乙個 list 資料型別,且將是...

python 連線使用LDAP認證的hive

主要使用pyhive包。使用linux中的普通賬號,venv環境。python版本 3.6.4。ldap認證需要sasl包,在安裝sasl包的時候因為機器中沒有g 編譯器,導致無法安裝。因為我使用的普通賬號,沒法給伺服器安裝g 編譯器,解決的方案是在另一台機器中安裝sasl,將安裝完成後生成的.so...

R語言連線TeradataDB

第二步 把driver放在乙個目錄下 我放在d r jdbc 第三步 為r安裝rjdbc package install.packages rjdbc 安裝成功後,可以鍵入如下 進行連線teradata library rjdbc jdbc.drv jdbc.conn 此處注意 userid 1 查...