hive 执行sql出现报错 引申出来的mapjoin相关

 

hive使用版本:

在Hive v0.7之前,需要给出MapJoin的指示,Hive才会提供MapJoin的优化。Hive v0.7之后的版本已经不需要给出MapJoin的指示就进行优化

MapJoin :在Map阶段进行表之间的连接,节省Shuffle阶段时要进行的大量数据传输

MapJoin的实现方法:

1)在Map-Reduce的驱动程序中使用静态方法DistributedCache.addCacheFile()增加要拷贝的小表文件。 JobTracker在作业启动之前会获取这个URI列表,并将相应的文件拷贝到各个TaskTracker的本地磁盘上。2)在Map类的setup方法中使用DistributedCache.getLocalCacheFiles()方法获取文件目录,并使用标准的文件读写API读取相应的文件

此次出现的问题通过看报错信息  定位是由于mapjoin出现问题

set hive.auto.convert.join=true; //设置 MapJoin 优化自动开启

set hive.auto.convert.join=false; set hive.ignore.mapjoin.hint=false //默认会把join转换为map join,需要关闭时设置

set hive.exec.parallel&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
执行HiveSQL建表命令报错时,可能有几个原因导致: 1. 列名重复:根据引用中的内容,建表语句中指定了两个相同的列名,这可能会导致建表失败。请确保列名的唯一性并重试建表命令。 2. 元数据服务器配置错误:根据引用中的内容,当Hive执行建表命令时,可能会连接到远程的元数据服务器,而不是默认的本地数据库。如果你的MySQL数据库不在本地,你需要在Hive的配置文件中配置元数据服务器的地址。确保配置正确后,重启Hive服务并再次尝试执行建表命令。 3. Orc文件版本不兼容:根据引用中的内容,当使用CDH-Hive2.1.1版本读取Orc文件时,可能会报错。可能是由于Orc文件的版本与Hive不兼容导致的。你可以尝试替换Orc文件或升级Hive版本来解决这个问题。 综上所述,建议你检查列名是否重复,配置正确的元数据服务器地址,并考虑升级Hive版本或替换Orc文件来解决建表报错的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [记一次hive建表报错](https://blog.csdn.net/weixin_39445556/article/details/103200509)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [hive执行建表命令报错](https://blog.csdn.net/weixin_45567175/article/details/102716671)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [cdh-hive2.1.1版本orc格式表读取包数组越界替换包](https://download.csdn.net/download/weinierzui/85404988)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值