Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.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
Java 卡夫卡外键与最后一条记录连接_Java_Apache Spark_Stream_Apache Kafka_Apache Kafka Streams - Fatal编程技术网

Java 卡夫卡外键与最后一条记录连接

Java 卡夫卡外键与最后一条记录连接,java,apache-spark,stream,apache-kafka,apache-kafka-streams,Java,Apache Spark,Stream,Apache Kafka,Apache Kafka Streams,我有两个流,在键和值上都有相同的类型 - first represent a finantial instrument with key (string) Currency (Eur-USD) - second represent a finantial instrument with key (tenor) Eur-3month , Eur-6month , USD-3month - first stream: <key, value> = <Eur , {

我有两个流,在键和值上都有相同的类型

  - first represent a finantial instrument with key (string) Currency (Eur-USD)
  - second represent a finantial instrument with key (tenor) Eur-3month , Eur-6month , USD-3month


  - first stream: <key, value> = <Eur , { data , .... } >
  - second stream: <key, value> = <Eur-3month , { data .... }>
在这份声明中,我发现我能使用的最相似的东西是

   KStream<K, RV> join(final GlobalKTable<GK, GV> globalKTable,
                                 final KeyValueMapper<? super K, ? super V, ? extends GK> keyValueMapper,
                                 final ValueJoiner<? super V, ? super GV, ? extends RV> joiner)
KStream连接(最终的GlobalKTable GlobalKTable,

final KeyValueMapper通常选择较小的流(具有较少不同键的流)并将其具体化为一个KTable,方法是将其作为表(KStreamBuilder.table())从kafka中读取,或者使用.groupByKey()后跟reduce()或aggregate()

然后,您将另一个流与该KTable连接

或者,您可以将两个流具体化为KTables并加入它们。我没有确切地了解您的用例的细节,因此无法建议哪一个更好


请参阅:

问题与此类似,但是ktable ktable,是的,您没有遇到问题如果您按货币代码对两个主题进行分区,则不需要使用GlobalKTables。您可以使用普通的KTables获得更多的连接选项。问题不在GlobalKTables上,问题是在一个表中有一个外键,我们有一个K在另一个K-K'中,我想加入K=K
   KStream<K, RV> join(final GlobalKTable<GK, GV> globalKTable,
                                 final KeyValueMapper<? super K, ? super V, ? extends GK> keyValueMapper,
                                 final ValueJoiner<? super V, ? super GV, ? extends RV> joiner)