草庐IT

mapReduce

全部标签

java - 使用 mapreduce 的第二大薪水 - 输出不符合预期

我编写了一个小型mapreduce作业来查找数据集中第二高的薪水。我相信第二高的薪水逻辑是正确的。但是我得到的多个输出是不正确的,应该只有一个带有名称的输出,例如John,9000。而且输出也不正确,我在这里给出数据集和代码hh,0,Jeet,3000hk,1,Mayukh,4000nn,2,Antara,3500mm,3,Shubu,6000ii,4,Parsi,8000输出应该是Shubu,6000,但是我得到的是下面的输出Antara-2147483648Mayukh-2147483648Parsi3500Shubu4000我使用的代码是publicclassSecondHige

hadoop - Hive - Hive 如何在内部执行多个 BIG 表连接查询(在 MapReduce 中)以及如何对其进行优化?

假设我有4-5个所有大表(TB中的数据)并且我想将它们连接到配置单元中。Hive内部(在MapReduce中)如何以最佳方式执行连接。 最佳答案 可以使用Bucketized-Join或Sort-Merge-Join以最佳方式连接许多大表,请参阅HIVEJoinstrategies.所有表都需要进行相应的结构化(相同的存储桶,或以相同的方式排序和存储)。如果您的表的组织方式不同(存储相同),那么剩下的唯一选择就是随机连接,这将复制整个表(慢)。 关于hadoop-Hive-Hive如何在

hadoop - 有向图中的 MapReduce 长度为 3 条路径

我正在尝试解决一个练习,但我仍然没有找到解决方案。设计一个MapReduce算法,将一个表示为弧列表的有向图作为输入,列出所有节点对(x,y),使得存在三个弧(x,a)、(a,b)和(经过)。reducer接收到的值列表的长度永远不应超过图中节点的数量。请提供伪代码。这么久我通过以下方式找到了长度为2的路径:map(k,v):write(k,(v,"out"))write(v,(k,"in"))reduce(k,list(v))://writeallpairsofnodessuchthatonehasanarcexitingandtheotherhasanarcentering但是从这

hadoop - Hive 查询以根据多个可选键分配分组键

我们有一个包含三个不同ID的Hive表,所有ID都是可选的。在每一行中,必须至少提供三个ID中的一个。如果提供了多个ID,这将在多个ID之间建立等价关系。我们需要根据在任何行中建立的等价关系,为每一行分配一个唯一的主ID。例如:Lineid1id2id3masterID--------------------------------------(1)A1M1(2)A2M1(3)A3M1(4)A1A2M1(5)A2A3M1(6)B1A2M1(7)C1C3M2因为在第4行,A1和A2都存在,我们知道这些ID是等价的。同样,在第5行,A2和A3都存在,我们知道这些ID也是等价的。同样在第6行

apache - Hadoop生态系统部署步骤

我正在尝试在一个集群中设置来自ApacheHadoop堆栈的所有项目。设置apachehadoop生态系统框架的顺序是什么?例如:Hadoop、HBase、...而且,如果您使用一些特定的步骤进行测试,您可以判断在部署过程中会遇到什么样的问题。部署的主要框架(Hadoop、HBase、Pig、Hive、HCatalog、Mahout、Giraph、ZooKeeper、Oozie、avro、sqoop、mrunit、crunch,如有遗漏请补充) 最佳答案 有不同的顺序,因为并非所有列出的产品都是相关的。简而言之:1.Hadoop(H

hadoop - 如何强制hadoop处理每个 map 的更多数据

我的工作进展非常缓慢,因为我认为hadoop为数据大小创建了太多maptask。我在一些网站上读到,用更少的map处理更大的数据block是有效的——有什么办法可以强制这样做吗?谢谢 最佳答案 两种可能性:增加90gb数据的block大小,将其设置为128m或更大将使您的maptask“工作更多”使用CombineFileInputFormat并将您的block组合到您认为合适的大小。第一个解决方案需要您重写数据以更改block大小,第二个解决方案可以嵌入到您的作业中。 关于hadoop

hadoop - 数据版本控制(Hadoop、HDFS、Hbase 后端)

我想知道如何在Hadoop/HDFS/Hbase中对数据进行版本控制。它应该是您模型的一部分,因为很可能会发生变化(大数据是长时间收集的)。HDFS(基于文件的后端)的主要示例。sample-log-file.log:timestampx1y1z1...timestampx2y2z2...我现在想知道在哪里添加版本控制信息。我看到2个备选方案:文件格式内的版本日志文件.log:timestampV1x1y1z1...timestampV2w1x2y2z1...文件名中的版本*log-file_V1.log*timestampx1y1z1...*日志文件_V2.log*timestamp

工作流中中间作业的 Hadoop SequenceFile 输入/输出

我有一个多阶段/作业mapreduce程序。我的第一个输入必须是TextInputFormat,最后一个输出必须是TextOutputFormat。我想要实现的是在第一个作业中将格式从Text转换为SequenceFile。因此:TextInputFormatJob1.execute()SequenceFileOutputFormatSequenceFileInputFormatJob2.execute()SequenceFileOutputFormat...SequenceFileInputFormatJobLast.execute()TextOutputFormat在所有示例中,我

hadoop - Hadoop MapReduce 中的数据连接

我正在尝试实现BookHadoopInAction中给出的一个用例,但我不会编译代码。我是Java的新手,所以无法理解错误背后的确切原因。有趣的是,另一段使用相同类和方法的代码编译成功。hadoop@hadoopnode1:~/hadoop-0.20.2/playground/src$javac-classpath/home/hadoop/hadoop-0.20.2/hadoop-0.20.2-core.jar:/home/hadoop/hadoop-0.20.2/lib/commons-cli-1.2.jar:/home/hadoop/hadoop-0.20.2/contrib/da

Pig 中的 Python UDF

我看过文档here,但我承认我觉得它相当缺乏。我想知道是否有人可以给我收集有关将PythonUDF合并到Pig中的示例。特别是在Pig0.10之前,不存在bool类型,但是FILTER操作需要将结果解析为bool值。如果我没有最新版本?是否无法从Python访问Algebraic、Accumulator和Filter接口(interface)?我也不能访问分布式缓存吗?Store/Load函数呢? 最佳答案 PythonUDF非常有限。您不能使用Algebraic或Accumulator接口(interface),也不能用Pytho