使用scala/from\u unixtime在apachespark中获得iso年周,在spark和hive中表现不同

41ik7eoe  于 2021-06-25  发布在  Hive
关注(0)|答案(0)|浏览(220)

我正在尝试从一个字符串格式的日期获取带有scala的spark中的iso年周。
下面的sql查询在配置单元中返回预期结果。
i、 e如果日期为2016年1月1日,根据iso标准,则为2015年第53周,因此结果为201553。

hive> select from_unixtime(unix_timestamp('20160101', 'yyyyMMdd'), 'Yww');
OK
201553
Time taken: 0.444 seconds, Fetched: 1 row(s)

如果我尝试通过sparksql在spark中运行相同的程序,它会给我一个不同的结果。

scala> spark.sql("""select from_unixtime(unix_timestamp('20160101', 'yyyyMMdd'), 'Yww')""").show
+------------------------------------------------------+
|from_unixtime(unix_timestamp(20160101, yyyyMMdd), Yww)|
+------------------------------------------------------+
|                                                201601|
+------------------------------------------------------+

我需要的是201553年星火计划的结果。
我使用的是spark 2.3版
有人能解释一下发生了什么事吗?
请让我知道,如果有任何方法,以获得iso年一周在Spark。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题