将jar上传到apachelivy交互会话

gkl3eglg  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(427)

将amazon emr-5.30.1与livy 0.7和spark 2.4.5结合使用
我们愿意使用apachelivy作为spark的rest服务。我们希望使用的模式是会话而不是批处理。尝试将jar上载到会话(通过正式api),使用:

curl -X POST \
     -d '{"conf": {"kind" : "spark","jars": "s3://cjspro-emr-data/spark-examples.jar"}}' \
     -H "Content-Type: application/json" localhost:8998/sessions

查看会话日志给人的印象是jar没有被上传。更不用说使用请求的jar的代码片段不起作用了。
有什么帮助吗?

tp5buhyn

tp5buhyn1#

我不确定来自s3的jar引用是否有效,但是我们使用引导操作和更新spark配置做了同样的事情。
第一步:创建一个引导脚本并添加以下代码;

aws s3 cp s3://cjspro-emr-data/spark-examples.jar /home/hadoop/jars/

步骤2:在创建livy会话时,使用livy会话api中的conf键设置以下spark配置

'conf':{'spark.driver.extraClassPath':'/home/hadoop/jars/*,
        'spark.executor.extraClassPath':'/home/hadoop/jars/*'}

步骤3:使用livy会话api中的jars键发送要添加到会话的jar。

'jars':['local:/home/hadoop/spark-examples.jar']

因此,创建livy会话的最终数据如下所示:;

{
'kind':'pyspark',
'conf':'above mentioned dict',
'jars':['local:/home/hadoop/spark-examples.jar'],
'executorCores':'',
'executorMemory':'',
.
.
.
}

相关问题