最近遇到sparksql在pg或gp上运行报错问题,PostgreSQL(Greenplum)不支持sparksql部分函数,需要更改函数才能在pg(gp)运行。整理更改点如下:
1、获取当前时间戳:
sparksql函数为
select unix_timestamp(now());
pgsql(gp)函数为
select floor(extract(epoch from now()));
2、时间戳转日期:
sparksql函数为
select from_unixtime((unix_timestamp(now())),'yyyyMMddHHmmss');
pgsql(gp)函数为
select to_char(to_timestamp(floor(extract(epoch from now()))), 'yyyyMMddHHmmss');
3、转换类型:
sparksql函数为
select cast(from_unixtime((unix_timestamp(now())),'yyyyMMddHHmmss') as bigint);
pgsql(gp)函数为
select cast(to_char(to_timestamp(floor(extract(epoch from now()))), 'y