Amazon Spectrum 直接从字符串增量加载

Posted

技术标签:

【中文标题】Amazon Spectrum 直接从字符串增量加载【英文标题】:Amazon Spectrum incremental load directly from string 【发布时间】:2018-11-08 16:44:19 【问题描述】:

我从频谱中获取了一个字段作为“文件名 Pro_180913_171842”。 试了sql中的函数,比如

       `select
       fields
      from spectrum.ex
      where cast(SPLIT_PART('filename Pro_180913_171842','Pro_',2)as 
      timestamp)>cast('2018-09-12 15:13:54.0' as timestamp)`

但它只返回空行!

【问题讨论】:

180913171842 对应的值是什么? 它是像'2018-09-13 17:18:42.0'这样的时间戳。可以作为字段但增量负载不起作用。 您正在尝试将没有日期组件的时间与具有日期组件的时间戳进行比较。你的逻辑是什么? 【参考方案1】:

您的字段没有日期组件,因此除非我们添加日期信息,否则与完整时间戳进行比较是没有意义的。如果你打算只比较时间,那么试试这个:

SELECT fields
FROM spectrum.ex
WHERE SPLIT_PART('filename Pro_180913_171842', '_', 2) > '151354';

【讨论】:

以上是关于Amazon Spectrum 直接从字符串增量加载的主要内容,如果未能解决你的问题,请参考以下文章

将数据从 sql server 增量上传到 Amazon Redshift [关闭]

分区依据的 Amazon Redshift Spectrum 不返回结果

对我的 Amazon Spectrum 表进行分区时遇到问题

Redshift Spectrum 使用两个日期字段对表进行分区

Amazon EBS,快照作为增量备份

带增量编号的加特林进料器(非随机)