【发布时间】:2017-08-08 08:39:09
【问题描述】:
我是 scala / flink / spark 的新手,我有几个问题。 现在正在使用带有 flink 的 scala。
数据流的大致思路是这样的:
csv 文件 -> flink -> elastic-> flink(进程数据) -> MongoDB -> Tableau
有大量以分号分隔的日志文件。
我想将这些文件写入 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 无法使用弹性作为数据源。 有一个 github 项目https://github.com/mnubo/flink-elasticsearch-source-connector,但已经一年多没有更新了。这似乎无法正常工作,因为它给我的点击次数更少,然后我会使用相同的查询进入 kibana。 有没有其他选择?为什么默认情况下不支持此功能?
这些表格转换是否可以通过 flink 实现?用 flink 做这些有意义吗? (因为我很难实现它们)
我是否为这个项目使用了正确的框架?我应该切换到 spark,因为它提供了更多功能/社区项目吗?
【问题讨论】:
-
Spark 应该是一个不错的选择。 spark 更稳定,库更丰富,感谢 flink。
标签: scala apache-spark elasticsearch apache-flink