Flink的csv格式支持读和写csv格式的数据,只需要指定 'format' = 'csv',下面以kafka为例。
CREATE TABLE user_behavior (
user_id BIGINT,
item_id BIGINT,
category_id BIGINT,
behavior STRING,
ts TIMESTAMP(3)
) WITH (
'connector' = 'kafka',
'topic' = 'user_behavior',
'properties.bootstrap.servers' = 'localhost:9092',
'properties.group.id' = 'testGroup',
'format' = 'csv',
'csv.ignore-parse-errors' = 'true',
'csv.allow-comments' = 'true'
)
关键配置的说明:
csv.ignore-parse-errors:就是在解析csv失败时是否报错
csv.allow-comments:是否允许有注释行(即#开头的行)
csv.field-delimiter:csv的字段分隔符,默认是逗号,
csv.quote-character:csv包裹字段值的符号,默认是" 。要注意该值的作用,比如如果字段包含换行符、双引号和/或逗号的字段应当被""包裹。字段值本身包含引号的话,一个(双)引号字符必须被表示为两个(双)引号字符。即 """" 表示了字段值 "
csv.disable-quote-character:是否禁用引号来包裹字段值,默认值是false,假如设置为true,则csv.quote-character将不能设置。
csv.escape-character:转义字符来转义,默认值空,即不可用
csv类型和flink sql类型的对应关系