我有必须在记录级别加入的数据。例如,有关用户的数据来自不同的源系统,但是没有通用的主键或用户标识符
示例数据
Source System 1:
{userid = 123, first_name="John", last_name="Smith", many other columns...}
Source System 2:
{userid = EFCBA-09DA0, fname="J.", lname="Smith", many other columns...}
Apache Beam /数据流实现
Flink Gelly
或Spark GraphX
您是否可以在数据流中知道有效解决此类问题的任何方式?
其他想法
neo4j
或datomic
之类的东西会很好,因为联接处于记录级别而不是行/列扫描,但是我不知道是否有可能在Beam中做一些事情相似或者也许有一种更标准的方法来解决这类问题。
答案 0 :(得分:2)
从我到目前为止所读的内容中很难说哪种解决方案最适合您。我将尝试进一步分解问题,并尝试分别解决不同方面。
据我了解,目标是将代表不同来源的同一事物的匹配记录组合在一起:
因此,逻辑可能大致如下:
在我看来,这是一个很高的层次,在这个细节层次上可能没有单一的“正确”解决方案。
我可能会尝试通过首先更详细地了解它(也许您已经这样做)来尝试解决此问题,而对此却有些想法: