У меня есть два потока Kinesis, и я хотел бы создать третий поток, который является пересечением этих двух потоков. Моя цель - заставить потоковый процессор реагировать на событие в результирующем третьем потоке без необходимости писать потребителя, который выполняет это пересечение.
Запись на поток будет:
{
"customer_id": 3,
"first_name":"Marcy",
"last_name":"Shurtleff"
}
и запись на поток b будет:
{
"payment_id": 10001,
"customer_id": 1,
"amount":234.56,
"date":"2018-09-07T10:25:43.511Z"
}
Я хотел бы выполнить соединение (как я могу в KSQL с Kafka), которое присоединит поток a.customer_id к потоку b.customer_id, что приведет к:
{
"customer_id": 3,
"first_name":"Marcy",
"last_name":"Shurtleff",
"payment_id": 10001,
"amount":234.56,
"date":"2018-09-07T10:25:43.511Z"
}
(или любую другую проекцию в стиле sql, которую я выберу).
Я знаю, что это возможно с Kafka и KSQL, но возможно ли это с Kinesis?
Kinesis Data Analytics не поможет, поскольку вы не можете использовать более одного потока в качестве источника данных в этом продукте, и вы можете выполнять соединения только с потоками «внутри приложения».





Это также возможно с Spark и Drools, но, к сожалению, не с Kinesys Analytics.