首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >本地hadoop作业的dfs.block.size?

本地hadoop作业的dfs.block.size?
EN

Stack Overflow用户
提问于 2012-03-19 16:26:43
回答 2查看 1.1K关注 0票数 1

我想运行一个hadoop单元测试,使用本地文件系统模式...理想情况下,我希望看到多个part-m-*文件写入磁盘(而不仅仅是1个)。然而,由于这只是一个测试,我不想处理64M的数据(我相信默认大小是每块64兆)。

在分布式模式中,我们可以使用以下命令进行设置

代码语言:javascript
运行
AI代码解释
复制
dfs.block.size

我想知道是否有一种方法可以让我的本地文件系统写出小的part-m文件,也就是说,这样我的单元测试就可以用几个(尽管非常小的)文件来模拟大规模数据的内容。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-20 00:50:02

假设您的输入格式可以处理可拆分的文件(请参阅org.apache.hadoop.mapreduce.lib.input.FileInputFormat.isSplitable(JobContext, Path)方法),您可以修改输入拆分大小,以处理具有多映射器的较小文件(我假设您使用的是新的API mapreduce包):

例如,如果您正在使用TextInputFormat (或大多数扩展FileInputFormat的输入格式),则可以调用static util方法:

  • FileInputFormat.setMaxInputSplitSize(Job, long)
  • FileInputFormat.setMinInputSplitSize(Job, long)

long参数是拆分的字节大小,因此只需将其设置为所需的大小

在幕后,这些方法设置了以下作业配置属性:

  • mapred.min.split.size
  • mapred.max.split.size

最后要注意的是,一些输入格式可能会覆盖FileInputFormat.getFormatMinSplitSize()方法(对于Hadoop默认为1字节),所以如果您设置了一个值,而hadoop似乎忽略了它,请务必小心。

最后一点--你有没有考虑过用MRUnit http://incubator.apache.org/mrunit/对你的MR代码进行真正的“单元”测试?

票数 3
EN

Stack Overflow用户

发布于 2017-03-21 19:08:32

试着这样做,它会起作用的

代码语言:javascript
运行
AI代码解释
复制
hadoop fs -D dfs.block.size=16777216 -put 25090206.P .
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9773931

