首页 > 其他分享 >hdfs小文件是啥意思

hdfs小文件是啥意思

时间:2024-06-05 13:22:01浏览次数:25  
标签:hdfs map -- 任务 文件 namenode 啥意思

所谓小文件,即存储在hdfs上的数据文件明显小于hdfs文件块大小的(默认是64MB)。小文件过多,占用大量内存。

小文件的产生:主要由Hive启动的mr任务生成。

在hdfs中,每次读写文件都需要先从namenode获取表结构(元数据),然后再与datanode建立连接。而访问大量的小文件会经常需要大量的定位寻址操作,不断地在datanode间跳跃去检索小文件。访问小文件的过程严重影响性能。

在计算层面,小文件越多,意味着mapreduce执行任 务时需要创建的map也会越来越多,这样,任务的启动与释放将耗费大量的时间。同时,每一个map都会开启一 个 jvm虚拟机用于执行任务,带来的调度以及计算成本也会更高。

针对这种情况,增加一个spark任务定时调度执行,用于合并小文件,减轻了namenode对服务器造成的内存压力。

--合并小文件功能

启动较多的map或reduce能够提高并发度,加快任务运行速度;但同时在hdfs上生成的文件数目也会越来越多,会给namenode造成内存上压力,进而影响hdfs读写效率。所以对于集群的小文件(主要由Hive启动的MR生成),小文件合并功能能够使本轮map输出及整个任务输出的文件完成合并,保证下轮MapReduce任务map处理数据量均衡

--在某零售行业项目,发现有一个对增量hive表查询的任务速度执行越来越慢,测试发现,上千万数据统计耗时需要几分钟,排查发现由于定时从多个数据源增量同步数据到hive表,导致hive表中小文件准积越来越多,sq1执行时长耗时越来越长。

 

--要么从源头处理

--要么从中间环节处理

--要么从结果集处理

标签:hdfs,map,--,任务,文件,namenode,啥意思
From: https://www.cnblogs.com/zcl789456/p/18232791

相关文章

  • CsvHelper:一个轻便高性能的Csv文件读写操作开源库!
    Csv是一种非常常见的文件格式,采用纯文本格式,不依赖于任何特定的软件或数据库,且文件体积小,易于使用。平常项目开发中,需要都会采用这种格式,这就涉及到Csv文件的读写操作。下面介绍一个轻便高性能的Csv文件读写操作开源库。01项目简介CsvHelper是一个.Net开源库,这是一个强......
  • 重学java 63.IO流 字节流 ④ 文件复制
    身处泥泞,看满山花开               ——24.6.4图片复制分析1.创建两个对象        FilelnputStream—>读取指定的文件        FileOutputStream—>将读到的字节写到指定的位置2.边读边写importjava.io.FileInputS......
  • 如何一键提取文件夹下所有文件名?亲测好用的四个方法
    在数字化时代,文件管理和整理成为我们日常工作中不可或缺的一部分。尤其是在处理大量文件时,如何快速有效地提取文件夹下所有文件的名称,成为提高工作效率的关键。本文将详细介绍如何一键提取文件夹下所有文件名,帮助读者轻松应对文件整理的需求。如何一键提取文件夹下所有文件名?......
  • Windows11系统Pnrphc.dll文件丢失问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个Pnrphc.dll文件(挑选合适的版本文件)把它放......
  • 利用进程池给客户端传文件
    主函数#include<func.h>#include"process_pool.h"#include"server.h"#include"transferFd.h"#defineEVENTSNUM100intmain(intargc,char*argv[]){//ipportprocessNumif(argc!=4){error(1,errno,"......
  • Vue3单文件组件实现省市区县三级联动
    Provinces.vue<template>  <divclass="select-container">    <selectv-model="selectedProvince"@change="handleProvinceChange">      <optionvalue=""disabled>请选择省份</opti......
  • webapi 接收前端上传的文件
    usingMicrosoft.AspNetCore.Http;usingMicrosoft.AspNetCore.Mvc;usingSystem.IO;usingSystem.IO.Compression;namespaceWebApplication1.Controllers{[Route("api/[controller]/[action]")][ApiController]publicclassValuesControlle......
  • 【Linux】(三)—— 文件管理和软件安装
    文件管理Linux的文件管理是系统管理中的核心部分,它涉及到如何组织、访问、修改和保护文件及目录结构。目录文件管理基本概念常用命令查看和切换目录创建文件和目录删除文件和目录文件拷贝移动和重命名文件文件查看cat文件查看more查找文件文件类型文件链接归档和压缩......
  • OSS存储文件
    阿里云OSS官方文档:快速使用OSSSDK_对象存储(OSS)-阿里云帮助中心(aliyun.com)在Maven工程中使用OSSJavaSDK,只需在pom.xml中加入相应依赖即可。在<dependencies>中加入如下内容:优先使用最新版本的依赖项,此处以3.15.1版本为例。<dependency><groupId>com.aliyun.......
  • Git 保留空文件夹结构
    假设有如下helloworld项目结构:helloworld|--.git|--.gitignore|--Builds|--WebGL|--iOS|--Android现在有个需求,在上传到github仓库时,只想保留WebGL、iOS、Android文件夹的结构,不想要里面的内容,可以按以下步骤实现分别在WebGL、iOS、Android文件......