Apache spark 火花数据表集合
我制作了一个带有7台电脑的独立apache集群。要运行scala代码,代码如下Apache spark 火花数据表集合,apache-spark,cluster-computing,Apache Spark,Cluster Computing,我制作了一个带有7台电脑的独立apache集群。要运行scala代码,代码如下 步骤如下: 我使用sbt创建.jar文件 使用spark submit*.jar提交作业 但是我的执行者找不到sc.textFile(“file:///home/ralfahad/LearnSpark/SBTCreate/customer-orders.csv“” 此customer-orders.csv文件存储在我的主PC中 完整堆栈跟踪: 错误:[阶段0:>(0+2)/2]17/09/25 17:32:35错
步骤如下:
sc.textFile(“file:///home/ralfahad/LearnSpark/SBTCreate/customer-orders.csv“”
此customer-orders.csv文件存储在我的主PC中
完整堆栈跟踪:
错误:[阶段0:>(0+2)/2]17/09/25 17:32:35错误任务管理器:
0.0阶段任务0失败4次;正在中止线程中的作业异常
“main”org.apache.spark.SparkException:作业因阶段而中止
失败:阶段0.0中的任务0失败4次,最近一次失败:丢失
第0.0阶段的任务0.3(TID 5,141.225.166.191,执行者2):
java.io.FileNotFoundException:文件
文件:/home/ralfahad/LearnSpark/SBTCreate/customer-orders.csv不存在
存在
我如何解决这个问题
请修改代码以在my cluster中运行。为了使您的工作节点能够访问该文件,您有几个选项 1。手动将文件复制到所有节点。
val bufferedSource = io.Source.fromFile("/home/ralfahad/LearnSpark/SBTCreate/customer-orders.csv")
val lines = (for (line <- bufferedSource.getLines()) yield line).toList
val rdd = sc.makeRdd(lines)
每个节点的此文件应正好位于以下路径:/home/ralfahad/LearnSpark/SBTCreate/customer orders.csv
2。随附文件提交您的工作。
val bufferedSource = io.Source.fromFile("/home/ralfahad/LearnSpark/SBTCreate/customer-orders.csv")
val lines = (for (line <- bufferedSource.getLines()) yield line).toList
val rdd = sc.makeRdd(lines)
spark submit
有一个选项调用--files
,允许您在提交作业时复制任意数量的文件,如下所示:
spark-submit --master ... -jars ... --files /home/ralfahad/LearnSpark/SBTCreate/customer-orders.csv
不要滥用这个。此选项更适用于测试目的和小文件
3。使用一些可供所有节点访问的外部通用存储。
val bufferedSource = io.Source.fromFile("/home/ralfahad/LearnSpark/SBTCreate/customer-orders.csv")
val lines = (for (line <- bufferedSource.getLines()) yield line).toList
val rdd = sc.makeRdd(lines)
S3和NFS共享是流行的选择
sc.textFile("s3n://bucketname/customer-orders.csv")
4。您可以读取驱动程序中的数据,然后将其转换为RDD进行处理。
val bufferedSource = io.Source.fromFile("/home/ralfahad/LearnSpark/SBTCreate/customer-orders.csv")
val lines = (for (line <- bufferedSource.getLines()) yield line).toList
val rdd = sc.makeRdd(lines)
val bufferedSource=io.Source.fromFile(“/home/ralfahad/LearnSpark/SBTCreate/customer orders.csv”)
val lines=(对于(行错误:[阶段0:>(0+2)/2]17/09/25 17:32:35错误TaskSetManager:阶段0.0中的任务0失败4次;中止线程“main”中的作业异常org.apache.spark.sparkeexception:作业因阶段失败而中止:阶段0.0中的任务0失败了4次,最近的失败:阶段0.0中的任务0.3丢失(TID 5141.225.166.191,executor 2):java.io.FileNotFoundException:文件文件:/home/ralfahad/learnpark/SBTCreate/customer-orders.csv不存在