标签: mapreduce

28
推荐指数
3
解决办法
3万
查看次数

没有这样的方法异常Hadoop <init>

当我从命令提示符运行Hadoop .jar文件时,它会抛出一个异常,说没有这样的方法StockKey方法.

StockKey是我为自己的键类型定义的自定义类.

这是一个例外:

12/07/12 00:18:47 INFO mapred.JobClient: Task Id :   
attempt_201207082224_0007_m_000000_1, Status : FAILED

java.lang.RuntimeException: java.lang.NoSuchMethodException: SecondarySort$StockKey.      
<init>()
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:115)
    at org.apache.hadoop.io.WritableComparator.newKey(WritableComparator.java:109)
    at org.apache.hadoop.io.WritableComparator.<init>(WritableComparator.java:95)
    at org.apache.hadoop.io.WritableComparator.get(WritableComparator.java:51)
    at org.apache.hadoop.mapred.JobConf.getOutputKeyComparator(JobConf.java:795)
    at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.<init>(MapTask.java:817)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:383)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:325)
    at org.apache.hadoop.mapred.Child$4.run(Child.java:270)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at     
   org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1127)
    at org.apache.hadoop.mapred.Child.main(Child.java:264)
Run Code Online (Sandbox Code Playgroud)

java hadoop mapreduce

28
推荐指数
2
解决办法
2万
查看次数

hadoop中"超级模式"的目的是什么?

嗨,我是一个大数据新手.我搜索了整个互联网,找到了什么是超级模式.我搜索的越多,我就越困惑.有人可以回答我的问题来帮助我吗?

  • 优步模式有什么作用?
  • 它在mapred 1.x和2.x中的工作方式是否有所不同?
  • 我在哪里可以找到它的设置?

hadoop mapreduce

28
推荐指数
2
解决办法
2万
查看次数

Scala中的MapReduce实现

我想找出一个好的和强大的MapReduce框架,可以从Scala中使用.

frameworks scala google-analytics mapreduce

27
推荐指数
1
解决办法
2万
查看次数

在Hadoop中使用NullWritable的优点

什么是使用的优点,NullWritablenull使用过的键/值null文本(即new Text(null)).我从"Hadoop:The Definitive Guide"一书中看到以下内容.

NullWritable是一种特殊类型Writable,因为它具有零长度序列化.没有字节写入或读取流.它用作占位符; 例如,在MapReduce中,NullWritable当您不需要使用该位置时,可以将键或值声明为- 它有效地存储常量空值.SequenceFile当您想要存储值列表而不是键值对时,NullWritable也可以用作键.它是一个不可变的单例:可以通过调用来检索实例 NullWritable.get()

我不清楚如何使用输出写出输出NullWritable?在开始输出文件中是否有一个常量值表示该文件的键或值是null,因此MapReduce框架可以忽略读取null键/值(以哪个为准null)?另外,null文本是如何序列化的?

谢谢,

Venkat

java hadoop mapreduce

27
推荐指数
1
解决办法
2万
查看次数

大规模机器学习

我需要在一个大数据集(10-100亿条记录)上运行各种机器学习技术.问题主要是文本挖掘/信息提取,包括各种内核技术但不限于它们(我们使用一些贝叶斯方法,自举,渐变提升,回归树 - 许多不同的问题和解决方法)

什么是最好的实施?我在ML方面经验丰富,但是对于大型数据集没有多少经验.是否有任何可扩展和可定制的机器学习库利用MapReduce基础设施强烈偏好c ++,但Java和python是可以的亚马逊Azure或自己的数据中心(我们可以买得起)?

c++ java mapreduce machine-learning text-mining

26
推荐指数
2
解决办法
2908
查看次数

MapReduce还是Spark?

我用cloudera测试了hadoop和mapreduce,我发现它非常酷,我认为我是最新的相关BigData解决方案.但是几天前,我发现了这个:https: //spark.incubator.apache.org/

