最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

transform python環(huán)境快速配置方法

 更新時(shí)間:2018年09月27日 11:19:04   作者:brucelu  
經(jīng)常在數(shù)據(jù)開發(fā)中需要搞udf,最近發(fā)現(xiàn)transform更加方便易用,但是經(jīng)常會涉及到集群python版本不一、包不全或者部分機(jī)器上沒有安裝python。這篇文章主要介紹了transform python環(huán)境快速配置方法,需要的朋友可以參考下

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

所以咱們需要快速的進(jìn)行環(huán)境配置。

因?yàn)閙ac自帶安裝好的python,所以就不講怎么安裝了??梢匀ス倬W(wǎng)下個(gè): https://www.python.org/downloads/source/

1、安裝虛擬環(huán)境工具:

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

2、創(chuàng)建虛擬環(huán)境:

新建一個(gè)目錄,各種環(huán)境文件放里面:

midir envs

cd 到該目錄下,創(chuàng)建python虛擬環(huán)境:

virtualenv python-env

創(chuàng)建完了可以看到會新增一個(gè)python-env文件夾。

如果你對python版本有要求,也可以指定python版本進(jìn)行創(chuàng)建:

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

3、在新的虛擬環(huán)境安裝自己需要的包:

激活虛擬環(huán)境:

source python-env/bin/activate

這時(shí)候在這個(gè)環(huán)境下安裝的py包都是在該環(huán)境下的,可以用pip install進(jìn)行安裝

例如:pip install pyhs2

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

退出虛擬環(huán)境:

deactivate

4、修改文件配置:

進(jìn)入虛擬環(huán)境的bin文件夾

修改activate文件內(nèi)的路徑:

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

5、打包文件:

進(jìn)入 python-env文件夾內(nèi)(因?yàn)槟夸泴蛹壣僖稽c(diǎn)), 打包虛擬環(huán)境:

tar -zcf python-env.tgz *

檢查一下打包文件是否把對應(yīng)包打進(jìn)去了,查看打包是否把pyhs2打進(jìn)去了:

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

6、如何引用python環(huán)境

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

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

寫好 test_ transform 的代碼,例如簡單的計(jì)算(不要糾結(jié)案例的業(yè)務(wù)邏輯):

# -*- coding: utf-8 -*-
import sys

def main():
  data_list = sys.stdin.readlines()
  # 獲取id循環(huán)次數(shù),除數(shù)-1,結(jié)果加+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:

進(jìn)入hive客戶端后,加載上述文件:

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

執(zhí)行hsql:

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

以上整個(gè)流程搞通,那么就算集群上沒有裝python,你都可以自己創(chuàng)建transform進(jìn)行快速開發(fā)了。

以上所述是小編給大家介紹的transform python環(huán)境快速配置方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • pandas報(bào)錯(cuò)AttributeError: DataFrame object has no attribute ix問題

    pandas報(bào)錯(cuò)AttributeError: DataFrame object has&

    這篇文章主要介紹了pandas報(bào)錯(cuò)AttributeError: DataFrame object has no attribute ix問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 基于Python生成個(gè)性二維碼過程詳解

    基于Python生成個(gè)性二維碼過程詳解

    這篇文章主要介紹了基于Python生成個(gè)性二維碼過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python利用matplotlib實(shí)現(xiàn)餅圖繪制

    Python利用matplotlib實(shí)現(xiàn)餅圖繪制

    Pyplot作為Matplotlib的子庫,提供了和MATLAB差不多的繪圖API。因此Pyplot作為常用的繪圖模塊,能很方便讓用戶繪制2D圖表。本文將為大家介紹如何利用Matplotlib繪制餅圖,感興趣的小伙伴可以了解一下
    2021-12-12
  • 詳解Python中的Descriptor描述符類

    詳解Python中的Descriptor描述符類

    這里我們將來詳解Python中的Descriptor描述符類,包括定義描述符并展示如何調(diào)用描述符,需要的朋友可以參考下
    2016-06-06
  • Python3使用matplotlib繪圖時(shí),坐標(biāo)軸刻度不從X軸、y軸兩端開始

    Python3使用matplotlib繪圖時(shí),坐標(biāo)軸刻度不從X軸、y軸兩端開始

    這篇文章主要介紹了Python3使用matplotlib繪圖時(shí),坐標(biāo)軸刻度不從X軸、y軸兩端開始問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python實(shí)現(xiàn)接口自動化封裝導(dǎo)出excel和讀寫excel數(shù)據(jù)

    Python實(shí)現(xiàn)接口自動化封裝導(dǎo)出excel和讀寫excel數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)接口自動化封裝導(dǎo)出excel和讀寫excel數(shù)據(jù),文中的示例代碼簡潔易懂,希望對大家有所幫助
    2023-07-07
  • python程序主動退出進(jìn)程的五種方式

    python程序主動退出進(jìn)程的五種方式

    對于如何結(jié)束一個(gè)Python程序或者用Python操作去結(jié)束一個(gè)進(jìn)程等,Python本身給出了好幾種方法,而這些方式也存在著一些區(qū)別,對相關(guān)的幾種方法看了并實(shí)踐了下,同時(shí)也記錄下,需要的朋友可以參考下
    2024-02-02
  • python中的selenium安裝的步驟(瀏覽器自動化測試框架)

    python中的selenium安裝的步驟(瀏覽器自動化測試框架)

    這篇文章主要介紹了python中的selenium安裝的步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • python 中的list和array的不同之處及轉(zhuǎn)換問題

    python 中的list和array的不同之處及轉(zhuǎn)換問題

    python中的list是python的內(nèi)置數(shù)據(jù)類型,list中的數(shù)據(jù)類不必相同的,而array的中的類型必須全部相同。這篇文章給大家介紹了python 中的list和array的不同之處及轉(zhuǎn)換問題,需要的朋友參考下吧
    2018-03-03
  • Python 加密與解密小結(jié)

    Python 加密與解密小結(jié)

    這篇文章主要介紹了Python 加密與解密,使用base64或pycrypto模塊需要的朋友可以參考下
    2018-12-12

最新評論

涞源县| 嘉峪关市| 丰顺县| 岢岚县| 宣汉县| 三都| 格尔木市| 石河子市| 济源市| 赞皇县| 呼图壁县| 普兰县| 肇州县| 确山县| 古浪县| 多伦县| 普陀区| 句容市| 那曲县| 江门市| 庄浪县| 德庆县| 宜州市| 清水县| 宜城市| 若尔盖县| 宁陵县| 浏阳市| 建水县| 潼南县| 恩平市| 通榆县| 同江市| 华容县| 紫阳县| 许昌市| 清镇市| 台北市| 肇源县| 萍乡市| 祁门县|