hadoop - 如何将hadoop中字符串格式的日期时间转换为短日期?
问题描述
我正在使用以下查询从 Hadoop(hive) 中的字符串 (20191101154559) 中获取日期。
select max(cast(to_date(from_unixtime(unix_timestamp(substr(column3,1,8), 'yyyymmdd'))) as date)) as dt from databasea.table_name_b;
运行上述脚本后我得到的输出是 '31/01/2019',因为该表包含 2019 年 11 月的日期。不知道我在哪里出错了。
感谢是否有人可以调查此问题。
解决方案
from_unixtime 你可以使用它来获取 'yyyymmdd' 或 'yyyy-MM-dd' 任何你想要的数据格式。例如 - 选择 from_unixtime(unix_timestamp(substr('20191101154559',1,8), 'yyyymmdd'), 'yyyymmdd');
这将返回 20191101
推荐阅读
- ruby - include 适用于 if 但不适用于 else
- android - Android 多窗口 - android:resizeableActivity @ 应用程序级别的目的是什么?
- python - 带有惊喜预测的 Sklearn 标签编码器逆变换
- powershell - Powershell 导出 SharePont 分类
- python - 为什么我不能导入在 __init__.py 中声明的类?
- python - Python中带有递归函数的if语句的逻辑
- javascript - React:在功能组件中单击链接时获取输入文件
- c# - 如何创建多个 RichTextBox
- python - 在 ubuntu 的 gpu 上安装 tensorflow
- amazon-web-services - Drupal7 上的管理员电子邮件未更新