sparksql (state=08S01,code=3)报错

两个报错:

1,报错:(state=08S01,code=3)

这是一个很弱智的报错,sql代码中的参数格式写错了,用shell掉,肯定是shell可以识别的变量啊,格式:${参数名}

 

2,这个是也是别人代码的坑。竟然少了一年数据。

如下,如果是一个日期字段大于等于如下这样的格式,如:

select * from t where t.date>=concat(substr('2019-09-30',1,4)-2,'-01-01')

会是什么结果?

hive中:是实际是从t.date>=2018-01-01。少了一年数据,原因也很明显,没有做严格的类型转换。

Oracle中:却是可以的,如下:

Impala中:报语法错误


版权声明:本文为linuxpassion原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。