首页 > 其他分享 >HIVE合并小文件

HIVE合并小文件

时间:2024-08-05 17:53:41浏览次数:13  
标签:文件 set map -- 合并 hive HIVE

        8.分区分桶,合并小文件
            为什么小文件需要合并?
                1.小文件过多,MR处理数据时,会产生多个MapTask,然而每个MapTask处理的数据量很少,
                那么导致MapTask启动时间大于执行时间,整体任务时间消耗较大


            如何合并小文件:

            1)在map执行前合并小文件,减少map数:CombineHiveInputFormat具有对小文件进行合并的功能(系统默认的格式)。HiveInputFormat没有对小文件合并功能。
                    set hive.input.format= org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
            
            2)在Map-Reduce的任务结束时合并小文件的设置:

                    2.1 在map-only任务结束时合并小文件,默认true
                    SET hive.merge.mapfiles = true;  
                    -- 如果有一个HIVE表,小文件过多,可以通过select * from 表 只产生一个Map
                    --     任务将原表中的小文件合并并输出至新表
                    

                    2.2 在map-reduce任务结束时合并小文件,默认false
                    SET hive.merge.mapredfiles = true;
                    合并文件的大小,默认256M
                    SET hive.merge.size.per.task = 268435456;
                    当输出文件的平均大小小于该值时,启动一个独立的map-reduce任务进行文件merge
                    SET hive.merge.smallfiles.avgsize = 128000000;


            3)--限制Map,Reduce数
                set mapreduce.tasktracker.map.tasks.maximum=30;       --每个nodemanager节点上可运行的最大map任务数,默认值2,可根据实际值调整为10~100;
                set mapreduce.tasktracker.reduce.tasks.maximum=30;    --每个nodemanager节点上可运行的最大reduce任务数,默认值2,可根据实际值调整为10~100;


            4)--将多个小文件打包作为一个整体的inputsplit,减少map任务数     
                set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
                set mapreduce.input.fileinputformat.split.maxsize=128000000;         --切片大小最大值,不设置,则所有输入只启动一个map任务
                set mapreduce.input.fileinputformat.split.minsize.per.node=16000000;  --同一节点的数据块形成切片时,切片大小的最小值

            5)
                -- 最大split大小
                set mapred.max.split.size=128000000;   

标签:文件,set,map,--,合并,hive,HIVE
From: https://blog.csdn.net/2301_77836489/article/details/140933271

相关文章

  • 文件拓展名
        文件拓展名是文件名的一部分,通常出现在文件名的最后,由一个点(.)分隔。文件拓展名用于指示文件的类型和格式,以便操作系统和程序能够正确地处理和打开文件。(例如,在“a.docx”中,“.docx”就是文件拓展名,表示这是一个‌名称为a的‌MicrosoftWord文档。)   文件扩......
  • 使用 Python和PyQt5 打造 你的专属文件查询工具! 附源码
    本文将介绍如何使用Python和PyQt5创建一个简单的文件查询工具。该工具允许用户选择一个目录,并在该目录中搜索特定的文件。依赖库首先,确保你已经安装了PyQt5库:pipinstallPyQt5步骤第一步:导入库我们需要导入必要的库,包括sys、os和PyQt5。importsysimportosfromP......
  • 了解 Databricks 文件系统 (DBFS) 中的文件访问与使用 Python 和 Spark 的卷的比较
    我当前正在尝试从Databricks文件系统(DBFS)读取和显示文件,但遇到了问题。这是我使用的代码:file_path="/dbfs/cluster-logs/use_case/default_job_cluster/cluster_id/init_scripts/cluster_id/20240801_proxy-init.sh.stderr.log"withopen(file_path,'r')asfile:......
  • 解决windows报错:该文件没有与之关联的应用来执行该操作
    报错截图:解决方案1、新建txt文件2、复制内容到txt文件taskkill/f/imexplorer.exeregadd"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIcons"/v29/d"C:\Windows\system32\imageres.dll,154"/treg_sz/fregadd......
  • pnpm-lock.yaml文件对项目构建有影响吗 pnpm-lock.yaml本地变更需要提交相关变更吗
    pnpm-lock.yaml文件是Pnpm包管理器生成的锁文件,用于锁定项目依赖的确切版本。这个文件确保了在不同环境中安装依赖时,所有开发者和部署系统都能获得一致的依赖树。对项目构建的影响:一致性:pnpm-lock.yaml确保了项目依赖的一致性,无论在哪个环境或哪个开发者的机器上构建项目,......
  • 易捷OA协同办公软件 ShowPic 任意文件读取漏洞复现
    0x01产品简介易捷OA协同办公软件是在“让管理更简单”和“实时协同”的理念的指导下,”本着“简约、实时、快捷、省钱”的产品定位,结合数千家客户的管理实践和当前最先进的IT技术开发出来的全新一代协同产品,在云计算、全文检索、手机应用、企业即时通讯等多方面取得突破性创新......
  • 【C#】读XML文件
    1.xml文件格式<?xmlversion="1.0"encoding="utf-8"?><root> <parameter> <lasertype>2</lasertype> </parameter></root>2.C#实现读取XML文件功能publicstaticvoidLoadXml(){try{//判别文件是否存在,存在才读取if......
  • 一张图带你学习Linux文件权限,简单易懂!
    你好,这里是网络技术联盟站,我是瑞哥。在Linux系统中,文件权限是确保系统安全性和完整性的重要机制。理解并正确设置文件权限,能够有效防止未授权的访问和修改,从而保护系统中的数据。文件权限文件权限是Linux系统中控制用户和组对文件和目录的访问权限的机制。每个文件和目......
  • 【漏洞复现】LiveBOS UploadFile.do 任意文件上传漏洞(XVE-2023-21708)
    0x01产品简介LiveBOS(LiveBusinessObjectSystem)是顶点软件自主研发的以业务对象建模为核心的业务中间件及其集成开发工具,它通过业务模型建立直接完成软件开发的创新模式,支持各类基于WEB的专业应用软件与行业大型应用的开发。LiveBOS系统由三个相对独立的产品构成:运行支......
  • 文件服务器rsync
    服务器配置echo"cc:cc2023">/etc/rsync.passwordchmod600/etc/rsync.passwordvi/etc/rsyncd.confuid=rootgid=rootusechroot=nomaxconnections=40pidfile=/var/run/rsyncd.pidlogfile=/var/log/rsyncd.logexclude=lost+found/tran......