字段类型
更新时间:2019-06-14
支持8种数据类型。
SQL_TIMESTAMP
时间戳类型。时间戳字段必须为该类型。数据可以是如下几种形式:
- 毫秒为单位的整数时间戳,如: 1523427180123
- 秒为单位的整数时间戳,如: 1523427180
- 以及常见的字符串格式
下面是所支持的各种格式举例:
{"ts":1523427241000}
{"ts":1523427241}
{"ts":"1523427241000"}
{"ts":"1523427241"}
{"ts":"2018-03-25T07:05:26.847Z"}
{"ts":"2018-03-25 07:05:26.847Z"}
{"ts":"2018-03-25T07:05:26Z"}
{"ts":"2018-03-25 07:05:26Z"}
{"ts":"2018-03-25T07:05:26.847"}
{"ts":"2018-03-25 07:05:26.847"}
{"ts":"2018-03-25T07:05:26"}
{"ts":"2018-03-25 07:05:26"}
LONG
整数类型。SQL中需要将字符串转化成LONG类型的语法为: CAST(str AS BIGINT)。
STRING
字符串类型
DOUBLE
浮点数类型。SQL中需要将字符串转化成DOUBLE类型的语法为: CAST(str AS DOUBLE)。
ARRAY
对象数组类型。SQL中,通常用UNNEST语法将其展开。适用于类似如下JSON格式:
{
"arr":[
{
"name":"dev01",
"val": 12.3
}]
}
LONG_ARRAY
整数数组类型。SQL中,可以通过UNNEST语法将其展开,也可以直接通过下标访问,如SELECT arr[1]。下标从1开始。适用类似如下JSON格式:
{
"arr":[1, 5, 199]
}
通过UNNEST语句展开示例:
SELECT
Tumble_Start(rowtime, INTERVAL '1' MINUTE) AS ts,
SUM(val) AS subtotal
FROM mysource, UNNEST(mysource.arr) AS A(val)
GROUP BY
Tumble(rowtime, INTERVAL '1' MINUTE)
通过下标直接访问SQL示例:
SELECT arr[1] + arr[2] * arr[3] AS new_value
DOUBLE_ARRAY
浮点数数组类型。SQL中,可以通过UNNEST语法将其展开,也可以直接通过下标访问,如SELECT arr[1]。下标从1开始。适用类似如下JSON格式:
{
"arr":[1.8, 2.1, 2.498]
}
STRING_ARRAY
字符串数组类型。SQL中,可以通过UNNEST语法将其展开,也可以直接通过下标访问,如SELECT arr[1]。下标从1开始。适用类似如下JSON格式:
{
"arr":["apple", "orange", "pear"]
}
其他
对于其他类型数据,比如JSON中的boolean,可以按照STRING来处理。