分享

Spark Streaming中读取本地文件,无法获取数据

txknick 发表于 2016-10-22 11:50:33 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 18 44063
/**
  * Created by Administrator on 2016/9/24 0024.
  */
package com.keduo

import java.util.Properties

import org.apache.log4j.{Level, Logger}
import org.apache.spark.streaming.{Seconds, StreamingContext}
import org.apache.spark.{SparkConf, SparkContext}
object SparkStreamingLocalfile {
  def main(args: Array[String]): Unit = {
    Logger.getLogger("org.apache.spark").setLevel(Level.WARN);
    Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF);

    val sparkConf = new SparkConf().setAppName("SparkStreamingLocalfile").setMaster("local[2]");
    val ssc = new StreamingContext(sparkConf,Seconds(60))

    val fileStream=  ssc.fileStream("d:/WordCount.txt")
    fileStream.print()

    val textFileStream=ssc.textFileStream("d:/WordCount.txt")
    val words = textFileStream.flatMap(_.split(" "))
    val wordCounts = words.map(x => (x, 1))
    wordCounts.print()
    textFileStream.print()
    ssc.start()
    ssc.awaitTermination()
  }
}

网上怎么也查不到资料,半天时间就这么没有了

已有(18)人评论

跳转到指定楼层
txknick 发表于 2016-10-22 11:54:09
程序能找的到文件,但是打印不出来数据
回复

使用道具 举报

langke93 发表于 2016-10-22 14:18:10
txknick 发表于 2016-10-22 11:54
程序能找的到文件,但是打印不出来数据

这里提出几个问题:
没有看到楼主的数据,但是如果空格作为分隔符的话,还是比较慎重些。不知是在测试还是真实的数据
val words = textFileStream.flatMap(_.split(" "))

第二:路径,可以尝试下面方式
val rawTestData = sc.textFile("d:\\WordCount.txt")  

第三运行模式是否设置,是本地还是什么

val conf = new SparkConf().setAppName("。。").setMaster("local")

如果上面还是不能解决,楼主把异常贴出来看下。

如果修改配置的话,记得生效
回复

使用道具 举报

txknick 发表于 2016-10-22 15:33:52
谢谢langke93的帮助

一.我这是支学习用的测试程序
我的数据,就是一下两行字
Apache Spark is a fast and general engine for large-scale data processing
Run programs up to 100x faster than Hadoop MapReduce in memory or 10x faster on disk


程序没报异常,只是读不到数据

第二.使用下边方式,还是读不到数据
val rawTestData = sc.textFile("d:\\WordCount.txt")  

第三运行模式设置如下,因为有资料说,需要起两个线程,一个监听,一个处理,所需要设置成local[2]
val sparkConf = new SparkConf().setAppName("SparkStreamingLocalfile").setMaster("local[2]");
回复

使用道具 举报

txknick 发表于 2016-10-22 15:36:07
langke93 发表于 2016-10-22 14:18
这里提出几个问题:
没有看到楼主的数据,但是如果空格作为分隔符的话,还是比较慎重些。不知是在测试还 ...

希望兄弟,再帮我看看,是什么原因

看了你的提示,我用逗号分隔,或者把local[2]改成local的方法都实验过了

都没有读出数据。。。。。。。。。。
回复

使用道具 举报

starrycheng 发表于 2016-10-22 15:49:46
txknick 发表于 2016-10-22 15:36
希望兄弟,再帮我看看,是什么原因

看了你的提示,我用逗号分隔,或者把local[2]改成local的方法都实 ...

你把文件的内容,直接赋值给字符串,然后试试是否有输出如果有输出说明是文件的问题
如果没有输出说明是后面的处理出问题了
回复

使用道具 举报

txknick 发表于 2016-10-22 19:36:34
文件没有问题,测试过了,使用sparkSql可以读的出来

怎么弄都不对,不知道是什么问题啊,兄弟,还有思路没?
回复

使用道具 举报

txknick 发表于 2016-10-23 15:50:02
langke93 发表于 2016-10-22 14:18
这里提出几个问题:
没有看到楼主的数据,但是如果空格作为分隔符的话,还是比较慎重些。不知是在测试还 ...

怎么也搞不定啊,能帮小弟想想办法不
回复

使用道具 举报

arsenduan 发表于 2016-10-24 11:54:57
txknick 发表于 2016-10-22 19:36
文件没有问题,测试过了,使用sparkSql可以读的出来

怎么弄都不对,不知道是什么问题啊,兄弟,还有思路 ...

楼主先运行程序,然后把文件复制到监控目录
回复

使用道具 举报

txknick 发表于 2016-10-24 21:30:58
arsenduan 发表于 2016-10-24 11:54
楼主先运行程序,然后把文件复制到监控目录

试了下,还是不行啊。。。。。。。。。

回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条