我目前的iot设计是iot > rule > kinesis firehose > redshift
我有iot规则
SELECT *, timestamp() AS timestamp FROM 'topic/#
我收到类似下面的json消息
{
"deviceID": "device6",
"timestamp": 1480926222159
}
在我的红移表中,我有一列eventtime as Timestamp
现在我想将json时间戳值存储到eventtime列,但它在需要时给出了错误
TIMEFORMAT AS' MM.DD.YYYY HH:MI:SS
表示时间戳。那么如何将iot规则时间戳转换为红移时间戳?
答案 0 :(得分:1)
在将纪元日期值插入Redshift表Timestamp
数据类型列时,没有直接转换纪元日期值的方法。
我创建了一个Bigint
数据类型的列,并将epoch值直接插入此列
之后,我使用Quicksight
进行分析,以便我可以编辑数据集并为此列创建新的计算字段,并使用Qucksight function
,如下所示
epochDate(epoch_date)
将epoch值转换为timestamp字段。
可以使用类似的功能,如
SELECT
(TIMESTAMP 'epoch' + myunixtimeclm * INTERVAL '1 Second ')
AS mytimestamp
FROM
example_table