草庐IT

hadoop-examples

全部标签

java - Hadoop2.2 的 Mahout 错误

我正在尝试在Hadoop2.2上使用mahout0.9库执行XML解析的mapreduce作业。但我收到以下错误:14/02/2416:03:02INFOmapreduce.Job:TaskId:attempt_1393235568433_0004_m_000000_0,Status:FAILEDError:Foundinterfaceorg.apache.hadoop.mapreduce.TaskAttemptContext,butclasswasexpected14/02/2416:03:12INFOmapreduce.Job:TaskId:attempt_139323556843

hadoop - 如何将多个表的结果写入配置单元中的单个表?

我想通过从多个表中选择列来将结果写入单个表。我想在hive中实现类似下面的目标。SELECTTable0.num,Table1.field1,Table2.field2,Table3.field3,Table4.field4FROMTable0FULLOUTERJOINTable1ONTable0.num=Table1.numFULLOUTERJOINTable2ONTable0.num=Table2.numFULLOUTERJOINTable3ONTable0.num=Table3.numFULLOUTERJOINTable4ONTable0.num=Table4.num请建议我应该

hadoop - 解释 "There can be many keys (and their associated values) in each partition, but the records for any given key are all in a single partition"

“每个分区中可以有许多键(及其相关值),但任何给定键的记录都在一个分区中。”这是一本著名的hadoop教科书的一行。我没有理解它的第二部分的全部含义,即“但是任何给定键的记录都在一个分区中。”这是否意味着单个键的所有记录都应该在单个分区或其他地方。 最佳答案 buttherecordsforanygivenkeyareallinasinglepartition如果您有一个键,则该键及其相关联的值必须位于单个分区上。有时该值可能相当大。但这是对值大小的限制。它必须足够小以适合单个分区。请注意,键和值上可能还有其他常量,具体取决于您用于

hadoop - 1个Tasktracker能否运行多个JVM

1个Tasktracker可以运行多个JVM吗?场景如下:假设有2个文件(A和B)和2个数据节点(D1和D2)。当您加载A时,假设它在D1和D2上拆分为A1和A2当您加载B时,假设它在D1和D2上拆分为B1和B2。出于某种原因让我们假设D1正忙于其他一些任务并且D2可用并且有几个作业已提交,一个使用文件A,另一个使用文件B。现在D2可用并且具有blockA2和B2。JobTracker会在D2上提交代码给TaskTracker,同时运行A2和B2的任务还是它会先运行A2并在完成后运行B2吗?如果是这样,是否有可能并行运行这两个任务,这意味着1个TaskTracker和2个jvm,或者它

hadoop - 通过 map reduce 中的 map 函数的文件

是否可以通过每个map函数以某种方式传递一组文件。要求是针对不同的2个操作并行处理每个文件。我是mapreduce的新手,我使用JAVA作为我的编程语言。 最佳答案 如果你想获得相同的文件作为所有映射器的输入,只读访问,是的。您可以将文件从主(驱动程序)类添加到所谓的分布式缓存中。可以找到更多详细信息here. 关于hadoop-通过mapreduce中的map函数的文件,我们在StackOverflow上找到一个类似的问题: https://stackove

join - Hadoop 加入字符串键

我正在实现减少端连接以查找数据库A和B之间的匹配项。数据集中的两个文件每行都包含一个json对象。连接键是每个记录的名称属性,因此,映射器提取json的名称并将其作为键传递,将json本身作为值传递。reducer必须合并相同或相似人名的jsons对象。问题是我需要使用字符串相似性匹配算法对键进行分组,例如,必须将JohnWhite视为等于JohnWhiteLennon。我尝试使用分组比较器来做到这一点,但它没有按预期工作。如何实现?提前致谢! 最佳答案 您在此处请求的内容可以描述为集合相似性连接,集合所在的位置,例如每行的标记集或

hadoop - 映射后的多个(独立)reduce 函数

我的map函数为相同的数据发出两种不同的键值对。当然,我需要2个独立的reduce函数来处理这个问题。可能吗?比如,我可以在map的末尾有多个output.collect()语句,并附加一个指定reducer的参数吗?我试着查找它,但找不到任何东西。 最佳答案 您应该考虑使用MultipleOutputs类(class)。它有漂亮且不言自明的文档。 关于hadoop-映射后的多个(独立)reduce函数,我们在StackOverflow上找到一个类似的问题:

java - REST API 与 Hadoop 冲突

这是我遇到的错误。com.sun.jersey.api.container.ContainerException:Arootresource,classorg.apache.hadoop.hdfs.server.datanode.web.resources.DatanodeWebHdfsMethods,hasanon-uniqueURItemplate/我正在使用Hadoop和RESTAPI。这就是我在web.xml中初始化RESTAPI的方式ServletAdaptorcom.sun.jersey.server.impl.container.servlet.ServletAdapto

Hadoop集群启动后命令JPS没有DataNode或者NameNode

问题原因1)需要检查core-site.xml和hdfs-site.xml这俩文件,配置没错的话再看第二条2)可能已经执行格式化NameNode后,但是格式之前并没有停止之前的进程并删除相关数据。解决方案(记得你的集群删除前需要停止,每个副本都要进行一次下面操作)1)删除dfs文件夹里的文件和删除nm-local-dir目录    a:删除掉nm-local-dir目录cd/opt/module/hadoop-3.1.3/datarm-rfnm-local-dir    b:进入/opt/module/hadoop-3.1.3/data/dfs目录里面删除掉所有文件cd/opt/module/

sql - hadoop操作只写一行?

我正在尝试处理tweets-clean.txt。通过处理,我的意思是获取每个用户标识的较早日期、最新日期和记录数,以及每行中的用户标识本身。我只得到一行,该行中只有最小和最大日期。我做错了什么?CREATETABLEtemptweets16(datestring,useridstring);LOADDATALOCALINPATH'tweets-clean.txt'INTOTABLEtemptweets16;INSERTOVERWRITELOCALDIRECTORY'./hive-output'SELECTuseridasuserid,MIN(FROM_UNIXTIME(UNIX_TIM