Flink streaming Flink SQL CSV连续流式传输

Flink streaming Flink SQL CSV连续流式传输,flink-streaming,flink-sql,Flink Streaming,Flink Sql,我正在创建两个flink sql表,一个用于CSV文件系统,另一个用于kafka。目标是持续监视文件系统文件夹,并将新的csv文件记录推送到kafka主题。但我在下面写的查询会将csv文件记录推送一次,flink作业将进入“完成”模式,文件夹中出现的任何新文件都不会被处理。有人能告诉我如何创建flink sql连续流媒体,源文件和csv文件系统,目标文件为Kafka flinksql创建一个源表 使用flinksql创建目标表 CREATE TABLE son_hsb_target_kafka

我正在创建两个flink sql表,一个用于CSV文件系统,另一个用于kafka。目标是持续监视文件系统文件夹,并将新的csv文件记录推送到kafka主题。但我在下面写的查询会将csv文件记录推送一次,flink作业将进入“完成”模式,文件夹中出现的任何新文件都不会被处理。有人能告诉我如何创建flink sql连续流媒体,源文件和csv文件系统,目标文件为Kafka

flinksql创建一个源表 使用flinksql创建目标表


CREATE TABLE son_hsb_target_kafka_9092_filesystem_bulk_tests(
    file_name STRING,
    start_time STRING,
    oss_cell_id BIGINT,
    enodeb STRING,
    dl_payload FLOAT,
    rrc_conn_den BIGINT,
    rrc_conn_num BIGINT,
    pm_array_1 STRING
) WITH (
    'connector' = 'kafka',  --Don't Change this
    'topic' = 'son_hsb_target_kafka_9092_fs_bulk_data_tests',  -- Add any topic name you want
    'scan.startup.mode' = 'earliest-offset',  --Don't Change this
    'properties.bootstrap.servers' = 'localhost:9092', --Don't Change this
    'format' = 'json',  --Don't Change this
    'json.fail-on-missing-field' = 'false', --Don't Change this
    'json.ignore-parse-errors' = 'true' --Don't Change this
);

Flink SQL创建流式作业#该作业运行一次并进入完成模式
如何定义始终处于“运行”状态并查找新文件的流作业。请提出建议。

文档表明,流式文件系统源尚未实现此功能:

流媒体的文件系统源仍在开发中。将来,社区将添加对常见流式使用案例的支持,即分区和目录监视


有没有办法通过后端实现这一点?

CREATE TABLE son_hsb_target_kafka_9092_filesystem_bulk_tests(
    file_name STRING,
    start_time STRING,
    oss_cell_id BIGINT,
    enodeb STRING,
    dl_payload FLOAT,
    rrc_conn_den BIGINT,
    rrc_conn_num BIGINT,
    pm_array_1 STRING
) WITH (
    'connector' = 'kafka',  --Don't Change this
    'topic' = 'son_hsb_target_kafka_9092_fs_bulk_data_tests',  -- Add any topic name you want
    'scan.startup.mode' = 'earliest-offset',  --Don't Change this
    'properties.bootstrap.servers' = 'localhost:9092', --Don't Change this
    'format' = 'json',  --Don't Change this
    'json.fail-on-missing-field' = 'false', --Don't Change this
    'json.ignore-parse-errors' = 'true' --Don't Change this
);

INSERT INTO son_hsb_target_kafka_9092_filesystem_bulk_tests
SELECT file_name,start_time,oss_cell_id,enodeb,dl_payload,rrc_conn_den,rrc_conn_num,pm_array_1 FROM son_hsb_source_filesystem_csv_bulk