草庐IT

external-sorting

全部标签

sorting - hadoop streaming 是否在 map 和 reduce 阶段之间使用稳定的排序?

这对多阶段作业有影响。例如,如果我们在作业的第1阶段按键“a”排序,在作业的第2阶段按键“b”排序(将第1阶段的输出作为标准输入),我们是否可以假设当两个阶段完成时记录是按键“b”排序,然后按键“a”排序?出于这个问题的目的,假设映射器和缩减器不排列记录顺序。还假设reduce任务的数量为1个或更多。请记住,答案可能会因阶段1的reduce任务数量而异。例如,如果阶段1的reduce任务数量大于1,则keya将被拆分到多个文件中(尽管在相对于每个文件的排序顺序)。然而,当只有一个reduce任务时,所有值都将出现在同一个文件中,这可能是稳定性的必要条件,具体取决于实现。如果答案是肯定的

configuration - Hadoop 配置 - 映射器/组合器是否受 io.sort.factor 和 io.sort.mb 影响?

如果我修改io.sort.factor和io.sort.mb,在map端发生的本地排序是否使用这些变量,或者它们是否仅由在reducer端完成的排序使用? 最佳答案 是的,它们也用在map端(不管你有没有组合器):MapTask.javaio.sort.factor-第1695行io.sort.mb-第932-944行 关于configuration-Hadoop配置-映射器/组合器是否受io.sort.factor和io.sort.mb影响?,我们在StackOverflow上找到一个

hadoop - 配置单元设置 hive.optimize.sort.dynamic.partition

我正在尝试插入具有动态分区的配置单元表。同一查询在过去几天一直运行良好,但现在出现以下错误。DiagnosticMessagesforthisTask:java.lang.RuntimeException:org.apache.hadoop.hive.ql.metadata.HiveException:HiveRuntimeError:Unabletodeserializereduceinputkeyfromx1x128x0x0x46x234x240x192x148x1x68x69x86x50x0x1x128x0x104x118x1x128x0x0x46x234x240x192x148

hadoop - 在windows : 'hive' is not recognized as an internal or external command,可运行程序或批处理文件上安装Hive

我已经在Windows上安装了Hadoop2.7.3,并且可以启动集群。现在我想要配置单元并完成以下步骤:1.下载db-derby-10.12.1.1-bin.zip,解压并启动startNetworkServer-h0.0.0.0.2.从镜像站点下载apache-hive-1.1.1-bin.tar.gz并解压。创建的hive-site.xml具有以下属性:javax.jdo.option.ConnectionURLjavax.jdo.option.ConnectionDriverNamehive.server2.enable.impersonationhive.server2.au

sorting - 在具有零化简节点的 Mapreduce 中实现简单排序程序时出错

我尝试在mapreduce中实现一个排序程序,以便在map阶段之后我只有排序后的输出,其中排序由hadoop框架在内部完成。为此,我尝试将reducetask的数量设置为零,因为不需要任何减少。现在,当我尝试执行该程序时,我一直在获取校验和错误..我不知道接下来要做什么。当然可以在我的上网本上运行该程序,因为当我将reduce任务设置为一个时,排序工作正常。请帮忙!!以下是我为执行排序而编写的完整代码,供您引用:/**Tochangethistemplate,chooseTools|Templates*andopenthetemplateintheeditor.*//****@auth

sorting - 在向 Hadoop 中的 reducer 发送数据时如何实现负载平衡

我们知道,在hadoop的复制阶段,每个reduceworker进程从所有mapper节点读取数据并对已经排序的数据执行合并(在mapper端的内存排序期间排序)和研究他们的key份额和他们的值(value)。现在,我们也知道,所有对应于一个特定的数据只会去到一个reducer。我的问题是:数据拆分如何传输到reducer,即分区大小是如何决定的,以及它是由什么过程决定的,因为数据是使用拉机制而不是推机制传输的。一个有趣的挑战是确定数据的总体大小,因为数据驻留在多个节点上(我猜作业跟踪器/主进程可能知道所有节点的数据大小和位置,但我也不确定)。如果数据高度倾斜并且其中大部分属于有10个

sorting - 排序(Order by)在Hive中是如何实现的?

我们知道hive在排序作业开始之前不做采样,它只是利用MapReduce的排序机制,在reduce端进行merge-sort,只使用一个reduce,因为reduce收集mapper输出的所有数据在这种情况下,假设一台运行reduce的机器只有100GB的磁盘,如果数据太大而无法放入磁盘怎么办? 最佳答案 Hive的并行排序机制还在开发中,见here.设计良好的数据仓库或数据库应用程序将避免这种全局排序。如果需要,请尝试使用Pig或Terasort(http://hadoop.apache.org/common/docs/curre

sorting - Hadoop 流排序

任何人都可以帮助解决这个hadoop流式排序问题吗?感谢您提前提出任何建议。我是Hadoop新手,需要对500GB制表符分隔的文本文件实现排序功能。下面是一个示例输入,一行中有3个字段,如READA14chr1450989。这里我需要按第2列和第3列进行数字排序,除非我将reducers的数量设置为1,否则我永远不会得到正确的排序结果。示例输入:READA14chr1450989READB18chr18517043READC22chr2288345READD10chr10994183READE19chr19232453READF20chr2042912READF9chr9767396R

Spring Boot : Is it possible to use external application. 带有胖 jar 的任意目录中的属性文件?

是否可以有多个application.properties文件?(编辑:请注意,此问题已演变为标题中的问题。)我尝试了2个文件。第一个位于应用程序Jar的根文件夹中。第二个在类路径中指定的目录。2个文件都被命名为“application.properties”。是否可以“合并”两个文件的内容?(并且第二个的属性值覆盖第一个)或者,如果我有一个文件,那么另一个文件会被忽略?更新1:可以“合并”内容。昨天好像第一个被忽略了,但似乎是因为当时有什么东西坏了。现在效果很好。更新2:又回来了!同样,仅应用了两个文件中的一个。这很奇怪......它是在我使用SpringToolSuite构建应用程

Spring Boot : Is it possible to use external application. 带有胖 jar 的任意目录中的属性文件?

是否可以有多个application.properties文件?(编辑:请注意,此问题已演变为标题中的问题。)我尝试了2个文件。第一个位于应用程序Jar的根文件夹中。第二个在类路径中指定的目录。2个文件都被命名为“application.properties”。是否可以“合并”两个文件的内容?(并且第二个的属性值覆盖第一个)或者,如果我有一个文件,那么另一个文件会被忽略?更新1:可以“合并”内容。昨天好像第一个被忽略了,但似乎是因为当时有什么东西坏了。现在效果很好。更新2:又回来了!同样,仅应用了两个文件中的一个。这很奇怪......它是在我使用SpringToolSuite构建应用程