一个"闪电快速集群计算系统",能够在Hadoop集群的顶部工作,并且显然能够破坏mapreduce.我看到它在RAM中比mapreduce更有效.我认为当你必须进行集群计算来克服单个机器上的I/O问题时,mapreduce仍然是相关的.但是,由于Spark可以完成mapreduce所做的工作,并且可能在几个操作上更有效率,它不是MapReduce的结束吗?或者MapReduce可以做些什么,或者MapReduce在特定环境中比Spark更有效?

hadoop mapreduce bigdata apache-spark

26
推荐指数
2
解决办法
2万
查看次数

检查数组中的每个元素是否与条件匹配

我有一组文件:

date: Date
users: [
  { user: 1, group: 1 }
  { user: 5, group: 2 }
]

date: Date
users: [
  { user: 1, group: 1 }
  { user: 3, group: 2 }
]
Run Code Online (Sandbox Code Playgroud)

我想查询这个集合,找到我的用户数组中每个用户id在另一个数组中的所有文档,[1,5,7].在此示例中,只有第一个文档匹配.

我能找到的最佳解决方案是:

$where: function() { 
  var ids = [1, 5, 7];
  return this.users.every(function(u) { 
    return ids.indexOf(u.user) !== -1;
  });
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这似乎伤害了性能在$ where docs中说明:

$ where评估JavaScript并且无法利用索引.

如何改进此查询?

mapreduce mongodb mongodb-query aggregation-framework

26
推荐指数
2
解决办法
2万
查看次数

OLAP可以在BigTable中完成吗?

在过去,我曾经使用在MySQL上运行的OLAP多维数据集构建WebAnalytics.现在我使用OLAP多维数据集的方式只是一个大表(好吧,它比那更智能地存储),其中每一行基本上是一个测量或聚合的测量集.每个度量都有一堆维度(即哪个页面名称,用户名,ip等)和一堆值(即多少个综合浏览量,多少访问者等).

您在这样的表上运行的查询通常采用以下形式(meta-SQL):

SELECT SUM(hits), SUM(bytes),
FROM MyCube
WHERE date='20090914' and pagename='Homepage' and browser!='googlebot'
GROUP BY hour
Run Code Online (Sandbox Code Playgroud)

因此,您可以使用上述过滤器获取所选日期中每小时的总计.一个障碍是这些立方体通常意味着全表扫描(各种原因),这意味着你可以制作这些东西的尺寸(在MiB中)的实际限制.

我正在学习Hadoop等的来龙去脉.

在BigTable上运行上述查询作为mapreduce看起来很容易:只需将'小时'作为键,在地图中过滤并通过对值进行求和来减少.

您是否可以在"实时"(即通过用户界面和用户得到他们的答案,而不是批处理模式)上运行BigTable类型的系统上面(或至少具有相同输出)的查询?

如果不; 在BigTable/Hadoop/HBase/Hive等领域做这样的事情的适当技术是什么?

olap hadoop hbase hive mapreduce

25
推荐指数
1
解决办法
7767
查看次数

使用map/reduce映射集合中的属性

更新:MongoDB的后续操作获取集合中所有键的名称.

正如Kristina所指出的,可以使用Mongodb的map/reduce来列出集合中的键:

db.things.insert( { type : ['dog', 'cat'] } );
db.things.insert( { egg : ['cat'] } );
db.things.insert( { type :  [] }); 
db.things.insert( { hello : []  } );

mr = db.runCommand({"mapreduce" : "things",
"map" : function() {
    for (var key in this) { emit(key, null); }
},  
"reduce" : function(key, stuff) { 
   return null;
}}) 

db[mr.result].distinct("_id")

//output: [ "_id", "egg", "hello", "type" ]
Run Code Online (Sandbox Code Playgroud)

只要我们想要只获得位于第一级深度的键,这就可以了.但是,它将无法检索位于更深层次的密钥.如果我们添加一条新记录:

db.things.insert({foo: {bar: {baaar: true}}})
Run Code Online (Sandbox Code Playgroud)

我们再次运行上面的map-reduce + distinct片段,我们将得到:

[ …
Run Code Online (Sandbox Code Playgroud)

mapreduce mongodb

25
推荐指数
2
解决办法
1万
查看次数