Hive的小文件处理

server/2024/9/24 2:01:04/

针对ORC存储格式的小文件

--orc合并小文件的特定语法,使用concatenate(连接、使连续)关键字
--非分区表
alter table table_name concatenate;--分区表
alter table table_name partition(dt=xxx) concatenate;

针对TEXTFILE存储格式的小文件

--将这些小文件进行合并,这里使用distribute by floor(rand()*5)将所有的小文件数据归并到4个文件中
insert overwrite table table_name  
select col1,col2,col3,col4,col5 from table_name 
distribute by floor(rand()*5);

针对HDFS上的小文件

Hadoop Archive简称HAR,是一个高效地将小文件放入HDFS块中的文件存档工具,
它能够将多个小文件打包成一个HAR文件,这样在减少namenode内存使用的同时,仍然允许对文件进行透明的访问。使用归档之前,先设置如下3个参数:#用来控制归档是否可用
set hive.archive.enabled=true;
#通知Hive在创建归档时是否可以设置父目录
set hive.archive.har.parentdir.settable=true;
#控制需要归档文件的大小
set har.partfile.size=1099511627776;# 使用以下命令进行归档
ALTER TABLE A ARCHIVE PARTITION(dt='2020-12-24', hr='12');
# 对已归档的分区恢复为原文件
ALTER TABLE A UNARCHIVE PARTITION(dt='2020-12-24', hr='12');# 归档的分区可以查看不能 insert overwrite,必须先 unarchive

http://www.ppmy.cn/server/42881.html

相关文章

Python异常处理:打造你的代码防弹衣!

Hi,我是阿佑,上文咱们讲到——揭秘Python的魔法:装饰器的超能力大揭秘 ‍♂️✨,阿佑将带领大家通过精准捕获异常、使用with语句和上下文管理器、以及异常链等高级技巧来增强代码的健壮性。就像为代码穿上防弹衣,保护它…

dcache-android框架中的设计模式详解

引言:孤独的人喜欢深夜,多情的人喜欢黄昏。幸福的人喜欢阳光,伤心的人偏爱风雨。 众所周知,dcache-android是本人一行一行代码手写出来的Android数据缓存框架,写了好几年了,虽然不是每天写,但一…

java单元测试:JUnit测试框架

JUnit是Java语言中最常用的单元测试框架之一,用于编写和运行可重复的测试。它的主要功能是帮助开发者验证代码的正确性,确保代码在变更后仍然工作正常。以下是关于JUnit的详细介绍: 1. JUnit简介 JUnit是一个开源的单元测试框架&#xff0c…

java单元测试:使用Mockito模拟外部依赖

使用Mock对象来模拟外部依赖是单元测试中的重要技巧,特别是在你需要测试的代码依赖于外部系统(如数据库、网络服务等)时。Mock对象允许你在不实际调用这些外部系统的情况下测试代码的行为,从而提高测试的独立性和执行速度。 什么…

kettle从入门到精通 第六十三课 ETL之kettle kettle调用python脚本的两种方法

想真正学习或者提升自己的ETL领域知识的朋友欢迎进群,一起学习,共同进步。若二维码失效,公众号后台加我微信入群,备注kettle。 kettle中不能直接调用python脚本,可以通过shell脚本和http进行调用pyton服务。 一、shel…

CMake 在工程管理中的使用 Window/MacOS

CMake 在工程管理中的使用 Window/MacOS 是什么 CMake 是一个跨平台的编译工具,可以用简单的语句来描述所有平台的编译过程。 编译工具 Visual Studio 自动解析编译 cmakelists.txt 编译与链接 编译:将当前的C/C 代码通过编译器,编译位…

Pytest框架实战二

在Pytest框架实战一中详细地介绍了Pytest测试框架在参数化以及Fixture函数在API测试领域的实战案例以及具体的应用。本文章接着上个文章的内容继续阐述Pytest测试框架优秀的特性以及在自动化测试领域的实战。 conftest.py 在上一篇文章中阐述到Fixture函数的特性,第…

集中抄表电表是什么?

1.集中抄表电表:简述 集中抄表电表,又称为远程抄表系统,是一种现代化电力计量技术,为提升电力行业的经营效率和客户服务质量。它通过自动化的形式,取代了传统人工抄水表,完成了数据信息实时、精确、高效率…