赞
踩
用于把字符串格式日期转换成时间戳格式
spark执行unix_timestamp需要设置格式化参数,例如:select unix_timestamp(‘2023-01-01’,‘yyyy-MM-dd’)中’yyyy-MM-dd’必填, hive执行unix_timestamp,可以不设置日期格式化参数
select unix_timestamp('2023-01-01')
--1.spark返回为null,2.hive 返回1672502400
--spark兼容的语法如下
select unix_timestamp('2023-01-01','yyyy-MM-dd')
--1.spark返回为1672502400,2.hive 返回1672502400``
unix_timestamp(concat('2020-06-01', ' 24:00:00'))
--1.spark返回为null,2.hive 返回1672502400
把日期格式化,spark要求格式化使用java格式化标准,例如:“yyyy-MM-dd”,hive可以支持MySQL类格式,‘%Y-%m-%d’
select date_format('2023-01-01 00:00:00','%Y-%m')
--1.spark返回null,2.hive返回2023-01
--saprk兼容的语法如下:
select date_format('2023-01-01 00:00:00','yyyy-MM')
--1.spark返回2023-01,2.hive返回2023-01
spark在写入decimal字段数据时, 并不会四舍五入; 而hive会四舍五入。
举例: -0.0761685 spark写入为 -0.076168 ;而hive写入为 -0.076169
spark 中获取json数组的某个元素时,语法为 $[0] 而 hive 语法为 $.[0]
-- 区别是差一个点; spark下面sql为null, hive有值
select get_json_object(info, '$.[0]') as name from test_get_json_object
-- spark如下格式方才有值
select get_json_object(info, '$[0]') as name from test_get_json_object
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。