栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

python操作livy:将python环境作为archives包传递给spark

python操作livy:将python环境作为archives包传递给spark

为什么要用Livy

Livy是一个用于与Spark交互的开源REST接口。

通过Livy可以将上层应用系统与底层的大数据平台连接起来,比如在前段界面点一个“开始运算”,来启动大数据平台执行运算。

其中发送命令告诉大数据平台开始运算的功能就是由Livy来负责的。

使用Livy之前,都是用xshell登录到hadoop-master的容器里,执行spark-submit xxx命令来执行计算。这种方法是纯粹手动的方式,不能做成系统级别的应用。

Livy提交python程序

livy有session和batch两种方式。如果已经写好了python程序,直接选用batch模式即可。

通过livy可以用rest api的方式调用pyspark的程序。

通常的操作是进入到hadoop-master里,然后在hadoop-master里用curl来测试API,然后在8988界面里查看状态。

传递python环境

复杂一点的程序,都会用到大量的python包,如何通过livy的方式将python包作为参数传递给spark呢?

 

方法如下:

1. 将python包上传到HDFS上。

2. 通过livy里的conf参数指定driver的python环境变量spark.yarn.appMasterEnv.PYSPARK_PYTHON

pyspark需要的python环境包可以通过archives的方式传进去,并在conf里指定python的路径:

curl -X POST --data '{"file": "hdfs:///test_code/pi_v1.py","args":["2"],"archives":["hdfs:///test_model/py3env.zip#py3"], "conf":{"spark.yarn.appMasterEnv.PYSPARK_PYTHON":"py3/py3env/bin/python3"}}' -H "Content-Type:  application/json" localhost:8998/batches

成功:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/762402.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号