• [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环境了。

  • 相关阅读:
    C/C++ 语言中的表达式求值
    C++中delete与delete[]
    特殊数据类型成员变量的初始化
    C++中的new
    C++数组名解析
    C++中的位拷贝和值拷贝
    while(cin>>s)退出问题
    C++继承中的虚析构函数
    C++的IO标准库介绍
    C++一道面试题(atexit)
  • 原文地址:https://www.cnblogs.com/mj-selina/p/14620756.html
Copyright © 2020-2023  润新知