我是Spark的新手,我试图了解它是否适合我的用例。
我有以下情况。 我有一个文件(可以是日志文件,.txt,.csv,.xml或.json,我可以 以一些我喜欢的格式生成数据),例如: 事件“ X”,城市“ Y”,区域“ Z”
具有不同的事件,城市和区域。该数据可以表示为 .txt中的字符串(例如我写的字符串),或者是XML,CSV或JSON 希望。如果需要,我也可以通过TCP套接字发送此数据。
我真正想做的是将每个单个条目与其他条目相关联 通过声明规则进行类似的输入。 例如,我想对数据流声明一些规则:如果收到 在同一城市和同一区域中的事件X1和事件X2,我想做点什么 (执行.bat脚本,写入日志文件等)。如果我收到了 相同的字符串多次,或我想用这些规则产生的任何规则 数据字符串。 我试图了解Apache Spark是否适合我的用例。唯一的输入 数据将是此文件中的这些字符串。
我可以关联这些事件以及如何关联?是否有GUI可以做到?
任何提示和建议将不胜感激。
答案 0 :(得分:1)
是的,它可以:
spark.read.csv("your_file")
.groupBy($"Y", $"Z")
.agg(collect_list($"X").as("events"))
.as[(String, String, Seq[String])]
.filter(r => r._3.contains("X1") && r._3.contains("X2"))
.foreach(r => {
//do something with the relevant records
})
真的没有GUI可以说,除非您将笔记本型软件视为GUI,否则您将以任何一种方式编写代码。
Apache Spark非常强大,但是有一些学习上的困难。在本地模式下开始学习很容易,但是除非您的数据大小要求您扩展到多个节点,否则您将不会获得性能上的好处。