复制
相关文章
Hadoop MapReduce作业的生命周期
用户提交作业后,由JobClient实例将作业相关信息(jar包、配置文件xml、分片元信息等)上传到HDFS。
星哥玩云
2022/06/30
2530
Hadoop MapReduce作业的生命周期
Hadoop本地模式配置
我使用的是VMware虚拟机,Ubuntu14.04 LTS,64位,已经安装Java,如果不知道如何配置网上有很多教程,不再赘述,我安装的是1.6.0_30版本。建议不要安装太高版本,我原来安装了1.8版本的,尝试配置Hadoop-2.6,死活都不成功,最后改成1.7版本的才配置成功。
星哥玩云
2022/07/04
4990
Hadoop本地模式配置
Hadoop MapReduce 工作过程
一个MapReducer作业经过了input,map,combine,reduce,output五个阶段,其中combine阶段并不一定发生,map输出的中间结果被分到reduce的过程成为shuffle(数据清洗)。
smartsi
2019/08/07
1.1K0
Kettle与Hadoop(八)执行Oozie作业
/root/big_data/job.properties文件的内容如下:
用户1148526
2020/06/10
6150
Kettle与Hadoop(七)执行Sqoop作业
1. 建立一个作业,将HDFS文件导出到MySQL数据库。 (1)打开PDI,新建一个作业,如图1所示。
用户1148526
2020/06/08
9040
Kettle与Hadoop(七)执行Sqoop作业
Hadoop作业提交与执行源码分析
Hadoop作业提交与执行源码分析 1  概述 Job执行整体流程图 2  Job创建与提交过程 2.1         Configuration类 Configuration类定义了如下私有成员变量: /*第一个是boolean型变量quietmode,用于设置加载配置的模式。通过阅读源代码就可以清楚,这个quietmode如果为true,实际上默认就为true,加载配置的模式为快速模式,其实也就是在解析配置文件的过程中,不输出日志信息的模式*/ private boole
闵开慧
2018/03/30
1.7K0
Kettle与Hadoop(九)提交Spark作业
实验环境: Spark History Server: 172.16.1.126
用户1148526
2020/06/11
1.7K0
Kettle与Hadoop(九)提交Spark作业
MapReduce 原理介绍与开发实战
MapReduce 是一个分布式运算程序的编程框架,核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发地运行在 Hadoop 集群上。
Se7en258
2021/07/01
1K0
认识map-reduce
1)MapReduce从HDFS中分割读取Split文件,通过Inputformat交给Mapper来处理。Split是MapReduce中最小的计算单元,一个Split文件对应一个Map Task
千往
2019/09/29
6070
认识map-reduce
大数据-HDFS 文件副本和 Block 块存储
所有的文件都是以 block 块的方式存放在 HDFS 文件系统当中, 在 Hadoop1当中, 文件的 block 块默认大小是 64M, hadoop2 当中, 文件的 block块大小默认是 128M, block 块的大小可以通过 hdfs-site.xml当中的配置文件进行指定
cwl_java
2019/12/25
1.4K0
Hadoop作业引用第三方jar文件
在eclipse中写mapreduce程序, 引用第三方jar文件, 可以利用eclipse Hadoop插件直接run on hadoop提交, 很方便. 不过插件版本要和eclipse匹配, 不然总是local执行, 在50070是没有job产生的.
星哥玩云
2022/06/29
9530
Hadoop作业引用第三方jar文件
Hadoop 2.0中作业日志收集原理以及配置方法
Hadoop 2.0提供了跟1.0类似的作业日志收集组件,从一定程度上可认为直接重用了1.0的代码模块,考虑到YARN已经变为通用资源管理平台,因此,提供一个通用的日志收集模块势在必行,由于目前通用日志收集模块正在开发中(可参考“YARN-321”),本文仅介绍MRv2(MapReduce On YARN)自带的日志收集模块,包括工作原理以及配置方法。 在Hadoop 2.0中,每个作业日志包含两部分,作业运行日志和任务运行日志,作业运行由MRAppMaster(MapReduce作业的Applicat
小小科
2018/05/04
1.9K0
Hadoop 2.0中作业日志收集原理以及配置方法
Hadoop-2.7.3源码分析:MapReduce作业提交源码跟踪
根据文章内容为该文章写一个摘要总结。
程裕强
2018/01/02
1.3K0
Hadoop-2.7.3源码分析:MapReduce作业提交源码跟踪
hadoop(5)——mrjob的使用(1)——直接在本地测试
mrjob可以实现用python开发在Hadoop上实行 mrjob程序可以在本地测试运行也可以部署到Hadoop集群上运行 (1)首先,要在自己的python虚拟环境中安装mrjob库 pip install mrjob 完成后通过pip list查看是否安装成功
gzq大数据
2020/11/11
8110
hadoop(5)——mrjob的使用(1)——直接在本地测试
如何使用hadoop命令向CDH集群提交MapReduce作业
在前面文章Fayson讲过《如何跨平台在本地开发环境提交MapReduce作业到CDH集群》,那对于部分用户来说,需要将打包好的jar包在CDH集群运行,可以使用hadoop或java命令向集群提交MR作业,本篇文章基于前面的文章讲述如何将打包好的MapReduce,使用hadoop命令向CDH提交作业。同时也分为Kerberos和非Kerberos环境提交。
Fayson
2018/03/29
2.2K0
如何使用hadoop命令向CDH集群提交MapReduce作业
hadoop重用机制
启动一个新的JVM进程将耗时1秒左右,对于运行时间较长(比如1分钟以上)的job影响不大,但如果都是时间很短的task,那么频繁启停JVM会有开销。
许喜朝
2020/10/27
1.2K0
【一】、搭建Hadoop环境----本地、伪分布式
    1.搭建Hadoop环境需要Java的开发环境,所以需要先在LInux上安装java
梅花
2020/09/28
6200
【一】、搭建Hadoop环境----本地、伪分布式
Kettle构建Hadoop ETL实践(七):定期自动执行ETL作业
一旦数据仓库开始使用,就需要不断从源系统给数据仓库提供新数据。为了确保数据流的稳定,需要使用所在平台上可用的任务调度器来调度ETL定期执行。调度模块是ETL系统必不可少的组成部分,它不但是数据仓库的基本需求,也对项目的成功起着举足轻重的作用。
用户1148526
2020/10/26
6.5K0
Kettle构建Hadoop ETL实践(七):定期自动执行ETL作业
Hadoop(十七)之MapReduce作业配置与Mapper和Reducer类
  前面一篇博文写的是Combiner优化MapReduce执行,也就是使用Combiner在map端执行减少reduce端的计算量。
大道七哥
2019/09/10
6420
Hadoop(十七)之MapReduce作业配置与Mapper和Reducer类
hadoop-3.2.0------>入门二 本地模式 grep实例
bin:存放的是我们用来实现管理脚本和使用的脚本的目录,我们对hadoop文件系统操作的时候用的就是这个目录下的脚本
用户5899361
2020/12/07
9220
hadoop-3.2.0------>入门二  本地模式 grep实例

相似问题

为什么hadoop默认只启动本地作业?

30

Hadoop流作业v/s Hadoop管道作业

13

在本地运行hadoop作业时出现问题

213

始终在进程中运行本地Hadoop的Hive作业

12

Hadoop:执行本地方法需要2个作业

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档