利用 livy 远程提交 spark作业

本文介绍了如何通过livy远程提交Spark作业,包括下载安装livy、配置环境变量、开启服务,以及详细阐述了使用REST API进行交互的步骤,如创建session、获取session信息、删除session、查询和获取statement详情等。
摘要由CSDN通过智能技术生成

利用 livy 远程提交 spark作业

1. 下载,安装 livy

下载 地址 :http://livy.io/quickstart.html
下载之后,解压即可运行

2. 配置环境变量

export SPARK_HOME=/usr/lib/spark 
export HADOOP_CONF_DIR=/etc/hadoop/conf


3.配置主机和端口(可跳过,直接用默认值)

# What host address to start the server on. By default, Livy will bind to all network interfaces. (主机)
 livy.server.host = 0.0.0.0
要使用Java编写的应用程序通过Livy提交Spark任务,您可以使用Livy的Java客户端库。以下是一些基本的步骤: 1. 首先,您需要将Livy的Java客户端库添加到您的应用程序中。您可以从Livy的Maven中央仓库中获取该库。例如,如果您使用Maven构建您的应用程序,可以在pom.xml文件中添加以下依赖项: ```xml <dependency> <groupId>org.apache.livy</groupId> <artifactId>livy-client-http</artifactId> <version>0.7.1-incubating</version> </dependency> ``` 2. 接下来,您需要创建一个LivyClient实例,该实例将用于与Livy服务器交互。例如,您可以使用以下代码创建一个LivyClient: ```java LivyClient client = new LivyClientBuilder() .setURI(new URI("http://<livy-server>:8998")) .build(); ``` 其中,`<livy-server>`是Livy服务器的主机名或IP地址。 3. 然后,您需要使用LivyClient提交Spark作业。您可以使用以下代码提交一个Java Spark作业: ```java Job job = new JavaJobBuilder(SparkJob.class) .appName("My Spark Job") .mainClass("com.example.spark.MySparkJob") .args("arg1", "arg2") .jars("/path/to/your/dependencies.jar") .pyFiles("/path/to/your/dependencies.py") .conf("spark.driver.memory", "4g") .conf("spark.executor.memory", "2g") .build(); long jobId = client.submit(job); ``` 其中,`SparkJob`是您的Spark作业类,`com.example.spark.MySparkJob`是您的Spark作业的主类,`/path/to/your/dependencies.jar`和`/path/to/your/dependencies.py`是您的Spark作业的依赖项。 4. 最后,您可以使用LivyClient获取Spark作业的状态和输出。例如,您可以使用以下代码获取Spark作业的状态: ```java JobStatus status = client.getJobStatus(jobId); ``` 您还可以使用以下代码获取Spark作业的输出: ```java List<String> output = client.getJobResult(jobId).stdout(); ``` 以上就是使用Java编写的应用程序通过Livy提交Spark任务的基本步骤。需要注意的是,Livy需要与Spark集群的网络和安全设置兼容,才能在集群模式下正常工作。因此,在使用Livy时,请确保您已经正确地设置了Spark集群的网络和安全设置。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值