# 下载 wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -zxvf Python-2.7.9.tgz
cd Python-2.7.9
# 指定打包路径
./configure --prefix=/home/tmp/python2.7.9
make && make install
3. 安装需要用到的库,以 pykafka 为例
# 用 -t 指定安装路径,而非默认路径
pip install -t /home/tmp/python2.7.9/lib/python2.7/site-packages pykafka
4. 打包
# 注意是在安装目录内部打的包,这关系到后续指定python时的路径,如果这里不同,后续也要相应调整
cd python2.7.9
tar -zcf python2.7.9.tgz *
5. 上传到hdfs
hadoop fs -put python2.7.9.tgz /usr/jar/python
spark yarn client模式
spark-submit --queue --conf spark.yarn.dist.archives=hdfs://DClusterNmg4/user/xxx/xxx/python2.7.9.tgz#python2.7.9 --conf spark.pyspark.python=./python2.7.9/bin/python --deploy-mode client --py-files xxxx-dependency.py main.py
#后为后续引用这个包所用的名称
spark yarn cluster模式
spark-submit --queue --conf spark.yarn.dist.archives=hdfs://DClusterNmg4/user/xxx/xxx/python2.7.9.tgz#python2.7.9 --conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./python2.7.9/bin/python --deploy-mode cluster --py-files xxxx-dependency.py main.py
#后为后续引用这个包所用的名称
hive udf模式
hive > add ARCHIVE /usr/python/anaconda2.tar.gz;
hive > add file /usr/test.py;
hive > select
> TRANSFORM(data)
> USING 'anaconda2.tar.gz/anaconda2/bin/python test.py'
> as (min_num)
> from test_a;