spark 讀取elasticsearch中資料不完整問題
阿新 • • 發佈:2019-02-09
使用spark讀取elasticsearch中的資料,使用es提供的api來進行,
sc.esRDD("logstash").values
官方網站也是這種方式讀取資料的,但是我測試的時候有時候會出現讀取資料不完整的情況,比如本來讀取的資料是這樣的
但是我讀取的資料卻是這樣的Map(msg -> 2016-03-18 15:24:14 System_ID=ruijie sp_malware:Client_IP=172.40.1.100 Server_IP=61.4.184.50 URL=app.weather.com.cn/dataService/appManage file_name=web scanner2,virus_name=CIH3 Action=block_log Method=POST, srcip -> 172.40.1.100
看來這種讀資料的方式是有問題的,後來就改成讀取方式為下面這種方式,加上typeMap(@version -> 1, @timestamp -> Wed Jun 28 14:36:03 CST 2017) Map(@version -> 1, @timestamp -> Wed Jun 28 14:36:04 CST 2017) Map(@version -> 1, @timestamp -> Wed Jun 28 14:36:04 CST 2017) Map(@version -> 1, @timestamp -> Wed Jun 28 14:36:04 CST 2017) Map(@version -> 1, @timestamp -> Wed Jun 28 14:36:04 CST 2017) Map(@version -> 1, @timestamp -> Wed Jun 28 14:36:05 CST 2017) Map(@version -> 1, @timestamp -> Wed Jun 28 14:36:05 CST 2017) Map(@version -> 1, @timestamp -> Wed Jun 28 14:36:05 CST 2017) Map(@version -> 1, @timestamp -> Wed Jun 28 14:36:05 CST 2017) Map(@version -> 1, @timestamp -> Wed Jun 28 14:36:05 CST 2017)
sc.esRDD("logstash/count").values
然後問題解決,