[Hive] 脚本的执行方式

hive脚本的执行方式大致有三种:

# 1. hive控制台执行;
 hive> select * from t1;

# 2. hive -e "SQL"执行; 
hive -e "select * from student where sex = '男'" > /tmp/output.txt

# 3. hive -f SQL文件执行;
hive -f test.sql
### Hive 安装教程 #### 准备工作 为了成功安装 Apache Hive,在环境配置方面需确保已正确部署 Java 和 Hadoop 并设置好相应的环境变量。Java 是运行 Hive 的基础,而 Hadoop 提供分布式存储和计算框架。 #### 下载并解压 Hive 访问官方下载页面获取最新稳定版本的 Hive 压缩包,并将其放置到服务器上的合适位置进行解压缩操作[^1]。 ```bash tar zxvf apache-hive-x.y.z-bin.tar.gz -C /opt/ cd /opt/apache-hive-x.y.z-bin ``` #### 配置环境变量 编辑 `~/.bashrc` 或者 `/etc/profile.d/hive.sh` 文件来添加如下内容: ```bash export HIVE_HOME=/opt/apache-hive-x.y.z-bin export PATH=$PATH:$HIVE_HOME/bin ``` 使更改生效: ```bash source ~/.bashrc # or source /etc/profile.d/hive.sh depending on where you added the export commands. ``` #### 初始化 Metastore 数据库 创建 MySQL 用户及数据库用于保存元数据信息;接着利用 schematool 工具完成建表动作。 ```sql CREATE DATABASE metastore; GRANT ALL PRIVILEGES ON metastore.* TO 'hiveuser'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; schematool -dbType mysql -initSchema ``` #### 修改配置文件 调整 hive-site.xml 来指定连接字符串和其他必要的参数。 ```xml <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hiveuser</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>password</value> </property> ``` --- ### 执行 Hive 脚本方法 #### 使用 `-f` 参数执行 SQL 文件 当有一个预先编写好的 `.hql` 文件时,可以使用命令行工具中的 `-f` 参数直接加载该文件作为输入源。 ```bash hive -f /path/to/your_script.hql ``` 此方式适用于批量处理任务或自动化作业场景下的查询提交需求。 #### 利用 `-e` 参数即时执行单条或多条语句 对于简单的测试或是临时性的数据分析请求,则可以直接通过 `-e` 后跟具体要执行的内容来进行交互式的查询活动。 ```bash hive -e "SELECT * FROM table LIMIT 10;" ``` 这种方式适合快速验证想法而不必事先准备单独的脚本文档[^3]。 #### 自动化与调度集成 如果希望定期自动触发某些固定模式的任务流程(比如每日汇总报表),那么可以通过 Oozie 这样的工作流引擎实现更复杂的业务逻辑编排,包括但不限于 Shell、Pig、MapReduce 等不同类型的工作单元组合起来形成完整的 ETL 流程[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值