Python 使用ApacheFlink将处理后的流数据接收到数据库中

Python 使用ApacheFlink将处理后的流数据接收到数据库中,python,apache-flink,flink-streaming,pyflink,Python,Apache Flink,Flink Streaming,Pyflink,是否可以使用pyflink将处理后的流数据放入数据库?所有写入已处理数据的方法都被限制为以txt、csv或Json格式保存,并且无法使用数据库接收数据。您可以使用pyflink中的SQL DDL定义JDBC表接收,然后将其插入。看起来像这样 my_sink_ddl=”“” 创建表MyUserTable( id BIGINT, 名称字符串, 年龄智力, 状态布尔值, 主键(id)未强制执行 )与( “连接器”=“jdbc”, 'url'='jdbc:mysql://localhost:3306/m

是否可以使用pyflink将处理后的流数据放入数据库?所有写入已处理数据的方法都被限制为以txt、csv或Json格式保存,并且无法使用数据库接收数据。

您可以使用pyflink中的SQL DDL定义JDBC表接收,然后将其插入。看起来像这样

my_sink_ddl=”“”
创建表MyUserTable(
id BIGINT,
名称字符串,
年龄智力,
状态布尔值,
主键(id)未强制执行
)与(
“连接器”=“jdbc”,
'url'='jdbc:mysql://localhost:3306/mydatabase',
“表名”=“用户”
);
"""
环境sql更新(我的接收器ddl)

对于Java,您可以使用JDBC连接器:。我不确定是否使用python,您可以使用python()的数据流API并尝试实现您的接收器。您能否共享一个实现自定义接收器的解决方案?我从未使用python API与Flink合作过,但我会开始使用
write_to_socket()
这是一个接收器()。我不确定您使用的是哪个版本,也不确定您的版本是否更改了此方法。谢谢您的回复。但主要问题是数据库连接器应该放在哪里。此外,这个解决方案是否适用于没有sql数据库的MongoDB?我不理解“它们应该放在哪里”这一点。接收器始终是数据流DAG中的终端节点。但是没有,MongoDB没有Flink连接器。