处理Spark

时间:2017-07-15 12:48:26

标签: apache-spark nosql

所以我处理了很多日志数据,最后我得到了各种类型日志的不同长度的行。

例如我会得到:

  

(“警告”,“06”,“05”,“2017”,“09”,“15”,“证书问题”,“错误的SSL”)

     

(“ERROR”,“06”,“05”,“2017”,“09”,“15”,“403”,“不够   带宽”, “巴黎”, “48.15”, “55.16”)

     

(“INFO”,“06”,“05”,“2017”,“09”,“15”,“用户连接”)

但对于一种类型的日志,它们将始终具有相同的结构和长度。那我该怎么办?

我应该为每种类型的日志创建Spark DF吗? (对我来说不好,因为我需要跨越日志进行分析)

我应该采用NoSQL方法吗?所有相互字段作为日期,小时等。加上对应于每种类型的日志信息的末尾的数组信息。如果这个,我怎么能在Spark中做到这一点? Spark DF API不允许这样,对吧?警告和错误日志将成为Spark DF行:

  

(“警告”,“06”,“05”,“2017”,“09”,“15”,[“证书问题”,“错误的SSL”])   (“ERROR”,“06”,“05”,“2017”,“09”,“15”,[“403”,“不够”   带宽”, “巴黎”, “48.15”, “55.16”])

最后我应该在Spark DF中创建很多变量吗?像所有相互列一样加上 warn_desc1,warn_desc2,error_desc1,error_desc2,error_desc3,error_desc4,error_desc5,info_desc1 ?这意味着很多空值,我的意思是对于错误的行,对应于警告 Infos 的所有字段都将为空!这是一个好方法吗?一个例子:

  

( “ERROR”, “06”, “05”, “2017”, “09”, “15”,的下,的下, “403”, “不够   带宽”, “巴黎”, “48.15”, “55.16”,的

你会做什么?我想看看这个问题类型的Spark理念是什么!所有方法都很好吗?或者是否有一些被禁止我的想法?

非常感谢你的帮助,祝你周末愉快!

整蛊:^)

0 个答案:

没有答案