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中定义字符串文字的方式。尝试更改为双引号。