Scala 我是否使用了正确的框架?
我是scala/flink/spark的新手,有几个问题要问。 现在scala和flink正在使用 数据流的总体思路如下:Scala 我是否使用了正确的框架?,scala,apache-spark,
elasticsearch,apache-flink,Scala,Apache Spark,
elasticsearch,Apache Flink,我是scala/flink/spark的新手,有几个问题要问。 现在scala和flink正在使用 数据流的总体思路如下: csv文件->flink->弹性->flink(流程数据)->MongoDB->表格 有大量以分号分隔的日志文件。 我想将这些文件写入elasticsearch作为我的数据库。(这已经起作用了) 现在需要各种分析(如一致性报告/生产率报告)。 对于这些报告,需要不同类型的列 其想法是使用flink从elasticsearch导入基础数据,编辑数据并将其保存到mongodb中
csv文件->flink->弹性->flink(流程数据)->MongoDB->表格 有大量以分号分隔的日志文件。 我想将这些文件写入elasticsearch作为我的数据库。(这已经起作用了)
现在需要各种分析(如一致性报告/生产率报告)。 对于这些报告,需要不同类型的列 其想法是使用flink从elasticsearch导入基础数据,编辑数据并将其保存到mongodb中,以便使用tableau实现数据可视化 编辑将包括添加其他列,如工作日和不同状态的开始/结束时间
// +-------+-----+-----+
// | status|date |time |
// +-------+-----+-----+
// | start | 1.1 |7:00 |
// | run_a | 1.1 |7:20 |
// | run_b | 1.1 |7:50 |
// +-------+-----+-----+
// +-------+-------+-------+----+
// | status|s_time |e_time |day |
// +-------+-------+-------+----|
// | start | 7:00 |7:20 | MON|
// | run_a | 7:20 |7:50 | MON|
// | run_b | 7:50 |nextVal| MON|
// +-------+-------+-------+----+
经过一点研究,我发现flink没有提供使用elastic作为数据源的可能性。
有一个github项目,但已经有一年多没有更新了。这似乎不能正常工作,因为它给我的点击率比我在kibana用同样的查询得到的要少。
还有其他选择吗?为什么默认情况下不支持这一点
这些表格转换可以通过flink实现吗?和弗林克一起做有意义吗?(因为我很难实现这些目标)
我是否为这个项目使用了正确的框架?既然spark提供了更多的功能/社区项目,我是否应该改用它?首先,如果你的目标仅仅是使用日志(强大的搜索、可视化、存储)进行处理,你就不能重新发明轮子并使用它 你将获得下一个技能-
- 带有
Logstash的数据收集和日志解析引擎
- 使用Kibana进行分析和可视化
类似搜索引擎Elasticsearch
- 与云无缝集成(AWS或)
Spark
像ETL
这样的解决方案来处理您想要的一切-构建数据管道非常简单(从elasticsearch读取
-->处理它
-->保存到mongo
;从mongo获取
-->发送到可视化
等)-您可以(与早期版本的Spark相比)利用Spark 2.0
此外,集成
Spark-Mongo-ES
已经准备就绪,或者您可以通过使用和的连接器来创建自己的。关于Flink
,您可以使用它来代替Spark
,但Spark
是更成熟的技术,并且拥有更广泛的社区。与替代方案一样,您可以使用ETL解决方案来快速开发系统之间的设备/原型数据流(用鼠标拖动必要的组件)喜欢或。Spark应该是一个不错的选择。Spark更稳定,库也更丰富。谢谢flink。谢谢你详尽的回答。我非常感谢。我将研究Spark并尝试执行我的任务。据我的理解,我不需要将elasticsearch hadoop作为一个依赖项添加。不应该导入Elastic如果我没有安装hadoop,ticsearch-spark-20就足够了吗@rukavitsya@user2811630当然,您可以在没有Hadoop的情况下使用Spark(例如,Spark在S3上运行良好,而Mesos在没有Hadoop的情况下运行良好),这取决于您使用什么连接器,是的,使用elasticsearch Spark就足够了