小编Pra*_*ati的帖子

为什么我们需要在Hadoop程序中明确设置输出键/值类?

在"Hadoop:The Definitive Guide"一书中,有一个带有以下代码的示例程序.

JobConf conf = new JobConf(MaxTemperature.class);  
conf.setJobName("Max temperature");  
FileInputFormat.addInputPath(conf, new Path(args[0]));  
FileOutputFormat.setOutputPath(conf, new Path(args[1]));  
conf.setMapperClass(MaxTemperatureMapper.class);  
conf.setReducerClass(MaxTemperatureReducer.class);  
conf.setOutputKeyClass(Text.class);  
conf.setOutputValueClass(IntWritable.class);  
Run Code Online (Sandbox Code Playgroud)

MR框架应该能够从Mapper和在JobConf类上设置的Reduce函数中找出输出键和值类.为什么我们需要在JobConf类上显式设置输出键和值类?此外,输入键/值对没有类似的API.

hadoop class input

6
推荐指数
1
解决办法
3738
查看次数

为hadoop工具设置其他类路径

如何动态设置其他类路径,以便可以从hadoop工具类访问jar?我正在通过"hadoop jar"来完成我的工作.我需要类似"-libjars"开关的东西,不幸的是它只适用于映射器和缩减器,我的工具实现没有看到"libjars"提供的jar

导出"HADOOP_CLASSPATH = $ HADOOP_CLASSPATH:/path/to/my.jar && hadoop jar ..."似乎使工具可以访问"my.jar",但是"/ lib"文件夹中的作业jar内的库变得无法进入.

hadoop jar classpath

5
推荐指数
1
解决办法
7112
查看次数

文档与列式DB的方案

NoSQL数据库可以分类为KV,Document,Columnar和Graph.我一直试图弄清楚哪些NoSQL用于不同的场景,阅读几篇博客/文章,我仍然感到困惑.

让我们说我想存储员工的详细信息.它可以存储在像HBase这样的Columnar DB和像Mongo这样的Document DB中.那么,Columnar与Document的情况是什么?我想根据查询模式,必须选择适当的数据库.

database-design nosql document-database

5
推荐指数
2
解决办法
2356
查看次数

AWS EMR性能HDFS与S3

在大数据中,代码被推向数据以供执行.这是有道理的,因为数据很大并且执行代码相对较小.来到AWS EMR,数据可以是HDFS,也可以是S3.在S3的情况下,必须将数据拉到核心/任务节点以便从一些其他节点执行.与HDFS中的数据相比,这可能有点开销.

最近,我注意到当MR作业执行时,将日志文件导入S3的时间很长.有时,即使在作业完成后,日志文件也会花费几分钟时间显示.

有什么想法吗?是否有人使用HDFS与S3中的数据来完成MR作业完成的指标?

hadoop mapreduce amazon-s3 hdfs amazon-emr

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

Scala对Spark安装的依赖性

我刚开始使用Spark,所以for Hadoop 1 (HDP1, CDH3)这里下载二进制文件并在Ubuntu VM上提取它.在没有安装Scala的情况下,我能够从Spark交互式shell中执行快速入门指南中的示例.

  1. Spark包含Scala吗?如果是,库/二进制文件在哪里?
  2. 为了在其他模式(分布式)中运行Spark,我是否需要在所有节点上安装Scala?

作为旁注,我观察到Spark拥有围绕开源项目的最佳文档之一.

scala apache-spark

5
推荐指数
1
解决办法
5814
查看次数

为什么AWS NAT网关需要ElasticIP?

创建NAT网关时,会在AWS中创建一个弹性IP地址。AWS文档(1)也提到了相同的内容。为什么NA​​T网关需要弹性IP地址?

创建NAT网关

ip nat amazon-web-services

5
推荐指数
3
解决办法
1874
查看次数

为什么边界检查没有在某些语言中实现?

根据维基百科(http://en.wikipedia.org/wiki/Buffer_overflow)

通常与缓冲区溢出相关的编程语言包括C和C++,它们不提供内置保护以防止访问或覆盖内存的任何部分中的数据,也不会自动检查写入数组的数据(内置缓冲区类型)是否在该数组的边界.边界检查可以防止缓冲区溢出.

那么,为什么'Bounds Checking'没有在C和C++等语言中实现呢?

implementation programming-languages buffer-overflow

4
推荐指数
1
解决办法
5650
查看次数

为什么'git checkout'仅适用于某些分支机构?

这是两次结账的结果:为什么第二次结账失败?'git status'显示某些文件已被修改,但我确定我没有触及这些文件.

praveensripati@MyMini:~/Hadoop/Git/hadoop-common$ git checkout branch-0.21  
Switched to branch 'branch-0.21'  

praveensripati@MyMini:~/Hadoop/Git/hadoop-common$ git checkout branch-0.20  
error: The following untracked working tree files would be overwritten by checkout:  
    CHANGES.txt  
    LICENSE.txt  
    README.txt  
    bin/hadoop  
    bin/hadoop-daemon.sh  
    bin/hadoop-daemons.sh  
Please move or remove them before you can switch branches.  
Aborting

praveensripati@MyMini:~/Hadoop/Git/hadoop-common$ git status
# On branch trunk
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   CHANGES.txt
#   LICENSE.txt
#   README.txt
#   bin/
#   build.xml
#   conf/
#   lib/ …
Run Code Online (Sandbox Code Playgroud)

git git-checkout

4
推荐指数
1
解决办法
790
查看次数

库中的错误(功能):没有名为'functional'的包 - 使用rmr2运行MR时

我试图在单节点Hadoop集群中使用rmr2运行一个简单的MR程序.这是设置的环境

Ubuntu 12.04(32位)
R(Ubuntu附带2.14.1,因此更新到3.0.2)
这里安装了最新的rmr2和rhdfs 以及相应的依赖项
Hadoop 1.2.1

现在我正在尝试运行一个简单的MR程序

Sys.setenv(HADOOP_HOME="/home/training/Installations/hadoop-1.2.1")
Sys.setenv(HADOOP_CMD="/home/training/Installations/hadoop-1.2.1/bin/hadoop")

library(rmr2)  
library(rhdfs)

ints = to.dfs(1:100)  
calc = mapreduce(input = ints, map = function(k, v) cbind(v, 2*v))
from.dfs(calc)
Run Code Online (Sandbox Code Playgroud)

mapreduce作业失败,并在hadoop-1.2.1/logs/userlogs/job_201310091055_0001/attempt_201310091055_0001_m_000000_0/stderr中显示以下错误消息

Error in library(functional) : there is no package called ‘functional’  
Execution halted  
java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 1  
        at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:362)  
        at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:576)  
Run Code Online (Sandbox Code Playgroud)

但是,sessionInfo()显示功能包已加载

> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: i686-pc-linux-gnu (32-bit)

>locale:
 [1] LC_CTYPE=en_IN       LC_NUMERIC=C         LC_TIME=en_IN       
 [4] LC_COLLATE=en_IN     LC_MONETARY=en_IN    LC_MESSAGES=en_IN   
 [7] LC_PAPER=en_IN       LC_NAME=C …
Run Code Online (Sandbox Code Playgroud)

hadoop r mapreduce hadoop-streaming revolution-r

3
推荐指数
1
解决办法
5774
查看次数

在 AWS Route53 中创建托管区域

最近我开始关注 AWS Route53。

我可以为任何域创建托管区域。是什么阻止某人为不属于他们的域创建托管区域?这样应该可以重定向流量。

amazon-web-services amazon-route53

3
推荐指数
1
解决办法
951
查看次数