hive获取今天/明天/昨天时间

本文介绍了如何使用SQL进行日期操作,包括获取今天的日期、明天的日期和昨天的日期。通过使用FROM_UNIXTIME、UNIX_TIMESTAMP、date_add和date_sub等函数,可以轻松地在SQL中进行日期加减运算。
部署运行你感兴趣的模型镜像

一、获取今天时间

select FROM_UNIXTIME(UNIX_TIMESTAMP()) date

二、获取明天时间

select regexp_replace(substr(date_add(FROM_UNIXTIME(UNIX_TIMESTAMP()),1),1,10),'-','') date

可以通过date_add函数获取今天开始后n天的时间

三、获取昨天时间

select regexp_replace(substr(date_sub(FROM_UNIXTIME(UNIX_TIMESTAMP()),1),1,10),'-','') date

可以通过date_sub函数获取任意前n天时间

扫描下方二维码关注领取程序员必备千套ppt模板,300本精选好书,丰富面经。:

有酒有风

 

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

这是一个关于 Hive 命令使用错误的问题:您在 Beeline 客户端中直接输入了 Linux 文件路径 `/export/server/hive/bin/hive`,导致 Shell 尝试执行该路径,但上下文环境不正确。 因此,该问题属于:**普通文本型** --- ### ❌ 问题分析 您执行了以下操作: ```bash [root@master lib]# /export/server/hive/bin/hive ``` 这本应启动 Hive CLI 或进入交互式界面。 但实际输出: ``` Beeline version 4.0.0 by Apache Hive beeline> ``` 说明:`/export/server/hive/bin/hive` 脚本默认启动的是 **Beeline 客户端**(用于连接 HiveServer2),而不是传统的 Hive CLI。 然后您又在 `beeline>` 提示符下输入: ```sql /export/server/hive/bin/hive ``` 这完全是一个 **非法 SQL 命令**,因为: - `beeline` 是基于 JDBC 的客户端; - 它只能执行 HQL 或 Beeline 元命令(如 `!connect`, `!quit`); - 输入一个文件路径会被当作 SQL 语句解析 → 报错或无响应。 --- ### ✅ 正确解决方案 #### ✅ 情况一:想使用传统 Hive CLI(本地元数据访问) > ⚠️ 注意:只有 **Metastore 服务已启动** 时才能连接成功! 不要通过 `bin/hive` 启动 Beeline,而是确保使用正确的模式。 ##### 推荐方式:使用 Hive CLI(如果仍需使用) Hive 3.x 开始已逐步弃用 `hive` 命令的本地 CLI 模式,默认指向 Beeline。 若要强制使用旧版 CLI,可设置环境变量: ```bash export HIVE_SERVER2_THRIFT_BIND_HOST=127.0.0.1 ``` 但更推荐的方式是:**明确启动 Thrift Server 或使用 Beeline 正确连接**。 --- #### ✅ 情况二:正确使用 Beeline 连接 HiveServer2(推荐方式) 1. **先确保 Metastore 服务正在运行** ```bash jps | grep RunJar ``` 应看到类似: ``` 65200 RunJar ``` 如果没有,请启动: ```bash nohup /export/server/hive/bin/hive --service metastore > /export/server/hive/logs/metastore.log 2>&1 & ``` 2. **正确使用 Beeline 连接** ```bash /export/server/hive/bin/beeline ``` 进入后执行: ```sql !connect jdbc:hive2://localhost:10000/default;transportMode=http;httpPath=cliservice ``` > ⚠️ 默认情况下,HiveServer2 并未启动!仅启动 `metastore` 不等于启动 `hiveserver2` --- #### ✅ 情况三:启动 HiveServer2(支持网络客户端访问) ```bash nohup /export/server/hive/bin/hive --service hiveserver2 > /export/server/hive/logs/hiveserver2.log 2>&1 & ``` ✅ 验证是否启动成功: ```bash jps | grep RunJar # 应有两个 RunJar 进程(metastore + hiveserver2) netstat -an | grep 10000 ``` 端口 `10000` 是 HiveServer2 的默认监听端口。 --- #### ✅ 情况四:使用 Beeline 正确连接 ```bash /export/server/hive/bin/beeline ``` 进入后输入: ```sql !connect jdbc:hive2://localhost:10000 ``` 回车后输入用户名(通常是当前系统用户,如 `root`),密码为空。 连接成功后可执行: ```sql SHOW DATABASES; CREATE TABLE test(id INT); ``` --- ### 📌 总结常见误区 | 错误操作 | 正确做法 | |--------|---------| | 在 `beeline>` 中输入 shell 命令 | 只能执行 SQL 或 `!xxx` 元命令 | | 认为 `bin/hive` 直接进入 Hive CLI | 实际跳转到 Beeline,需启动 HS2 才能连 | | 未启动 `metastore` 或 `hiveserver2` 就尝试连接 | 必须先启动后台服务 | | 期望本地 Derby 模式自动工作 | 需配置正确且无 `hive-site.xml` 干扰 | --- ### ✅ 测试完整流程(推荐顺序) ```bash # 1. 确保 metastore 已启动 nohup /export/server/hive/bin/hive --service metastore > /export/server/hive/logs/metastore.log 2>&1 & # 2. 启动 hiveserver2 nohup /export/server/hive/bin/hive --service hiveserver2 > /export/server/hive/logs/hiveserver2.log 2>&1 & # 3. 等待几秒后连接 beeline /export/server/hive/bin/beeline # 在 beeline 中输入: !connect jdbc:hive2://localhost:10000 ``` 输入用户 `root`,回车两次(密码为空),即可进入 HQL 交互模式。 --- ### 知识点详解 - **Hive 元数据管理机制**:Metastore 服务统一管理表结构信息,客户端通过 Thrift 协议从远程获取元数据。 - **JVM 进程管理原理**:每个 Hive 服务(metastore、hiveserver2)都是独立 Java 进程,可用 `jps` 查看和 `kill` 终止。 - **nohup 与 & 作用**:`nohup` 忽略终端关闭信号,`&` 放入后台运行,组合实现服务长期驻留。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值