国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

transform python環境快速配置方法

2020-01-04 14:27:02
字體:
來源:轉載
供稿:網友

經常在數據開發中需要搞udf,最近發現transform更加方便易用,但是經常會涉及到集群python版本不一、包不全或者部分機器上沒有安裝python。

所以咱們需要快速的進行環境配置。

因為mac自帶安裝好的python,所以就不講怎么安裝了。可以去官網下個: https://www.python.org/downloads/source/

1、安裝虛擬環境工具:

執行:pip install virtualenv,如果沒有pip的話可以google一把,自行安裝

2、創建虛擬環境:

新建一個目錄,各種環境文件放里面:

midir envs

cd 到該目錄下,創建python虛擬環境:

virtualenv python-env

創建完了可以看到會新增一個python-env文件夾。

如果你對python版本有要求,也可以指定python版本進行創建:

virtualenv -p /usr/bin/python2.7 python-env

3、在新的虛擬環境安裝自己需要的包:

激活虛擬環境:

source python-env/bin/activate

這時候在這個環境下安裝的py包都是在該環境下的,可以用pip install進行安裝

例如:pip install pyhs2

(安裝pyhs2的時候出現異常 Cannot uninstall 'six'. It is a distutils installed project,直接跳過 sudo pip install pyhs2 --ignore-installed six)

退出虛擬環境:

deactivate

4、修改文件配置:

進入虛擬環境的bin文件夾

修改activate文件內的路徑:

DIR_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"VIRTUAL_ENV="$( readlink -f "${DIR_PATH}/../" )"

5、打包文件:

進入 python-env文件夾內(因為目錄層級少一點), 打包虛擬環境:

tar -zcf python-env.tgz *

檢查一下打包文件是否把對應包打進去了,查看打包是否把pyhs2打進去了:

tar -tvf python-env.tgz |grep "pyhs2"

6、如何引用python環境

新建shell文件例如test.sh,代碼如下:

source ./python-env.tgz/bin/activatepython test_transform.py

寫好 test_ transform 的代碼,例如簡單的計算(不要糾結案例的業務邏輯):

# -*- coding: utf-8 -*-import sysdef main():  data_list = sys.stdin.readlines()  # 獲取id循環次數,除數-1,結果加+1  n = (data_list.__len__() - 1)/20 + 1  j = 1  while j <= n:    id_lists = data_list[(j - 1) * 20:j * 20]    ids = []    for id in id_lists:      ids.append(id.strip())    j += 1    for id in ids:      result=[id,str(id*100),str(id+10)]    print '/t'.join(str(e) for e in result)if __name__ == "__main__":  main()

把python-env.tgz、 test.sh、test_ transform.py 上傳至集群的hdfs上,例如在:hdfs:///user/tmp

7、hive引用transfrom:

進入hive客戶端后,加載上述文件:

ADD ARCHIVE hdfs:///user/tmp/python-env.tgz;ADD FILE hdfs:///user/tmp/test.sh;ADD FILE hdfs:///user/tmp/test_transform.py;

執行hsql:

selecttransform(id) USING 'test.sh' as (id,price1,price2)from(select 100 as id from dual)

以上整個流程搞通,那么就算集群上沒有裝python,你都可以自己創建transform進行快速開發了。

以上所述是小編給大家介紹的transform python環境快速配置方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 革吉县| 陆良县| 康乐县| 麟游县| 德庆县| 汕尾市| 甘南县| 彭州市| 宾川县| 喜德县| 汤阴县| 峨眉山市| 台北市| 防城港市| 罗城| 合川市| 尚义县| 花莲县| 华亭县| 恩平市| 天长市| 和田市| 水城县| 茶陵县| 穆棱市| 焉耆| 久治县| 郧西县| 贡觉县| 海晏县| 新平| 广灵县| 吕梁市| 大化| 宁陕县| 即墨市| 玉田县| 富民县| 西青区| 临桂县| 开阳县|