本文为您介绍如何使用Redis数据表。

建表语法

CREATE TABLE tbName[(columnName dataType [,columnName dataType]*)]
USING redis
OPTIONS(propertyKey=propertyValue[, propertyKey=propertyValue]*);

配置参数说明

参数名 说明 是否必选
table

写入redis的数据的key前缀。key格式为${table}:${key.column}${key.column}为配置项key.column。

redis.save.mode 表示遇到数据已经存在时的处理方式,可以是append/overwrite/errorifexists/ignore,分别代表append到当前数据中/覆盖/抛出异常/丢弃数据,默认值为append。
model

数据存储格式,值为hash/binaray,默认值为hash

filter.keys.by.type 是否过滤不符合model的数据,默认值为false
key.column 使用row的一列作为存入redis的key,默认key的生成方式为uuid
ttl 不设置数值默认永久保存,设置数值即为过期时间,单位是秒。
max.pipeline.size

pipeline方式写入数据的数据量最大值,默认值为100

host Redis服务的host,默认值为localhot
port Redis服务的port,默认值为6379
dbNum 数据存入Redis的dbNum,默认值为0

Table Schema

创建Redis表时,必须 显式地定义表的字段信息 ,例如:

spark-sql> CREATE TABLE redis_test_table(`key0` STRING, `value0` STRING, `key1` STRING, `value1` STRING)
         > USING redis
         > OPTIONS(
         > table="test",
         > redis.save.mode="append",
         > model="hash",
         > filter.keys.by.type="false",
         > key.column="uuid",
         > max.pipeline.size="100",
         > host="localhot",
         > port="6379",
         > dbNum="0");