input-split

    4热度

    2回答

    我有100 TB的一个文本文件,它具有多条记录。我们没有给出每个记录需要多少行。一条记录可以是5行,其他可能是6行,另一条可能是4行。它不确定每条记录的线路大小可能会有所不同。 所以我不能使用默认的TextInputFormat,我写了我自己的inputformat和一个自定义的记录阅读器,但我的困惑是:当发生分裂时,我不确定每个分裂是否包含完整记录。记录的某些部分可以在分裂1中进行,另一部分在分

    4热度

    2回答

    我有一个日志文件,如下 Begin ... 12-07-2008 02:00:05 ----> record1 incidentID: inc001 description: blah blah blah owner: abc status: resolved end .... 13-07-2008 02:00:05 Begin ... 12-07-2008 03:00:05

    0热度

    1回答

    我扩展了Hadoop的InputSplit类来计算我的自定义输入分割,但是当我返回一个特定的HostIP(即datanode IP)作为字符串覆盖getLocations(),它的Map任务没有在该HostIP上执行,而是在其他某个上执行。对于没有在该特定HostIP上执行的问题,这会是什么问题?

    0热度

    1回答

    我正在使用杰克逊来处理JSON在Hadoop中的块。这意味着,它们是大块文件(在我的问题中它是128M但它并不重要)。 出于效率的原因,我需要它流式传输(不可能在内存中构建整个树)。 我正在使用JsonParser和ObjectMapper的混合来读取我的输入。 目前,我正在使用不可拆分的自定义InputFormat,因此我可以阅读我的整个JSON。 的(有效)JSON的结构是这样的: [ { "

    0热度

    1回答

    例子来说明这个问题 - 我有500MB大小的文件(input.csv) 该文件包含只有一行(记录)在它 因此,如何该文件将存储在HDFS块中以及如何计算输入分割?

    0热度

    2回答

    我正在处理与地图的一个文件减少文件大小为1GB,我在HDFS中的默认块大小为64 MB,因此在这个例子中有多少输入拆分,有多少映射器?

    0热度

    1回答

    的我在占据在HDFS两个街区,复制在两个节点上,A和B.每个节点的数据集的副本的CSV文件的数据集。 当Spark开始处理数据时,我已经看到Spark如何将数据集加载为输入的两种方式。它要么将整个数据集加载到一个节点的内存中,并执行其中的大部分任务,要么将数据集加载到两个节点中,并将两个节点上的任务溢出(基于我在历史记录服务器上观察到的情况)。对于这两种情况,都有足够的能力将整个数据集保存在内存中

    -1热度

    1回答

    我正在使用flume将twitter数据下载到hdfs中。虽然我有超过2 GB的数据,但我的块文件拆分小于64MB。 即第一个文件有300KB,第二个文件 - 566 KB。 这是为什么发生?

    2热度

    1回答

    我读过下面的wiki,但仍然无法澄清一件事。 https://wiki.apache.org/hadoop/HadoopMapReduce 说,我有一个大的文件,该文件分为两个HDFS块和块物理保存到两台不同的机器。考虑在本地承载这两个块的群集中没有这样的节点。正如我理解的情况下TextInputFormat HDFS块的大小通常与分割大小相同。现在,由于有2个分割,2个地图实例将在2个独立的机器

    1热度

    1回答

    第一个问题:我想知道拆分是否以任何方式更改块(即更改大小,将块移到其他位置,创建新块,...)。 第二个问题:我认为拆分不会改变块,但它指定每个MapTask应该是存在于数据或机架的意识,因为的DataNodes已经在运行的局部性的集群上运行,并且具有块所以我认为的分裂将告诉Hadoop在包含数据的节点旁边运行MapTask。注意:在InputSplit中有我认为用于此目的的位置/主机。 请纠正我