更新时间:2024-09-27 GMT+08:00

创建Redis表

创建Redis表用于与输入流连接。

DCS的详细信息请参见《分布式缓存服务用户指南》

流表JOIN语法请参见流表JOIN

语法格式

1
2
3
4
5
6
CREATE TABLE table_id (key_attr_name STRING(, hash_key_attr_name STRING)?, value_attr_name STRING)
  WITH (
    type = "dcs_redis",
    cluster_address = ""(,password = "")?,
    value_type= "",
    key_column= ""(,hash_key_column="")?);

关键字

表1 关键字说明

参数

是否必选

说明

type

输出通道类型,dcs_redis表示输出到分布式缓存服务的Redis存储系统中。

cluster_address

Redis实例连接地址。

password

Redis实例连接密码,当设置为免密访问时,省略该配置项。

value_type

指定数据类型。支持的数据类型包括:string, list, hash, set, zset。

key_column

指定代表Redis key属性的列名。

hash_key_column

当value_type设置为hash时,需要指定本字段作为第二级key属性的列名。

cache_max_num

表示最大缓存的查询结果数,默认值为32768。

cache_time

表示数据库查询结果在内存中缓存的最大时间。单位为毫秒,默认值为10000,当值为0时表示不缓存。

注意事项

  • 不支持Redis集群。
  • 请务必确保您的账户下已在分布式缓存服务(DCS)里创建了Redis类型的缓存实例。

    如何创建Redis类型的缓存实例请参考《分布式缓存服务用户指南》

  • 该场景作业需要运行在DLI的独享队列上,因此要与DCS实例建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。

    如何建立增强型跨源连接,请参见《数据湖探索用户指南》增强型跨源连接章节。

    如何设置安全组规则,请参见《虚拟私有云用户指南》“安全组”章节。

示例

Redis表用于与输入流连接。
CREATE TABLE table_a (attr1 string, attr2 string, attr3 string)
  WITH (
    type = "dcs_redis",
    value_type = "hash",
    key_column = "attr1",
    hash_key_column = "attr2",
    cluster_address = "192.168.1.238:6379",
    password = "xxxxxxxx"
 );