presto、hive使用year、month、date函数使用注意事项
经过尝试,presto查询速度更快,于是使用presto引擎查询,直接将在hive中使用的sql拷贝到presto执行,遇到各种问题。
遇到问题
以下sql在hive中执行成功,变量日期是2024-01-02这样的格式
但在presto中执行报错,如下:
解决方法
通过观察报错信息最后两行,推测很可能是因为数据类型不正确,所以报错。
于是尝试转换数据类型,结果在presto中执行成功。
直接执行下面的sql,报错。
转换数据类型后,执行成功。
总结,最稳妥的做法是使用日期相关函数时,都加上数据类型转换,这样在hive、presto中可以使用。