更新时间:2024-11-29 GMT+08:00

创建流表

操作场景

通过数据表,定义源表、维表、输出表的基本属性和字段信息。

新建流表

  1. 访问Flink WebUI,请参考访问Flink WebUI
  2. 单击“流表管理”进入流表管理页面。
  3. 单击“新建流表”,在新建流表页面参考表1填写信息,单击“确定”,完成流表创建。创建完成后,可在对应流表的“操作”列对流表进行编辑、删除等操作。

    表1 新建流表信息

    参数名称

    参数描述

    备注

    流/表名称

    流/表的名称。

    例如:flink_sink

    描述

    流/表的描述信息。

    -

    映射表类型

    Flink SQL本身不带有数据存储功能,所有涉及表创建的操作,实际上均是对于外部数据表、存储的引用映射。

    类型包含Kafka、HDFS、Redis。

    -

    类型

    包含数据源表Source,数据结果表Sink,数据维表Table。不同映射表类型包含的表如下所示。

    • Kafka:Source、Sink
    • HDFS:Source、Sink
    • Redis:Sink、Table

    -

    数据连接

    选择数据连接。

    -

    Topic

    读取的Kafka的topic,支持从多个Kakfa topic中读取,topic之间使用英文分隔符进行分隔。

    “映射表类型”选择“Kafka”时存在此参数。

    -

    文件路径

    要传输的HDFS目录或单个文件路径。

    “映射表类型”选择“HDFS”时存在此参数。

    例如:

    “/user/sqoop/ ”或“/user/sqoop/example.csv”

    编码

    选择不同“映射表类型”对应的编码如下:

    • Kafka:CSV、JSON
    • HDFS:CSV
    • Redis:
      • “类型”为“Sink”时:String、List、Set、Zset、Hash
      • “类型”为“Table”时:String、Zset

    -

    前缀

    “映射表类型”选择“Kafka”,且“类型”选择“Source”,“编码”选择“JSON”时含义为:多层嵌套json的层级前缀,使用英文逗号(,)进行分隔。

    例如:data,info表示取嵌套json中data,info下的内容,作为json格式数据输入

    “映射表类型”选择“Redis”时含义为:操作数据时会自动在key上补充前缀或手动输入。

    例如:key的值是key1,前缀是test,则最终写入redis的key是test:key1

    分隔符

    选择不同“映射表类型”对应的含义为:

    • Kafka:用于指定CSV字段分隔符。当数据“编码”为“CSV”时存在此参数。
    • Redis:字段分隔符。

    例如:“,”

    行分隔符

    文件中的换行符,包含“\r”、“\n”、“\r\n”。

    “映射表类型”选择“HDFS”时存在此参数。

    -

    列分隔符

    文件中的字段分隔符。

    “映射表类型”选择“HDFS”时存在此参数。

    例如:“,”

    数据有效期

    数据的有效期。分为“永久有效”、“有效时长”和“截止日期”三类。

    “映射表类型”选择“Redis”,“类型”选择“Sink”时存在此参数。

    -

    流/表结构

    填写流/表结构,包含名称,类型。

    -

    Proctime

    指系统时间,与数据本身的时间戳无关,即在Flink算子内计算完成的时间。

    “类型”选择“Source”时存在此参数。

    -

    Event Time

    指事件产生的时间,即数据产生时自带时间戳。

    “类型”选择“Source”时存在此参数。

    -