云服务器内容精选

  • 功能描述 Raw format 允许读写原始(基于字节)值作为单个列。 Raw Format将 null 值编码成 byte[] 类型的 null。这样在 upsert-kafka 中使用时可能会有限制,因为 upsert-kafka 将 null 值视为 墓碑消息(在键上删除)。因此,如果该字段可能具有 null 值,我们建议避免使用 upsert-kafka 连接器和 raw format 作为 value.format。 Raw format 连接器是内置的。更多具体使用可参考开源社区文档:Raw Format。
  • 数据类型映射 下表详细说明了这种格式支持的 SQL 类型,包括用于编码和解码的序列化类和反序列化类的详细信息。 表2 数据类型映射 Flink SQL 类型 值 CHAR / VARCHAR / STRING UTF-8(默认)编码的文本字符串。编码字符集可以通过 'raw.charset' 进行配置。 BINARY / VARBINARY / BYTES 字节序列本身。 BOOLEAN 表示布尔值的单个字节,0表示 false, 1 表示 true。 TINYINT 有符号数字值的单个字节。 SMALLINT 采用big-endian(默认)编码的两个字节。字节序可以通过 'raw.endianness' 配置。 INT 采用 big-endian (默认)编码的四个字节。字节序可以通过 'raw.endianness' 配置。 BIGINT 采用 big-endian (默认)编码的八个字节。字节序可以通过 'raw.endianness' 配置。 FLOAT 采用 IEEE 754 格式和 big-endian (默认)编码的四个字节。字节序可以通过 'raw.endianness' 配置。 DOUBLE 采用 IEEE 754 格式和 big-endian (默认)编码的八个字节。字节序可以通过 'raw.endianness' 配置。 RAW 通过 RAW 类型的底层 TypeSerializer 序列化的字节序列。
  • 参数说明 表1 参数 是否必选 默认值 类型 描述 format 是 (none) String 指定要使用的格式, 这里应该是 'raw'。 raw.charset 否 UTF-8 String 指定字符集来编码文本字符串。 raw.endianness 否 big-endian String 指定字节序来编码数字值的字节。有效值为'big-endian'和'little-endian'。 更多细节可查阅 字节序。
  • 参数说明 表1 参数 是否必选 默认值 类型 说明 format 是 (none) String 声明使用的格式,这里应为'json'。 json.fail-on-missing-field 否 false Boolean 当解析字段缺失时,是跳过当前字段或行,还是抛出错误失败(默认为 false,不抛出错误失败)。 json.ignore-parse-errors 否 false Boolean 当解析异常时,是跳过当前字段或行,还是抛出错误失败(默认为 false,即抛出错误失败)。如果忽略字段的解析异常,则会将该字段值设置为null。 json.timestamp-format.standard 否 'SQL' String 声明输入和输出的TIMESTAMP和TIMESTAMP WITH LOCAL TIME ZONE 的格式。 当前支持的格式为'SQL'和'ISO-8601': 可选参数 'SQL' 将会以 "yyyy-MM-dd HH:mm:ss.s{precision}" 的格式解析 TIMESTAMP, 例如 "2020-12-30 12:13:14.123", 以 "yyyy-MM-dd HH:mm:ss.s{precision}'Z'" 的格式解析 TIMESTAMP WITH LOCAL TIME ZONE, 例如 "2020-12-30 12:13:14.123Z" 且会以相同的格式输出。 可选参数 'ISO-8601' 将会以 "yyyy-MM-ddTHH:mm:ss.s{precision}" 的格式解析输入 TIMESTAMP, 例如 "2020-12-30T12:13:14.123" , 以 "yyyy-MM-ddTHH:mm:ss.s{precision}'Z'" 的格式解析 TIMESTAMP WITH LOCAL TIME ZONE, 例如 "2020-12-30T12:13:14.123Z" 且会以相同的格式输出。 json.map-null-key.mode 否 'FALL' String 指定处理 Map 中 key 值为空的方法。当前支持的值有:'FAIL','DROP'和'LITERAL'。 Option 'FAIL' 将抛出异常,如果遇到 Map 中 key 值为空的数据。 Option 'DROP' 将丢弃 Map 中 key 值为空的数据项。 Option 'LITERAL' 将使用字符串常量来替换 Map 中的空 key 值。字符串常量的值由 'json.map-null-key.literal' 定义。 json.map-null-key.literal 否 'null' String 当 'json.map-null-key.mode' 是LITERAL的时候,指定字符串常量替换 Map 中的空 key 值。