当前位置: 首页 > news >正文

Hive 3.x 建表指定分桶,但load data后失效的原因

Hive 3.x 的 load data默认是会跑MR任务的,而不是单纯的移动文件。

  • hive版本:3.1.3
  • spark版本:3.3.1

1)建表语句

create table stu_buck(id int, name string
)
clustered by(id) 
into 4 buckets
row format delimited fields terminated by '\t';

2)数据装载
(1)数据准备
在/opt/module/hive/datas/路径上创建student.txt文件,并输入如下内容。

1001	student1
1002	student2
1003	student3
1004	student4
1005	student5
1006	student6
1007	student7
1008	student8
1009	student9
1010	student10
1011	student11
1012	student12
1013	student13
1014	student14
1015	student15
1016	student16

(2)导入数据到分桶表中
说明:Hive新版本load数据可以直接跑MapReduce,老版的Hive需要将数据传到一张表里,再通过查询的方式导入到分桶表里面。

load data local inpath '/opt/module/hive/datas/student.txt' 
into table stu_buck;

(3)查看创建的分桶表中是否分成4个桶

理论结果:
第1个文件(000000_0)内容:

1016	student16
1012	student12
1008	student8
1004	student4

第2个文件(000001_0)内容:

1009	student9
1005	student5
1001	student1
1013	student13

第3个文件(000002_0)内容:

1010	student10
1002	student2
1006	student6
1014	student14

第4个文件(000003_0)内容:

1003	student3
1011	student11
1007	student7
1015	student15

但结果竟然是4个空文件,排查原因如下:

  1. 查看Hive执行引擎:
    SET hive.execution.engine;
    发现是spark,将执行引擎改回MR,问题解决。
    SET hive.execution.engine=mr;

补充: 如果要继续使用spark引擎,那么就必须先创建临时表,然后把数据load进临时表,然后再使用 insert into xxx select * from 临时表 ,结果也是4个文件,但文件内容跟MR引擎的不一样。

http://www.jsqmd.com/news/120114/

相关文章:

  • GSoC 成果公布!印度开发者为 DolphinScheduler 引入通用 OIDC 认证,实现无缝安全访问
  • 【python大数据毕设实战】哮喘患者症状数据可视化分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习
  • 【01-02】
  • 【开题答辩全过程】以 基于微信小程序的糖尿病居家健康管理实用的系统为例,包含答辩的问题和答案
  • Qt 源码阅读随笔
  • 2025 我用 Sysinternals 打通 Windows 排障“证据链”:开机慢 / 安装失败 / 磁盘暴涨(三个真实案例复盘)
  • 基于java的SpringBoot/SSM+Vue+uniapp的宠物综合服务平台的详细设计和实现(源码+lw+部署文档+讲解等)
  • [20251219]测试sql语句子光标的执行性能2(21c).txt
  • 面向轻量级智能体的模型蒸馏方法研究-大规模预训练模型知识迁移机制分析
  • 非遗万象图前端开发
  • 不同场景 Linux 性能调优参数配置模板
  • Redis 零基础到进阶,Redis 哨兵监控,笔记63-73
  • 大学生必备:8个免费AI论文工具,告别熬夜搞定论文效率飙升100% - 麟书学长
  • 9 个降AI率工具,MBA 必备避坑指南
  • 用 .NET MAUI 10 + VS Copilot 从 0 开发一个签到 App(三)
  • 上海埃飞电子科技有限公司:探寻国内顶尖狭缝涂布机加工厂的卓越之道 - 五色鹿五色鹿
  • Redis多实例部署与主从架构
  • 【linux内核】Linux内核的同步机制
  • (100分)- 部门人力分配(Java JS Python C)
  • npm2100 的电源转换能力优点
  • [20251218]测试sql语句子光标的执行性能(21c).txt
  • 常用 Linux 性能调优参数速查表
  • Scikit-image 实战指南:10 个让 CV 模型更稳健的预处理技巧
  • AgentScope深入分析-LLMMCP
  • (100分)- 测试用例执行计划(Java JS Python C)
  • Redis高级特性与生产环境部署
  • 详细介绍:正则表达式超详细版
  • 数组去重(JS)
  • 高职金融科技应用专业可考取的金融科技类证书
  • NPM2100 支持的电池类型