PyFlink-JSON文件接收器?

时间:2020-11-04 13:12:16

标签: apache-flink pyflink

是否可以以与CSV相同的方式在Table API和/或DataStream API中使用JSON文件接收器?

谢谢!

代码

my_sink_ddl = f"""
    create table mySink (
        id STRING,
        dummy_item STRING
    ) with (
        'connector.type' = 'filesystem',
        'format.type' = 'json',
        'connector.path' = 'output.json'
    )
"""

错误

TableException: findAndCreateTableSink failed.

1 个答案:

答案 0 :(得分:3)

是的,根据Jira FLINK-17286 Integrate json to file system connector和相应的拉取请求[FLINK-17286][connectors / filesystem]Integrate json to file system connector #12010,可以从Flink 1.11开始。在Flink 1.11之前,我认为它不受支持。

您需要使用以下配置:

... with (
        'connector' = 'filesystem',
        'format' = 'json',
        'path' = 'output_json' -- This must be a directory
    )

加上以下环境定义:

t_env = BatchTableEnvironment.create(   environment_settings=EnvironmentSettings.new_instance().in_batch_mode().use_blink_planner().build())