Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql spark vs flink vs m/r用于批量处理_Mysql_Hadoop_Apache Spark_Batch Processing_Apache Flink - Fatal编程技术网

Mysql spark vs flink vs m/r用于批量处理

Mysql spark vs flink vs m/r用于批量处理,mysql,hadoop,apache-spark,batch-processing,apache-flink,Mysql,Hadoop,Apache Spark,Batch Processing,Apache Flink,我想知道你是否能帮我决定哪一个最适合我的情况 用例: 我想每天批处理存储在ApacheKafka中的约2亿个事件和不同sql表中的约2000万行。行中的数据表示用户的状态,卡夫卡中的事件会更改这些状态。kafka中的事件被很好地分区(一个用户的所有事件都存储在一个kafka段中),但用户仍然多于kafka段 (编辑) 无法实时处理状态更新,因为事件在不同的时间来自不同的来源。所有事件都有具有适当时区的时间戳,但事件可能会被延迟观察,这将产生移位的时间戳。如何处理这些问题有一些商业规则 我知道,如

我想知道你是否能帮我决定哪一个最适合我的情况

用例: 我想每天批处理存储在ApacheKafka中的约2亿个事件和不同sql表中的约2000万行。行中的数据表示用户的状态,卡夫卡中的事件会更改这些状态。kafka中的事件被很好地分区(一个用户的所有事件都存储在一个kafka段中),但用户仍然多于kafka段

(编辑) 无法实时处理状态更新,因为事件在不同的时间来自不同的来源。所有事件都有具有适当时区的时间戳,但事件可能会被延迟观察,这将产生移位的时间戳。如何处理这些问题有一些商业规则

我知道,如果所有事件和开始状态都可用,则可以计算任何给定时间的用户状态

输出:

  • 一致的最终用户状态存储在mysql中
  • 根据当前状态,计算期间可能会写入其他源(卡夫卡、文本文件等)
他们都能够读取和分组数据,以便我能够处理它们,但据我所知:

  • spark和flink可以与hadoop一起工作(到目前为止,我还没有任何稳定的集群)
  • Spark无法处理比可用RAM更多的数据(?)
  • 对于Flink,我不确定是否可以将数据流(kafka)和表(sql)中的数据组合起来
  • 有了m/r,我需要设置hadoop集群

此外,未来每小时可能会有100万个事件,并且会有功能强大的hadoop集群

“如果所有事件和开始状态都可用,我知道在任何给定时间计算用户状态。”。。您如何知道给定用户的所有事件都存在?我问这个问题是因为我想知道您是否可以使用Flink及其对事件时间的支持来实现它。这样,您就可以在不同的时间处理来自不同来源的事件。我意识到我的错误,应该是“如果所有事件和开始状态都可用,我知道计算任何给定时间的用户状态”2。事件必须在给定的时间窗口内到达(比方说2小时),否则将被拒绝3。事件有时区的时间戳,但来源不可靠,人们可以检测到状态变化太晚,例如,系统A检测到有人在10:00进入房间,但系统B检测到门在10:01打开(这实际上是不可能的,因为不开门就不能进入房间)-我知道如何处理这些异常“如果所有事件和开始状态都可用,我知道在任何给定时间计算用户状态。" .. 您如何知道给定用户的所有事件都存在?我问这个问题是因为我想知道您是否可以使用Flink及其对事件时间的支持来实现它。这样,您就可以在不同的时间处理来自不同来源的事件。我意识到我的错误,应该是“如果所有事件和开始状态都可用,我知道计算任何给定时间的用户状态”2。事件必须在给定的时间窗口内到达(比方说2小时),否则将被拒绝3。事件有时区的时间戳,但来源不可靠,人们可以检测到状态变化太晚,例如,系统A检测到有人在10:00进入房间,但系统B检测到门在10:01打开(这实际上是不可能的,因为不开门就不能进入房间)-我知道如何处理这些异常