zoukankan      html  css  js  c++  java
  • [hadoop&spark]在hadoop集群上定制python环境

    1、首先,在linux服务器上准备好需要的python环境(个人文件夹下只支持500m):

    conda create -y -n pyspark_env -c conda-forge conda-pack python=3.6
    conda activate pyspark_env
    pip install -i https://mirrors.aliyun.com/pypi/simple/ pyspark==2.3.2 numpy pandas jieba
    conda pack -f
    

    将打包好的pyspark_env.tar.gz传到本机电脑上。

    2、在hadoop平台上创建一个新任务,选择使用script任务,双击新加的script任务,在负责执行脚本的对应属性上增加如下代码:

    ./exec-hdfs-cmd.sh hdfs dfs -put pyspark_env.tar.gz hdfs:///user/xxxxx/pyenvs/
    
    并增加节点属性:
    user.to.proxy='abc'
    azkaban.argument.script.user.execute=false
    

    并在该任务对应的文件夹下上传sh文件和pyspark_env.tar.gz,其中sh文件内容如下:

    #! /bin/bash
    cmd_stmt=$@
    
    echo "executeing command $cmd_stmt"
    eval $cmd_stmt
    

    这里就将python环境文件上传到hadoop系统上了。

    3、创建需要使用该python环境的任务(spark),双击spark任务,并在节点属性上增加如下两行:

    conf.spark.yarn.dist.archives=hdfs:///user/xxxxx/pyenvs/pyspark_env.tar.gz#py3
    conf.spark.yarn.appMasterEnv.PYSPARK_PYTHON=py3/bin/python3.6
    

    此时,该spark任务就有定制的python环境了。

  • 相关阅读:
    java工程师面试总结
    多线程面试题
    冒个泡
    给大家简单介绍一下:Elasticsearch
    单点登录
    (jQuery)Cookie记住用户名和密码
    我们需要循序渐进的代码重构
    Java序列化(Serialization)的理解
    Java对象序列化
    【武】做一个有自控力的人,开始你的时间规划吧!
  • 原文地址:https://www.cnblogs.com/mj-selina/p/14620756.html
Copyright © 2011-2022 走看看