Apache flink 弗林克:无法将流放入csv
我试图使用PyFlink将一个流以csv格式放入文件系统,但它不起作用 流_到_csv.py 从pyflink.table导入环境设置,StreamTableEnvironment env_settings=EnvironmentSettings.new_instance.in_streaming_mode.use_blink_planner.build table_env=StreamTableEnvironment.createenvironment_settings=env_settings 表_env.execute_sql 创建表datagen id INT, 数据串 具有 '连接器'='数据发生器', “每秒行数”=“1” 表_env.execute_sql 创建表格打印 id INT, 数据串 具有 “连接器”=“文件系统”, “格式”=“csv”, '路径'='/tmp/output' 表_env.execute_sql 插页 选择id、数据 来自datagen 等待 要运行脚本,请执行以下操作:Apache flink 弗林克:无法将流放入csv,apache-flink,pyflink,Apache Flink,Pyflink,我试图使用PyFlink将一个流以csv格式放入文件系统,但它不起作用 流_到_csv.py 从pyflink.table导入环境设置,StreamTableEnvironment env_settings=EnvironmentSettings.new_instance.in_streaming_mode.use_blink_planner.build table_env=StreamTableEnvironment.createenvironment_settings=env_setting
$ python stream_to_csv.py
我希望记录进入/tmp/output文件夹,但这不会发生
$ ~ ls /tmp/output
(nothing shown here)
有什么我错过的吗?我无耻地抄袭了典府的回复 您需要为文件系统设置滚动策略。有关更多详细信息,请参阅滚动策略部分[1] 实际上有输出,您可以执行命令ls-la/tmp/output/,然后您将看到几个名为“.part xxx”的文件 对于作业,需要在配置中设置execution.checkpointing.interval,在Filesystem connector属性中设置sink.rolling-policy.rollover-interval 该作业将如下所示: 从pyflink.table导入环境设置,StreamTableEnvironment env_settings=EnvironmentSettings.new_instance.in_streaming_mode.use_blink_planner.build table_env=StreamTableEnvironment.createenvironment_settings=env_settings 表_env.get_config.get_configuration.set_stringexecution.checkpoint.interval,10s 表_env.execute_sql 创建表datagen id INT, 数据串 具有 '连接器'='数据发生器', “每秒行数”=“1” 表_env.execute_sql 创建表格打印 id INT, 数据串 具有 “连接器”=“文件系统”, “格式”=“csv”, '路径'='/tmp/output', '下沉.滚动策略.滚动间隔'='10s' 表_env.execute_sql 插页 选择id、数据 来自datagen 等待 [1]