日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Python內(nèi)置資源包

在開發(fā)Python計算任務(wù)時,通常需要根據(jù)業(yè)務(wù)場景安裝如下資源包。以下資源包已經(jīng)預(yù)置至系統(tǒng)內(nèi),您在開發(fā)代碼過程中,只需要在代碼開始部分添加import 資源包名語句即可,例如import configparser

內(nèi)置資源包列表

以下列表列出了Dataphin內(nèi)置的資源包,同時您也可以在Shell計算任務(wù)中運行pip list命令查看內(nèi)置的資源包模塊。

資源包

資源包版本

適用場景

configparser

>=3.5.0

讀取配置文件。

DateTime

數(shù)據(jù)處理。

hdfs

>=2.1.0

Hadoop計算引擎下,使用HDFS。

jumpssh

使用跳板機連接服務(wù)器。

mysql-connector-python

>=8.0.11

連接并操作MySQL。

numpy

算法基礎(chǔ)處理。

pandas

算法基礎(chǔ)處理。

psycopg2

>=2.7.4

連接操作PostgreSQL。

pyhdfs

>=0.2.1

Hadoop計算引擎下,使用PostgreSQL。

pyhs2

>=0.6.0

連接并操作HDFS。

pyodps

>=0.7.16

ODPS操作,適用ODPS。

pyspark

>=2.3.1

Hadoop計算引擎下,使用Spark。

requests

>=2.4.0

算法基礎(chǔ)處理。

scikit-learn

算法基礎(chǔ)處理。

scipy

算法基礎(chǔ)處理。

setuptools

>=3.0

Python基礎(chǔ)功能庫。

yarn-api-client

>=0.2.3

Yarn-api客戶端。

Matplotlib

算法基礎(chǔ)處理。

Dataphin 內(nèi)使用 PyHive和PyOdps。

在Dataphin內(nèi),除了支持本地方式使用PyHive和PyOdps外,還支持通過使用from dataphin import odpsfrom dataphin import hivec對象句柄方式進行使用。該方式解決了本地方式存在的以下問題:

  1. 如果Hive使用賬號密碼認證,就需要開發(fā)者可以獲取到賬號密碼。這容易造成賬號泄露,同時如果修改賬號密碼,需要同步更新程序或變量。

  2. 如果Hive使用Kerberos認證,除了開發(fā)者需要獲取keytab容易造成泄密和修改的問題外,Kerberos認證流程的代碼實現(xiàn)也比較復(fù)雜。

  3. Dataphin無法對用戶做鑒權(quán),可以繞開Dataphin的權(quán)限體系。

  4. 無法查詢使用邏輯表。

PyHive和PyOdps語法使用范圍

  • 支持查詢物理表。

  • 支持查詢邏輯表。

  • 支持調(diào)用系統(tǒng)Function和UDF。

  • 支持空間變量名稱替換,${project_name}${LD_name}替換為真實名稱。

  • 支持全局變量和本地變量。

  • 支持物理表DML和邏輯表DML。

  • 支持物理表DDL。

  • 支持對象鑒權(quán)。

hivec支持的方法

您可以通過使用以下代碼查看hivec的方法。

from dataphin import hivec

print(dir(hivec))

hivec與pyhive.hive.Cursor的同名方法一致:

  • 執(zhí)行 SQL 語句execute

  • 獲取所有查詢結(jié)果fetchall

  • 獲取指定行數(shù)的查詢結(jié)果fetchmany

  • 獲取一行查詢結(jié)果fetchone

  • 關(guān)閉cursor和connectionclose

使用示例

Hadoop計算引擎

通常在非Dataphin環(huán)境下,需要通過安裝PyHive后,使用import導(dǎo)入hive包來連接操作Hive。示例代碼如下:

# 加載包
from pyhive import hive

# 建立連接
conn = hive.connect(host = '100.100.***.100',      # HiveServer
                    port = 10000,                  # 端口 
                    username = 'xxx',           # 賬號
                    database = 'xxx',            # 數(shù)據(jù)庫
                    password = 'xxx')           # 密碼
                    
# 查詢
cursor = conn.cursor()
cursor.execute('select * from table limit 10')
for result in cursor.fetchall():
    print(result)
    
# 關(guān)閉連接
cursor.close()
conn.close()

在Dataphin中您可以直接在Python計算任務(wù)通過from dataphin import hivec導(dǎo)入預(yù)置資源包后操作Hive。示例代碼如下:

# 導(dǎo)入包
from dataphin import hivec

# 運行sql語句
hivec.execute("SELECT * FROM ${project_dev}.table WHERE ds != 0")

# 打印sql結(jié)果
for result in hivec.fetchall():
	print(result)

MaxCompute計算引擎

MaxCompute計算引擎下,可以在Python計算任務(wù)中通過from dataphin import odps導(dǎo)入預(yù)置資源包后操作MaxCompute。示例代碼如下:

# 加載包
from dataphin import odps
 
# 運行sql語句
odps.run_sql('SELECT * FROM ${project_dev}.table WHERE ds != 0')

# 以下寫法可打印結(jié)果
with odps.execute_sql('select 1').open_reader() as reader:
    for record in reader:
        print(record)