我正在尝试使用Spark:
在hdfs中保存文本文件的内容 import org.apache.spark.{SparkContext, SparkConf}
object FormatTlfHdfs { def main(args : Array[String]) {
val conf = new SparkConf().setAppName("Clean data")
.setMaster("local").setSparkHome("/usr/lib/spark")
val sc = new SparkContext(conf)
var vertices = sc.textFile("hdfs:///user/cloudera/dstlf.txt").flatMap{
line => line.split("\\s+") }.distinct()
我收到了错误:
线程“main”中的异常java.io.IOException:不完整的HDFS URI, 没有主机:hdfs:/// user / cloudera / metadata-lookup-tlf
执行hdfs dfs -ls看起来是正确的
cloudera@quickstart grafoTelefonos]$ hdfs dfs -ls /user/cloudera
Found 6 items
drwx------ - cloudera cloudera 0 2016-02-04 18:37 /user/cloudera/.Trash
drwxr-xr-x - cloudera cloudera 0 2016-05-02 13:38 /user/cloudera/.sparkStaging
-rw-r--r-- 1 cloudera cloudera 1294 2016-05-02 13:34 /user/cloudera /dstlf.txt
答案 0 :(得分:3)
错误似乎很明显......
HDFS URI不完整,没有主机:hdfs:/// user / cloudera / metadata-lookup-tlf
您没有指定像
这样的主机hdfs://quickstart:<hdfs_port>/user/cloudera...
您可能不需要<hdfs_port>
件,但它不会受到伤害。我认为正确的端口是8020,所以你有
hdfs://quickstart:8020/user/cloudera...