数据集成中的数据过滤支持FROM_UNIXTIME函数吗?我每日增量采集的数据,今天凌晨自动调度的不仅有19号还有20号的数据,感觉过滤不起作用。
FROM_UNIXTIME函数
用法:
FROM_UNIXTIME(unix_timestamp)
描述:
该函数将Unix时间戳转换为指定格式的日期时间字符串。Unix时间戳是一个整数,表示自1970年1月1日午夜(UTC)以来的秒数。
数据过滤
数据集成支持使用FROM_UNIXTIME函数进行数据过滤。您可以使用该函数将Unix时间戳转换为日期时间字符串,然后使用日期时间比较操作符(如=
、>
、<
等)进行过滤。
您的问题
从您提供的图片中,可以看到您的过滤条件是:
FROM_UNIXTIME(create_time) >= '2023-05-19 00:00:00' AND FROM_UNIXTIME(create_time) < '2023-05-20 00:00:00'
该过滤条件意在筛选出19日00:00:00到20日00:00:00之间的数据。但是,您提到了今天凌晨自动调度的不仅有19日还有20日的数据,这表明过滤条件不起作用。
可能的解决方案
检查以下可能的解决方案:
create_time
列的数据类型与FROM_UNIXTIME
函数的输出类型兼容。例如,create_time
列应该是整数类型,而FROM_UNIXTIME
函数的输出是字符串类型。FROM_UNIXTIME
函数的输出格式与过滤条件中使用的日期时间格式一致。例如,您使用的日期时间格式可能是'yyyy-MM-dd HH:mm:ss'
,而FROM_UNIXTIME
函数的输出格式可能是'yyyy-MM-dd'
。如果您已经排除了上述原因,并且仍然遇到问题,请提供更详细的错误信息或代码片段,以便我为您提供更具体的帮助。
这里的过滤条件最终会拼接成sql 在mysql服务端执行 可以从detail log中查询到实际执行的sql 再确认看下是否生效。 此答案整理自钉群“DataWorks交流群(答疑@机器人)”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。