为什么要用Livy
通过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环境包

Livy作为一个开源REST接口,使得上层应用能够方便地与Spark进行交互,避免了手动登录执行命令的繁琐。通过Livy的session和batch模式,可以轻松启动Spark计算任务。在提交Python程序时,可以通过archives参数传递依赖的python包,并通过conf指定PYSPARK_PYTHON环境。例如,将python包上传到HDFS,然后在curl命令中指定路径,即可完成包的传递。
最低0.47元/天 解锁文章
1910

被折叠的 条评论
为什么被折叠?



