【发布时间】:2016-02-12 16:35:23
【问题描述】:
我尝试使用此 scala 代码从 ftp 站点下载文件。代码如下。
object BasicTextFromFTP {
def main(args: Array[String]) {
val conf = new org.apache.spark.SparkConf().setAppName("FTP Test")
conf.setMaster("local")
val sc = new SparkContext(conf)
val file = sc.textFile("ftp://anonymous:pandamagic@ftp.ubuntu.com/ubuntu/ls-LR.gz")
println(file.collect().mkString("\n"))
}
}
运行时出现以下错误。
16/02/12 10:52:22 信息 SparkContext:在 BasicTextFromFTP.scala:14 从 textFile 创建广播 0 线程“主”org.apache.hadoop.mapred.InvalidInputException 中的异常:输入路径不存在:ftp://anonymous:pandamagic@ftp.ubuntu.com/ubuntu/ls-LR.gz 在 org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:251) 在 org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:270) 在 org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:199) 在 org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239) 在 org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237) 在 scala.Option.getOrElse(Option.scala:121) 在 org.apache.spark.rdd.RDD.partitions(RDD.scala:237) 在 org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35) 在 org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239) 在 org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237) 在 scala.Option.getOrElse(Option.scala:121) 在 org.apache.spark.rdd.RDD.partitions(RDD.scala:237) 在 org.apache.spark.SparkContext.runJob(SparkContext.scala:1929) 在 org.apache.spark.rdd.RDD$$anonfun$collect$1.apply(RDD.scala:927) 在 org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:150) 在 org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:111) 在 org.apache.spark.rdd.RDD.withScope(RDD.scala:316) 在 org.apache.spark.rdd.RDD.collect(RDD.scala:926) 在 ftp.BasicTextFromFTP$.main(BasicTextFromFTP.scala:15) 在 ftp.BasicTextFromFTP.main(BasicTextFromFTP.scala) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
我正在使用 spark 1.6.0 和 scala 2.11。
【问题讨论】:
标签: apache-spark ftp