spark任务运行及jar包

spark的jar包没必要把所有相关的依赖都打进一个jar包中,因为这样会把spark、hadoop本身相关的jar包也打进去,但是这些依赖在用spark-submit命令运行时,会自动加载部署环境中已有的。

 

/opt/cloudera/parcels/CDH/bin/spark-submit \

--class "cn.icarevision.its007.upgrade.EsIndexUpgrade" \

--jars ~/its007/its007-upgrade/lib/dependency/*.jar \ 

~/its007/its007-upgrade/lib/hello-es-hadoop_2.10-1.0.jar

 

其中--jars是是所有依赖的jar包,这里我把所有依赖的jar包放到了dependency这个目录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Java中使用SparkLauncher提交Spark任务运行在MinIO上面的JAR包,可以按照以下步骤操作: 1. 首先,需要导入以下依赖: ```xml <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>3.1.2</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-launcher_2.12</artifactId> <version>3.1.2</version> </dependency> <dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>8.0.11</version> </dependency> ``` 2. 接下来,需要创建一个SparkLauncher实例,设置Spark应用程序的相关参数,如下所示: ```java SparkLauncher launcher = new SparkLauncher() .setAppName("MyApp") .setSparkHome("/path/to/spark/home") .setMaster("spark://host:port") .setAppResource("s3a://bucket/path/to/myapp.jar") .setMainClass("com.myapp.Main") .addAppArgs("arg1", "arg2") .setConf(SparkLauncher.DRIVER_MEMORY, "1g") .setConf("spark.executor.instances", "2"); ``` 其中,setAppName()设置应用程序名称,setSparkHome()设置Spark安装路径,setMaster()设置Spark集群的Master节点地址,setAppResource()设置应用程序Jar包的路径,setMainClass()设置应用程序的入口类,addAppArgs()设置应用程序所需的参数,setConf()设置Spark配置项。 3. 然后,需要将MinIO的access key和secret key设置为环境变量,如下所示: ```java System.setProperty("aws.accessKeyId", "my_access_key"); System.setProperty("aws.secretKey", "my_secret_key"); ``` 4. 接下来,需要创建一个MinIO Client实例,并使用它来上传应用程序Jar包到MinIO存储桶中,如下所示: ```java MinioClient client = MinioClient.builder() .endpoint("http://minio-host:9000") .credentials("my_access_key", "my_secret_key") .build(); client.uploadObject( UploadObjectArgs.builder() .bucket("my-bucket") .object("path/to/myapp.jar") .filename("/path/to/myapp.jar") .build()); ``` 其中,endpoint()设置MinIO服务的地址,credentials()设置访问MinIO服务的凭证,uploadObject()将本地Jar包上传到MinIO存储桶中。 5. 最后,可以使用SparkLauncher的start()方法启动Spark应用程序,如下所示: ```java LauncherApps.submit(launcher); ``` 其中,LauncherApps是SparkLauncher的静态类,submit()方法用于提交Spark应用程序。 以上就是在Java中使用SparkLauncher提交Spark任务运行在MinIO上面的JAR包的步骤。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值