我最近在3节点MapR集群上安装了Impala。当我运行一个简单的查询时。性能不如Impala+HDFS。这是查询:SELECT*FROMft_test,ft_waferWHEREft_test_parquet.id=ft_wafer_parquet.idandmonth=1andday=8andparam=2913;大约用了3秒。但是当使用相同的查询但使用HDFS时。30Gb的表大小需要不到1秒的时间。这是查询配置文件:QueryRuntimeProfile:Query(id=dc4c084615fbf9bb:4261466f00000000):Summary:SessionID:5
我已经安装了mapr-client,mapr-httpfs并且我已经运行了下面的命令:./configure.sh-Nmy.cluster.com-c-secure-C192.168.145.121:7222-HS192.168.145.122结果是:create/opt/mapr/conf/conf.oldConfiguringHadoop-2.7.0at/opt/mapr/hadoop/hadoop-2.7.0DoneconfiguringHadoopCLDBnodelist:192.168.145.121:7222Zookeepernodelist: ExternalZookee
有一个Java和CLI接口(interface)可以查询YarnRM的节点到节点标签(和反向)映射。有没有办法通过REST-API来做到这一点?最初的RM-API搜索显示只有基于节点标签的作业提交是一个选项。遗憾的是,这实际上在MapR-Hadoop(截至6/6/19的6.1)中被破坏了,所以我的代码必须通过实现正确的调度本身来解决这个问题。这可以使用YarnClientJavaAPI(几乎没有-这里还有更多损坏的API)。但由于我想同时针对不同的资源管理器安排作业,在防火墙后面,REST-API是实现此目的最引人注目的选择,而YarnClientAPI的RPC后端不容易传输。我目前最
我试过在查询前加上:setmapred.running.reduce.limit=25;和sethive.exec.reducers.max=35;最后一个将530个reducer的工作减少到35...这让我觉得它会尝试将530个reducer的工作值(value)降低到35个。现在给setmapred.tasktracker.reduce.tasks.maximum=3;尝试查看该数字是否是每个节点的某种最大值(之前在具有70个潜在reducer的集群上为7)。更新:setmapred.tasktracker.reduce.tasks.maximum=3;没有效果,但值得一试。
是否正在进行将Hadoop管道从mapred移植到mapreduce包的工作?谢谢,梅格 最佳答案 JIRA问题MAPREDUCE-1362解决了将管道升级到新的mapreduceAPI的问题,但是,它自2010年1月以来就没有更新过。与此同时,我继续使用旧的mapredAPI来开发C++映射器和缩减器。 关于Hadoop管道和新的mapred包,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que
有没有办法使用来自Ruby的Hadoop的MapR分发将文件保存在HDFS中?显然,有一个名为thriftfs的ThriftAPI可以从客户端与HDFS通信,但看起来它没有与MapR捆绑在一起。 最佳答案 我也在http://answers.mapr.com/questions/1525/how-to-run-thriftfs-from-mapr?page=1#1528回答了这个问题基本思想是像Ruby这样的语言不需要语言特定的绑定(bind)来访问MapR集群的文件系统。相反,您需要做的就是将集群挂载为NFS文件系统,您可以进行任
我最近在学习Hadoop,我很好奇为什么org.apache.hadoop.mapred中的大部分类都被弃用了。这很烦人,因为Hadoop0.20之前和之后的MapReduce中使用的包名和类名非常相似,这使得学习Hadoop变得更加困难。但是,我认为贡献者做出这样的决定一定有一些充分的理由。有谁知Prop体原因吗? 最佳答案 检查this和this有关开发新API及其信息背后的合理性的博客。请注意,旧API未得到认可,并且某些类尚未从旧API移植到新API。除非有特定要求,否则可以使用旧API。
我有一个1.5GB的文件,其中包含一个序列化的HashMap。我在Mapper类中有一个setup()方法,我正在将其读入HashMap变量。看起来它可以转到读取方法,但立即为任务抛出java堆空间错误。我阅读了许多关于我们可能需要设置mapred.child.opts参数的讨论,我正在主程序代码中这样做。我正在使用:conf.set("mapred.child.java.opts.","-Xmx1024M");我什至尝试增加数量。为什么它在尝试将序列化文件读入HashMap变量时仍然不断抛出相同的错误?这是我的setup()方法中的代码:try{test="hello";Pathpt
我刚刚将我的Ubuntu13.10配置为在伪分布式模式下工作以进行mapreduce代码开发。我已经安装了hadoop0.20.2版本的hadoop。一切都运行良好,我也可以启动所有五个守护进程。在同一台机器上,我下载了eclipse并将所有基于hadoop的库添加到其中。我也可以直接从EclipseIDE运行我的map减少字数示例。唯一困扰我的是,当我运行字数统计示例时,它会在控制台中打印如下内容:13/09/2316:11:05WARNutil.NativeCodeLoader:Unabletoloadnative-hadooplibraryforyourplatform...us
如果我配置了几个${mapred.local.dir}目录来存储MapTask的即时结果,这些目录挂载在不同的磁盘上。我的问题是:1.LocalDirAllocator.java是否用于管理${mapred.local.dir}目录?2.LocalDirAllocator.java的方法getLocalPathForWrite()是用来选择一个${mapred.local.dir}目录的? 最佳答案 1.WhetherLocalDirAllocator.javaisusedtomanage${mapred.local.dir}dir