Scala 从HDFS文件夹进行流式处理
我正在尝试实现一个Scala 从HDFS文件夹进行流式处理,scala,apache-spark,hadoop,hdfs,cloudera-cdh,Scala,Apache Spark,Hadoop,Hdfs,Cloudera Cdh,我正在尝试实现一个scala+spark解决方案,从HDFS文件夹中的新值流式传输字数信息,如下所示: import org.apache.spark.SparkConf import org.apache.spark.streaming.{Seconds, StreamingContext} import StreamingContext._ import org.apache.hadoop.conf._ import org.apache.hadoop.fs._ object HdfsWo
scala
+spark
解决方案,从HDFS文件夹中的新值流式传输字数信息,如下所示:
import org.apache.spark.SparkConf
import org.apache.spark.streaming.{Seconds, StreamingContext}
import StreamingContext._
import org.apache.hadoop.conf._
import org.apache.hadoop.fs._
object HdfsWordCount {
def main(args: Array[String]) {
if (args.length < 1) {
System.err.println("Usage: HdfsWordCount <directory>")
System.exit(1)
}
val sparkConf = new SparkConf().setAppName("HdfsWordCount")
// Create the context
val ssc = new StreamingContext(sparkConf, Seconds(2))
// Create the FileInputDStream on the directory and use the
// stream to count words in new files created
val lines = ssc.textFileStream(args(0))
val words = lines.flatMap(_.split(" "))
val wordCounts = words.map(x => (x, 1)).reduceByKey(_ + _)
wordCounts.print()
ssc.start()
ssc.awaitTermination()
}
}
import org.apache.spark.SparkConf
导入org.apache.spark.streaming.{Seconds,StreamingContext}
导入StreamingContext_
导入org.apache.hadoop.conf_
导入org.apache.hadoop.fs_
对象HdfsWordCount{
def main(参数:数组[字符串]){
如果(参数长度<1){
System.err.println(“用法:HdfsWordCount”)
系统出口(1)
}
val sparkConf=new sparkConf().setAppName(“HdfsWordCount”)
//创建上下文
val ssc=新的StreamingContext(sparkConf,秒(2))
//在目录上创建FileInputDStream并使用
//流以计算创建的新文件中的字数
val lines=ssc.textFileStream(args(0))
val words=lines.flatMap(u.split(“”)
val wordCounts=words.map(x=>(x,1)).reduceByKey(u+382;)
wordCounts.print()
ssc.start()
ssc.终止协议()
}
}
我尝试使用sparkshell
运行HdfsWordCount.main(数组('hdfs:///user/cloudera/sparkStreaming/'))
它只需给出一个|
,让我自己打字。我做错什么了吗 在spark中运行您的课程的有趣方式。您尝试过spark submit吗?您在输入目录中使用单引号,这不是在scala中定义字符串文字的方式。尝试更改为双引号。在spark中运行类的有趣方式。您尝试过spark submit吗?您在输入目录中使用单引号,这不是在scala中定义字符串文字的方式。尝试更改为双引号。