草庐IT

max_split_size_mb

全部标签

hadoop - Spark : Minimize task/partition size skew with textFile's minPartitions option?

我正在通过sc.textFile("/data/*/*/*")之类的方式将数万个文件读入rdd>一个问题是这些文件中的大多数都是微小的,而其他的则巨大。这会导致任务不平衡,从而导致各种众所周知的问题。我能否通过sc.textFile("/data/*/*/*",minPartitions=n_files*5)读取数据来拆分最大的分区,其中n_files是输入文件的个数吗?如约定elsewhere在stackoverflow上,minPartitions被传递到hadooprabithole,并在org.apache.hadoop.mapred.TextInputFormat.getSp

hadoop - MAX(Count) 函数 apache pig latin

这个下面的程序我正尝试在ApachePig中按原样和非结构化数据执行它i)我有包含街道名称、城市和州的数据集:ii)按州分组iii)我在数据集中获取COUNT(*)个状态现在我的o/p将类似于statename,count===>该状态在数据集中可用的时间程序:realestate=LOADDATAusingpigstorage(',')as(street:string,citystring,statestring);A=GROUPrealestatebystate;B=FOREACHAGENERATEgroup,count(*)O/P会像CA,14washington,20现在我需要

hadoop - 配置单元 : group column based on max value

我有一个包含字段的表datevalue10-02-19002309-05-19012210-03-19001010-02-190124....我必须返回每年的最大值即,190023190124我尝试了以下查询,但得到了错误的答案。SELECTYEAR(FROM_UNIXTIME(UNIX_TIMESTAMP(date,'dd-mm-yyyy')))asdate,MAX(value)FROMtebGROUPBYdate;有人可以建议我查询吗? 最佳答案 选项1selectyear(from_unixtime(unix_timestam

hadoop - split 发生在何时何地?

例如,我在HDFS中有一个1Gb的文件,例如2018-10-1012:30EVENTINFORMATION2018-10-1012:35ANOTHEREVENTINFORMATION...所以我需要使用NLineInputFormat(N=2),对吗?问题是关于更多的概念性原则。这个1Gb文件何时何地转换为InputSplits?hadoop如何处理不同的拆分逻辑?它是否需要解析整个文件以创建拆分(因为我们需要遍历文件以逐行计数)?这个文件在HDFS(1024/128)中分为8个block。因此,当我提交作业时,hadoop在每个节点上使用此文件的block(使用默认拆分大小)启动映射

hadoop - 检查点在 HDFS 中是如何工作的?我想弄清楚 fs.checkpoint.period 和 fs.checkpoint.size

当它说时,辅助名称节点检查点每小时(fs.checkpoint.period以秒为单位)或如果编辑日志已达到64MB(fs.checkpoint.size以字节为单位)则更早?究竟是什么意思?据我了解,编辑日志存储在本地文件磁盘中。 最佳答案 HDFS元数据可以认为由两部分组成:基本文件系统表(存储在名为fsimage的文件中)和列出对基本表所做更改的编辑日志(存储在文件中称为edits)。检查点是协调fsimage与edits以生成新版本的fsimage的过程。这样做有两个好处:更新版本的fsimage和截断的编辑日志。fs.ch

hadoop - Apache hive : LOAD DATA vs INSERT OVERWRITE OUTPUT FILE SIZE

我正在使用ApacheHive,我不明白为什么如果我使用INSERTOVERWRITE与LOAD加载数据,表的大小会加倍。问题说明如下:我创建了一个表项从item.dat加载数据(大约28MB)在Azure中发生的是文件item.dat将被移动到hive/warehouse并且当然大小保持不变现在,如果我创建另一个与item相同的表item2,然后使用以下命令将数据从item加载到item2:INSERTOVERWRITETABLEitem2SELECT*FROMitem表item2的大小是item的两倍(大约55MB)为什么会这样?有什么办法可以避免吗?附言。这只是为了说明问题。在实

java - dfs.block.size 用于本地 hadoop 作业?

我想运行一个hadoop单元测试,使用本地文件系统模式...我希望看到几个part-m-*文件被写入磁盘(而不是只有1个)。但是,由于它只是一个测试,我不想处理64M的数据(我相信默认大小是每个block~64megs)。在分布式模式下我们可以使用dfs.block.size我想知道是否有一种方法可以让我的本地文件系统写出小的part-m文件,也就是说,这样我的单元测试将用几个(尽管非常小)文件模拟大规模数据的内容。 最佳答案 假设您的输入格式可以处理可拆分文件(参见org.apache.hadoop.mapreduce.lib.i

java - 5 个 150 MB 的文件在 hdfs 中有多少 block

假设有5个文件,每个文件大小为150MB。现在,当我将这些文件放入hdfs(block大小为64mb)时,每个文件和总block数将是多少block。还有所有文件的拆分次数。以及有多少映射器 最佳答案 每个文件将有3个block(64mb、64mb、32mb)。所以总block数5*3=15因此拆分数将为15。因此映射器数(如果使用FileInputFormat)=15。解释:HDFSdonottakeanentireblocktostoreafilewithsize·Clientwillwritedateintoit·Afterw

java - 输入大小为 ~ 2Mb 的 Hadoop mapreduce

我尝试使用hadoop分发计算。我正在使用序列输入和输出文件以及自定义可写文件。输入是一个三角形列表,最大大小为2Mb,但也可以小到50kb左右。中间值和输出是自定义Writable中的map(int,double)。这是瓶颈吗?问题是计算比没有hadoop的版本慢很多。另外,将节点从2个增加到10个,并不会加快该过程。一种可能是我没有得到足够的映射器,因为输入量很小。我进行了更改mapreduce.input.fileinputformat.split.maxsize的测试,但它变得更糟,而不是更好。我在本地和amazonelasticmapreduce使用hadoop2.2.0。我

hadoop - Mesos 和 Hadoop : How to get the running job input data size?

我在Mesos0.14上运行Hadoop1.2.1。我的目标是记录输入数据大小、运行时间、cpu使用情况、内存使用情况等,以便稍后进行优化。除了数据大小之外,所有这些都是使用Sigar获得的。有什么方法可以获取正在运行的任何作业的输入数据大小?例如,当我运行hadoop示例的terasort时,我需要在作业实际运行之前获取teragen生成的数据大小。如果我正在运行Wordcountexample,我需要获取wordcount输入文件大小。我需要自动获取数据大小,因为我无法知道稍后将在该框架内运行什么作业。我正在使用Java编写一些mesos库代码。最好,我想在MesosExecuto