Spark Streamming 基本輸入流I(-)
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就不會進行處理。
Spark Streamming 基本輸入流I(-)