将AWS iot规则的时间戳复制到Amazon redshift表列

时间:2016-12-05 12:12:37

标签: amazon-web-services amazon-redshift aws-iot

我目前的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规则时间戳转换为红移时间戳?

1 个答案:

答案 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