2016-08-03 193 views
0

大家好,我是reqmnt从http://10.3.9.34:9900/messages是从http://10.3.9.34:9900/messages提取数据,并把这些数据在HDFS位置/user/cloudera/flume和HDFS创建使用的Tableau或色调UI分析报告创建Analytics(分析)创建从http Analytics(分析)。我用下面的代码试图在CDH5.5的火花外壳,但正是Scala控制台无法从HTTP链接使用火花流

import org.apache.spark.SparkContext 
val dataRDD = sc.textFile("http://10.3.9.34:9900/messages") 
dataRDD.collect().foreach(println) 
dataRDD.count() 
dataRDD.saveAsTextFile("/user/cloudera/flume") 

我得到以下错误在斯卡拉控制台获取数据:

java.io. IOException异常:没有文件系统的方案:在 org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2637)HTTP在 org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2623) at org.apache.hadoop.fs.FileSystem.access $ 200(FileSystem.java:93)at org.apache.hadoop.fs.FileS ystem $ Cache.getInternal(FileSystem.java:2680) at org.apache.hadoop.fs.FileSystem $ Cache.get(FileSystem.java:2662)at org.apache.hadoop.fs.FileSystem.get(FileSystem。 Java的:379)在 org.apache.hadoop.fs.Path.getFileSystem(Path.java:296)

回答

2

您不能使用HTTP端点作为输入,它需要一个文件系统,如HDFSS3local

您需要一个单独的进程,从这个端点提取数据,可能使用类似Apache NiFi的数据将数据着陆到文件系统,然后将其用作Spark的输入。

+1

谢谢,我能够使用scala代码从http套接字中提取数据,这里是代码导入org.apache.spark.SparkContext val data = scala.io.Source.fromURL(“http://10.3。 9.34:9900/merged“)。mkString val list = data.split(”\ n“)。filter(_!=”“) val rdds = sc.parallelize(list) rdds.saveAsTextFile(”/ user/Cloudera的/火花“) –