我一直在Apache Flink SQL中对流数据进行左连接,即将两个数据流API转换为Flink SQL,但它给出了null,例如:
表1
| ID|部|
| --|--|
| ID 1|部门1|
| ID 2|部门2|
| ID 3|部门3|
| ID 4|部门4|
表2
| ID|员工|
| --|--|
| ID 1|职员1|
| ID 2|员工2|
| ID 1|员工3|
| ID 3|员工4|
我正在对ID进行左连接:left table:table 1 right table:table 2
它的输出为
| ID|部|员工|
| --|--|--|
| ID 1|部门1|职员1|
| ID 2|部门2|员工2|
| ID 1|部门1|员工3|
| ID 3|部门3|员工4|
| ID 1|部门1| null|
n个值的数据
这个flink sql连接的行为不被理解,因为它在将值与右表匹配后为id 1提供null
Table joinResult = streamTableEnv.sqlQuery("SELECT join_source_1.id, join_source_1.dept, join_source_2.employeeName FROM join_source_1 LEFT JOIN join_source_2 ON join_source_1.id = join_source_2.id”);
字符串
期望在记录匹配后在右表中获得非空值
此外,数据是从Kafka流源消耗的
提前谢谢你的帮助
1条答案
按热度按时间r1zhe5dt1#
我只看到过Kafka在一个太短的保留策略启动并删除了以前可用的数据的情况下产生这样的意外结果。