Spark Streamming 基本输入流I(-):从文件中进行读取
文件读取1:本地文件读取
这里我只给出实现代码及操作步骤
1、在本地目录下创建目录,这里我们创建目录为~/log/
2、然后手动在~/目录下创建两个文件夹。t1.dat ,t2.dat
t1.dat 格式如下:
hello hadoop
hello spark
hello Java
hellp hbase
hello scala
t2.dat格式如下:
My name is Brent,
how are you
nice to meet you
3、编写spark streamming程序,并将其运行起来。
4、使用命令cp ~/t*.dat ./log/ 将t1.dat ,t2.dat移动到~/log目录下,
5、查看spark Streamming程序的运行情况。
文件读取2:HDFS文件读取
HDFS文件读取和本地是相差无几的,
不同之处如下
程序中修改文件引入路径//val lines = ssc.textFileStream("hdsf://master:9000/data/log/")
本地文件t1.dat 和 t2.dat 需要上传到hdfs://master:9000/data/log下
hdfs dfs -mkdir data/log 创建目录。
hdfs dfs -put t*.dat data/log/
注意点:
文件作为输入流容易出错的一点就是,目录下面的文件一定要是cp进来,而不是mv进来了,因为cp进行的文件时间戳是改变的,而mv进来的时间戳没有改变,spark Streamming就不会进行处理。
原文:https://www.cnblogs.com/BrentBoys/p/10797222.html