spark如何解决文件不存在_spark任务提交时绝对路径添加额外配置文件提示找不到路径...

当使用Spark提交任务时,通过绝对路径添加额外配置文件失败,提示找不到文件。问题在于Spark在尝试上传文件到集群时未能正确定位文件。将路径改为相对路径后,任务能正常执行。解决方案是确保使用与Spark运行环境相对应的文件路径。
摘要由CSDN通过智能技术生成

spark任务提交,添加额外配置文件时用绝对路径读取不到上传的文件。

/usr/local/spark-2.1.0-bin-hadoop2.7/bin/spark-submit --name str_platform_test_80 --master yarn --deploy-mode client --executor-cores 1 --num-executors 2 --executor-memory 1G --driver-memory 4G --conf spark.yarn.queue=radar --conf spark.driver.cores=4 --conf spark.driver.maxResultSize=10G --conf spark.yarn.submit.waitAppCompletion=false --conf spark.rpc.message.maxSize=2000 --conf spark.network.timeout=600s --conf spark.executor.heartbeatInterval=300s

--files /tmp/computeA_run_spark.py,/tmp/computeA1524709482.7682726_output_data.conf /home/guomm/script/spark_run.py computeA1524709482.7682726_output_data.conf computeA

在spark_run脚本中读取computeA_run_spark.py和computeA1524709482.7682726_output_data.conf失败,提示找不到文件。

cd tmp

/usr/local/spark-2.1.0-bin-hadoop2.7/bin/spark-submit --name str_platform_test_80 --master yarn --deploy-mode client --

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Java的Minio SDK来实现将Jar包上传到Minio上,然后使用SparkLauncher提交任务指定Jar包的Minio路径。 以下是一个示例代码: ```java import io.minio.MinioClient; import io.minio.errors.MinioException; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class MinioUploader { private static final String MINIO_ENDPOINT = "http://minio.example.com"; private static final String MINIO_ACCESS_KEY = "accessKey"; private static final String MINIO_SECRET_KEY = "secretKey"; private static final String MINIO_BUCKET_NAME = "spark-jars"; public static void uploadJar(String localPath, String remotePath) throws IOException, MinioException { // Create a MinioClient object MinioClient minioClient = new MinioClient(MINIO_ENDPOINT, MINIO_ACCESS_KEY, MINIO_SECRET_KEY); // Create the bucket if it doesn't exist if (!minioClient.bucketExists(MINIO_BUCKET_NAME)) { minioClient.makeBucket(MINIO_BUCKET_NAME); } // Read the jar file into a byte array Path path = Paths.get(localPath); byte[] data = Files.readAllBytes(path); // Upload the jar file to Minio minioClient.putObject(MINIO_BUCKET_NAME, remotePath, data, "application/java-archive"); } } ``` 然后在SparkLauncher提交任务,指定Jar包的Minio路径,例如: ```java import org.apache.spark.launcher.SparkLauncher; public class SparkJobLauncher { private static final String APP_NAME = "MySparkApp"; private static final String MASTER = "spark://spark-master.example.com:7077"; private static final String MAIN_CLASS = "com.example.MySparkJob"; private static final String MINIO_ENDPOINT = "http://minio.example.com"; private static final String MINIO_ACCESS_KEY = "accessKey"; private static final String MINIO_SECRET_KEY = "secretKey"; private static final String MINIO_BUCKET_NAME = "spark-jars"; private static final String JAR_REMOTE_PATH = "my-spark-job.jar"; public static void main(String[] args) throws Exception { // Upload the jar to Minio MinioUploader.uploadJar("my-spark-job.jar", JAR_REMOTE_PATH); // Create a SparkLauncher object SparkLauncher launcher = new SparkLauncher() .setAppName(APP_NAME) .setMaster(MASTER) .setMainClass(MAIN_CLASS) .setAppResource(MINIO_ENDPOINT + "/" + MINIO_BUCKET_NAME + "/" + JAR_REMOTE_PATH) .addAppArgs("arg1", "arg2"); // Submit the job Process process = launcher.launch(); process.waitFor(); } } ``` 在上面的代码中,`setAppResource`方法指定了Jar包的Minio路径,`addAppArgs`方法指定了任务的参数。可以根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值