我的日志文件在 DateTime.Ticks (635677577653488758) 中有一个列,我正在尝试将其转换为 Hadoop Hive 中的日期。
首先,我在 MySql 上尝试了下面的代码块,它成功了。但是相同的代码在 Hive 中不起作用,因为 date_add 函数适用于 INT。
SELECT DATE_ADD('2001-01-01 00:00:00', INTERVAL (MAX(f.date) - 631139040000000000)/10 MICROSECOND);
然后我会这样格式化...
SELECT DATE_FORMAT(MyDateFromTicks, '%Y-%m-%dT%T.%fZ');
我怎样才能做到这一点?
谢谢。
最佳答案
我找到了解决方案。我把它写在这里,所以如果有人走到这一步可以检查答案:)
我的报价:635683895215023579
EPOCH 刻度数:621355968000000000
SELECT FROM_UNIXTIME(CAST((635683895215023579 - 621355968000000000)/10000000 as BIGINT),'yyyy-MM-dd\'T\'HH:mm:ss.SSSZ');
关于c# - 如何在查询中将 .net DateTime.Ticks 转换为 Hive DateTime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30502264/