Hive运行模式

集群模式:Yarn,每个task(map 和reduce )都各自运行在一个JVM中,每个任务都是一个进程。
本地模式:local model,所有任务,都是运行在一个进程里面的

目的:为了hive CLi中方便测试,采取设置hive运行模式
set hive.exec.mode.local.auto=true;
如果设置为true,hive框架会自动根据需要处理的数据大小,去决定是否跑本地模式。(本地速度会很快)
默认情况是跟你就Block大小去决定。
处理的数据<128Mb或者MapTask个数<= 5个,本地
1)方式一:hive Cli设置(仅仅本次会话有效)
在hive 交互式命令行中:set hive.exec.mode.local.auto=true;
2)方式二:hive-site.xml配置文件中
所有会话,所有程序都生效

  <property>
    <name> hive.exec.mode.local.auto</name>
    <value>true</value>
  </property>
Hive支持本地模式(Local Mode)的执行,这种模式适合在单机环境下进行测试或处理小规模数据。本地模式通过将MapReduce任务直接在本地运行,而非提交到Hadoop集群,从而减少资源开销和提升执行效率。以下是Hive本地模式的配置方法和使用指南。 ### 配置Hive本地模式 1. **修改Hive配置文件** 在`hive-site.xml`文件中添加或修改以下配置项以启用本地模式: ```xml <property> <name>hive.exec.mode.local.auto</name> <value>true</value> <description>启用自动本地模式执行</description> </property> ``` 通过设置`hive.exec.mode.local.auto`为`true`,Hive将根据数据量和任务复杂度自动决定是否使用本地模式执行任务[^1]。 2. **设置本地模式的最大输入数据量** Hive本地模式适用于小规模数据集,因此可以通过以下参数限制输入数据的大小: ```xml <property> <name>hive.exec.mode.local.auto.inputbytes.max</name> <value>134217728</value> <description>自动本地模式下输入数据的最大字节数,默认为128MB</description> </property> ``` 上述配置限制了Hive在自动本地模式下处理的最大输入数据量,默认值为128MB。如果输入数据量超过此限制,Hive将回退到集群模式执行。 3. **设置本地模式的最大任务数** 为了控制本地模式的任务复杂度,可以设置任务的最大数量: ```xml <property> <name>hive.exec.mode.local.auto.tasks.max</name> <value>4</value> <description>自动本地模式下任务的最大数量,默认为4</description> </property> ``` 上述配置限制了本地模式下并行执行的任务数量,默认值为4。如果任务数量超过此限制,Hive将不再使用本地模式[^1]。 ### 使用Hive本地模式Hive查询执行时,可以通过HiveQL语句动态启用本地模式,而无需更改配置文件。例如,在Hive命令行界面中执行以下命令: ```sql SET hive.exec.mode.local.auto=true; SET hive.exec.mode.local.auto.inputbytes.max=134217728; SET hive.exec.mode.local.auto.tasks.max=4; ``` 上述命令在当前会话中启用了本地模式,并设置了输入数据量和任务数的限制。这种方式适用于临时测试或调试场景[^2]。 ### 验证本地模式是否生效 执行查询后,可以通过查看Hive的执行日志或任务信息验证本地模式是否生效。如果任务未提交到Hadoop集群,并且执行时间明显缩短,则说明本地模式已成功启用。 例如,执行以下查询: ```sql SELECT * FROM x; ``` 如果查询结果返回迅速且未出现Hadoop任务日志,则表示任务已通过本地模式执行。 ### 注意事项 - **数据规模限制**:本地模式适用于小规模数据处理,大规模数据仍需使用Hadoop集群模式- **性能优化**:适当调整`hive.exec.mode.local.auto.inputbytes.max`和`hive.exec.mode.local.auto.tasks.max`参数,以匹配实际数据量和任务需求。 - **兼容性**:确保Hive版本支持本地模式特性,部分旧版本可能需要手动编译或更新。 通过上述配置和使用方法,可以在Hive中启用本地模式,从而在单机环境下高效处理小规模数据集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值