最近再捣鼓 ETL 用于处理分析数据,使用语言是 Python。关于 Pipeline 搭建工具的选择,发现有非常多,先是手动实现了最原始的,加上更新和各种额外开销,速度比较糟糕,1000 万数据需要 1 天多。处理完进入 Elasticsearch 完成。但最近开始说要实时处理数据了,这意味着原有的批处理方法不大合适了。因此打算改一下逻辑用最古老的 Celery,写了一段跑起来,感觉效果还行,不过直觉有极大的提升空间。因此又弄了个 spark 的 standalone 集群,配置有点麻烦,还没测试,不过感觉假如数据量小预测优化空间不大,主要是每个小任务其实总耗时并不长。然后现在又看到 airflow,也想玩一下看什么效果。
不过玩之前还是来请教一下有经验人士比较好,有没有一个框架既没有 spark 那么重,又处理的实时流数据或小批量数据的?最好是配置简单,而且必须是 Python 有相关接口的,主要是考虑到团队协作因此不会考虑 Scala 等其他语言。来不及可以砍需求,但砍需求之前不知道各位有什么好建议。
PS: 找不到 ETL 节点,不知道放在貌似很多类似群体的 Elasticsearch 节点是否合适?
