- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个工作的mapreduce程序。第二份工作的关键和值(value)来自第一份工作的输出。但我认为第二张 map 无法获得第一份工作的结果。换句话说,我认为我的第二份工作没有阅读第一份工作的输出。我该怎么办?
这是代码:
public class dewpoint extends Configured implements Tool
{
private static final Logger logger = LoggerFactory.getLogger(dewpoint.class);
static final String KEYSPACE = "weather";
static final String COLUMN_FAMILY = "user";
private static final String OUTPUT_PATH1 = "/tmp/intermediate1";
private static final String OUTPUT_PATH2 = "/tmp/intermediate2";
private static final String OUTPUT_PATH3 = "/tmp/intermediate3";
private static final String INPUT_PATH1 = "/tmp/intermediate1";
public static void main(String[] args) throws Exception
{
ToolRunner.run(new Configuration(), new dewpoint(), args);
System.exit(0);
}
///////////////////////////////////////////////////////////
public static class dpmap1 extends Mapper<Map<String, ByteBuffer>, Map<FloatWritable, ByteBuffer>, Text, DoubleWritable>
{
DoubleWritable val1 = new DoubleWritable();
Text word = new Text();
String date;
float temp;
public void map(Map<String, ByteBuffer> keys, Map<FloatWritable, ByteBuffer> columns, Context context) throws IOException, InterruptedException
{
for (Entry<String, ByteBuffer> key : keys.entrySet())
{
//System.out.println(key.getKey());
if (!"date".equals(key.getKey()))
continue;
date = ByteBufferUtil.string(key.getValue());
word.set(date);
}
for (Entry<FloatWritable, ByteBuffer> column : columns.entrySet())
{
if (!"temprature".equals(column.getKey()))
continue;
temp = ByteBufferUtil.toFloat(column.getValue());
val1.set(temp);
//System.out.println(temp);
}
context.write(word, val1);
}
}
///////////////////////////////////////////////////////////
public static class dpred1 extends Reducer<Text, DoubleWritable, Text, DoubleWritable>
{
public void reduce(Text key, Iterable<DoubleWritable> values, Context context) throws IOException, InterruptedException
{
double beta = 17.62;
double landa = 243.12;
DoubleWritable result1 = new DoubleWritable();
DoubleWritable result2 = new DoubleWritable();
for (DoubleWritable val : values){
// System.out.println(val.get());
beta *= val.get();
landa+=val.get();
}
result1.set(beta);
result2.set(landa);
context.write(key, result1);
context.write(key, result2);
}
}
///////////////////////////////////////////////////////////
public static class dpmap2 extends Mapper <Text, DoubleWritable, Text, DoubleWritable>{
Text key2 = new Text();
double temp1, temp2 =0;
public void map(Text key, Iterable<DoubleWritable> values, Context context) throws IOException, InterruptedException {
String[] sp = values.toString().split("\t");
for (int i=0; i< sp.length; i+=4)
//key2.set(sp[i]);
System.out.println(sp[i]);
for(int j=1;j< sp.length; j+=4)
temp1 = Double.valueOf(sp[j]);
for (int k=3;k< sp.length; k+=4)
temp2 = Double.valueOf(sp[k]);
context.write(key2, new DoubleWritable(temp2/temp1));
}
}
///////////////////////////////////////////////////////////
public static class dpred2 extends Reducer<Text, DoubleWritable, Text, DoubleWritable>
{
public void reduce(Text key, Iterable<DoubleWritable> values, Context context) throws IOException, InterruptedException
{
double alpha = 6.112;
double tmp = 0;
DoubleWritable result3 = new DoubleWritable();
for (DoubleWritable val : values){
System.out.println(val.get());
tmp = alpha*(Math.pow(Math.E, val.get()));
}
result3.set(tmp);
context.write(key, result3);
}
}
///////////////////////////////////////////////////////////
public int run(String[] args) throws Exception
{
Job job1 = new Job(getConf(), "DewPoint");
job1.setJarByClass(dewpoint.class);
job1.setMapperClass(dpmap1.class);
job1.setOutputFormatClass(SequenceFileOutputFormat.class);
job1.setCombinerClass(dpred1.class);
job1.setReducerClass(dpred1.class);
job1.setMapOutputKeyClass(Text.class);
job1.setMapOutputValueClass(DoubleWritable.class);
job1.setOutputKeyClass(Text.class);
job1.setOutputValueClass(DoubleWritable.class);
FileOutputFormat.setOutputPath(job1, new Path(OUTPUT_PATH1));
job1.setInputFormatClass(CqlPagingInputFormat.class);
ConfigHelper.setInputRpcPort(job1.getConfiguration(), "9160");
ConfigHelper.setInputInitialAddress(job1.getConfiguration(), "localhost");
ConfigHelper.setInputColumnFamily(job1.getConfiguration(), KEYSPACE, COLUMN_FAMILY);
ConfigHelper.setInputPartitioner(job1.getConfiguration(), "Murmur3Partitioner");
CqlConfigHelper.setInputCQLPageRowSize(job1.getConfiguration(), "3");
job1.waitForCompletion(true);
/***************************************/
if (job1.isSuccessful()){
Job job2 = new Job(getConf(), "DewPoint");
job2.setJarByClass(dewpoint.class);
job2.setMapperClass(dpmap2.class);
job2.setCombinerClass(dpred2.class);
job2.setReducerClass(dpred2.class);
job2.setMapOutputKeyClass(Text.class);
job2.setMapOutputValueClass(DoubleWritable.class);
job2.setOutputKeyClass(Text.class);
job2.setOutputValueClass(DoubleWritable.class);
job2.setOutputFormatClass(TextOutputFormat.class);
job2.setInputFormatClass(SequenceFileInputFormat.class);
FileInputFormat.addInputPath(job2, new Path(OUTPUT_PATH1));
FileOutputFormat.setOutputPath(job2, new Path(OUTPUT_PATH2));
job2.waitForCompletion(true);
}
///////////////////////////////////////////////////
return 0;
}
}
13/10/25 11:33:37 INFO util.NativeCodeLoader: Loaded the native-hadoop library
13/10/25 11:33:37 WARN mapred.JobClient: No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String).
13/10/25 11:33:40 INFO mapred.JobClient: Running job: job_local1294015510_0001
13/10/25 11:33:41 INFO mapred.LocalJobRunner: Waiting for map tasks
13/10/25 11:33:41 INFO mapred.LocalJobRunner: Starting task: attempt_local1294015510_0001_m_000000_0
13/10/25 11:33:41 INFO util.ProcessTree: setsid exited with exit code 0
13/10/25 11:33:41 INFO mapred.Task: Using ResourceCalculatorPlugin : org.apache.hadoop.util.LinuxResourceCalculatorPlugin@190a0d6
13/10/25 11:33:41 INFO mapred.MapTask: Processing split: ColumnFamilySplit((-9223372036854775808, '1684704676388456087] @[localhost])
13/10/25 11:33:41 INFO mapred.MapTask: io.sort.mb = 100
13/10/25 11:33:41 INFO mapred.JobClient: map 0% reduce 0%
13/10/25 11:33:43 INFO mapred.MapTask: data buffer = 79691776/99614720
13/10/25 11:33:43 INFO mapred.MapTask: record buffer = 262144/327680
13/10/25 11:33:44 INFO mapred.MapTask: Starting flush of map output
13/10/25 11:33:44 INFO mapred.MapTask: Finished spill 0
13/10/25 11:33:44 INFO mapred.Task: Task:attempt_local1294015510_0001_m_000000_0 is done. And is in the process of commiting
13/10/25 11:33:44 INFO mapred.LocalJobRunner:
13/10/25 11:33:44 INFO mapred.Task: Task 'attempt_local1294015510_0001_m_000000_0' done.
13/10/25 11:33:44 INFO mapred.LocalJobRunner: Finishing task: attempt_local1294015510_0001_m_000000_0
13/10/25 11:33:44 INFO mapred.LocalJobRunner: Starting task: attempt_local1294015510_0001_m_000001_0
13/10/25 11:33:44 INFO mapred.Task: Using ResourceCalculatorPlugin : org.apache.hadoop.util.LinuxResourceCalculatorPlugin@9aba32
13/10/25 11:33:44 INFO mapred.MapTask: Processing split: ColumnFamilySplit((1684704676388456087, '-9223372036854775808] @[localhost])
13/10/25 11:33:44 INFO mapred.MapTask: io.sort.mb = 100
13/10/25 11:33:47 INFO mapred.JobClient: map 50% reduce 0%
13/10/25 11:33:47 INFO mapred.MapTask: data buffer = 79691776/99614720
13/10/25 11:33:47 INFO mapred.MapTask: record buffer = 262144/327680
13/10/25 11:33:47 INFO mapred.MapTask: Starting flush of map output
13/10/25 11:33:47 INFO mapred.MapTask: Finished spill 0
13/10/25 11:33:47 INFO mapred.Task: Task:attempt_local1294015510_0001_m_000001_0 is done. And is in the process of commiting
13/10/25 11:33:47 INFO mapred.LocalJobRunner:
13/10/25 11:33:47 INFO mapred.Task: Task 'attempt_local1294015510_0001_m_000001_0' done.
13/10/25 11:33:47 INFO mapred.LocalJobRunner: Finishing task: attempt_local1294015510_0001_m_000001_0
13/10/25 11:33:47 INFO mapred.LocalJobRunner: Map task executor complete.
13/10/25 11:33:48 INFO mapred.Task: Using ResourceCalculatorPlugin : org.apache.hadoop.util.LinuxResourceCalculatorPlugin@17f11fb
13/10/25 11:33:48 INFO mapred.LocalJobRunner:
13/10/25 11:33:48 INFO mapred.Merger: Merging 2 sorted segments
13/10/25 11:33:48 INFO mapred.Merger: Down to the last merge-pass, with 2 segments left of total size: 204 bytes
13/10/25 11:33:48 INFO mapred.LocalJobRunner:
13/10/25 11:33:48 INFO mapred.Task: Task:attempt_local1294015510_0001_r_000000_0 is done. And is in the process of commiting
13/10/25 11:33:48 INFO mapred.LocalJobRunner:
13/10/25 11:33:48 INFO mapred.Task: Task attempt_local1294015510_0001_r_000000_0 is allowed to commit now
13/10/25 11:33:48 INFO output.FileOutputCommitter: Saved output of task 'attempt_local1294015510_0001_r_000000_0' to /tmp/intermediate1
13/10/25 11:33:48 INFO mapred.LocalJobRunner: reduce > reduce
13/10/25 11:33:48 INFO mapred.Task: Task 'attempt_local1294015510_0001_r_000000_0' done.
13/10/25 11:33:48 INFO mapred.JobClient: map 100% reduce 100%
13/10/25 11:33:48 INFO mapred.JobClient: Job complete: job_local1294015510_0001
13/10/25 11:33:48 INFO mapred.JobClient: Counters: 20
13/10/25 11:33:48 INFO mapred.JobClient: File Output Format Counters
13/10/25 11:33:48 INFO mapred.JobClient: Bytes Written=324
13/10/25 11:33:48 INFO mapred.JobClient: FileSystemCounters
13/10/25 11:33:48 INFO mapred.JobClient: FILE_BYTES_READ=1503
13/10/25 11:33:48 INFO mapred.JobClient: FILE_BYTES_WRITTEN=161938
13/10/25 11:33:48 INFO mapred.JobClient: File Input Format Counters
13/10/25 11:33:48 INFO mapred.JobClient: Bytes Read=0
13/10/25 11:33:48 INFO mapred.JobClient: Map-Reduce Framework
13/10/25 11:33:48 INFO mapred.JobClient: Map output materialized bytes=212
13/10/25 11:33:48 INFO mapred.JobClient: Map input records=8
13/10/25 11:33:48 INFO mapred.JobClient: Reduce shuffle bytes=0
13/10/25 11:33:48 INFO mapred.JobClient: Spilled Records=24
13/10/25 11:33:48 INFO mapred.JobClient: Map output bytes=120
13/10/25 11:33:48 INFO mapred.JobClient: Total committed heap usage (bytes)=485359616
13/10/25 11:33:48 INFO mapred.JobClient: CPU time spent (ms)=0
13/10/25 11:33:48 INFO mapred.JobClient: SPLIT_RAW_BYTES=208
13/10/25 11:33:48 INFO mapred.JobClient: Combine input records=8
13/10/25 11:33:48 INFO mapred.JobClient: Reduce input records=12
13/10/25 11:33:48 INFO mapred.JobClient: Reduce input groups=5
13/10/25 11:33:48 INFO mapred.JobClient: Combine output records=12
13/10/25 11:33:48 INFO mapred.JobClient: Physical memory (bytes) snapshot=0
13/10/25 11:33:48 INFO mapred.JobClient: Reduce output records=10
13/10/25 11:33:48 INFO mapred.JobClient: Virtual memory (bytes) snapshot=0
13/10/25 11:33:48 INFO mapred.JobClient: Map output records=8
13/10/25 11:33:49 WARN mapred.JobClient: No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String).
13/10/25 11:33:49 INFO input.FileInputFormat: Total input paths to process : 1
13/10/25 11:33:49 INFO mapred.JobClient: Running job: job_local600426365_0002
13/10/25 11:33:49 INFO mapred.LocalJobRunner: Waiting for map tasks
13/10/25 11:33:49 INFO mapred.LocalJobRunner: Starting task: attempt_local600426365_0002_m_000000_0
13/10/25 11:33:49 INFO mapred.Task: Using ResourceCalculatorPlugin : org.apache.hadoop.util.LinuxResourceCalculatorPlugin@18d30fb
13/10/25 11:33:49 INFO mapred.MapTask: Processing split: file:/tmp/intermediate1/part-r-00000:0+312
13/10/25 11:33:49 INFO mapred.MapTask: io.sort.mb = 100
13/10/25 11:33:50 INFO mapred.MapTask: data buffer = 79691776/99614720
13/10/25 11:33:50 INFO mapred.MapTask: record buffer = 262144/327680
13/10/25 11:33:50 INFO mapred.MapTask: Starting flush of map output
13/10/25 11:33:50 INFO mapred.MapTask: Finished spill 0
13/10/25 11:33:50 INFO mapred.Task: Task:attempt_local600426365_0002_m_000000_0 is done. And is in the process of commiting
13/10/25 11:33:50 INFO mapred.LocalJobRunner:
13/10/25 11:33:50 INFO mapred.Task: Task 'attempt_local600426365_0002_m_000000_0' done.
13/10/25 11:33:50 INFO mapred.LocalJobRunner: Finishing task: attempt_local600426365_0002_m_000000_0
13/10/25 11:33:50 INFO mapred.LocalJobRunner: Map task executor complete.
13/10/25 11:33:50 INFO mapred.Task: Using ResourceCalculatorPlugin : org.apache.hadoop.util.LinuxResourceCalculatorPlugin@d75c47
13/10/25 11:33:50 INFO mapred.LocalJobRunner:
13/10/25 11:33:50 INFO mapred.Merger: Merging 1 sorted segments
13/10/25 11:33:50 INFO mapred.Merger: Down to the last merge-pass, with 1 segments left of total size: 84 bytes
13/10/25 11:33:50 INFO mapred.LocalJobRunner:
13/10/25 11:33:50 INFO mapred.Task: Task:attempt_local600426365_0002_r_000000_0 is done. And is in the process of commiting
13/10/25 11:33:50 INFO mapred.LocalJobRunner:
13/10/25 11:33:50 INFO mapred.Task: Task attempt_local600426365_0002_r_000000_0 is allowed to commit now
13/10/25 11:33:50 INFO output.FileOutputCommitter: Saved output of task 'attempt_local600426365_0002_r_000000_0' to /tmp/intermediate2
13/10/25 11:33:50 INFO mapred.LocalJobRunner: reduce > reduce
13/10/25 11:33:50 INFO mapred.Task: Task 'attempt_local600426365_0002_r_000000_0' done.
13/10/25 11:33:50 INFO mapred.JobClient: map 100% reduce 100%
13/10/25 11:33:50 INFO mapred.JobClient: Job complete: job_local600426365_0002
13/10/25 11:33:50 INFO mapred.JobClient: Counters: 20
13/10/25 11:33:50 INFO mapred.JobClient: File Output Format Counters
13/10/25 11:33:50 INFO mapred.JobClient: Bytes Written=89
13/10/25 11:33:50 INFO mapred.JobClient: File Input Format Counters
13/10/25 11:33:50 INFO mapred.JobClient: Bytes Read=324
13/10/25 11:33:50 INFO mapred.JobClient: FileSystemCounters
13/10/25 11:33:50 INFO mapred.JobClient: FILE_BYTES_READ=2486
13/10/25 11:33:50 INFO mapred.JobClient: FILE_BYTES_WRITTEN=213321
13/10/25 11:33:50 INFO mapred.JobClient: Map-Reduce Framework
13/10/25 11:33:50 INFO mapred.JobClient: Map output materialized bytes=88
13/10/25 11:33:50 INFO mapred.JobClient: Map input records=10
13/10/25 11:33:50 INFO mapred.JobClient: Reduce shuffle bytes=0
13/10/25 11:33:50 INFO mapred.JobClient: Spilled Records=10
13/10/25 11:33:50 INFO mapred.JobClient: Map output bytes=144
13/10/25 11:33:50 INFO mapred.JobClient: CPU time spent (ms)=0
13/10/25 11:33:50 INFO mapred.JobClient: Total committed heap usage (bytes)=538705920
13/10/25 11:33:50 INFO mapred.JobClient: Combine input records=10
13/10/25 11:33:50 INFO mapred.JobClient: SPLIT_RAW_BYTES=101
13/10/25 11:33:50 INFO mapred.JobClient: Reduce input records=5
13/10/25 11:33:50 INFO mapred.JobClient: Reduce input groups=5
13/10/25 11:33:50 INFO mapred.JobClient: Combine output records=5
13/10/25 11:33:50 INFO mapred.JobClient: Physical memory (bytes) snapshot=0
13/10/25 11:33:50 INFO mapred.JobClient: Reduce output records=5
13/10/25 11:33:50 INFO mapred.JobClient: Virtual memory (bytes) snapshot=0
13/10/25 11:33:50 INFO mapred.JobClient: Map output records=10
最佳答案
它与dpmap2的for循环中缺少{}有什么关系吗?
编辑:
我想我明白了问题所在。在第二个映射器中,您发出temp2 / temp1 ,因为最终结果中存在无限量,这意味着 temp1 = 0
我想您需要打印出sp.length
我想您会发现长度为1,这意味着temp1 = 0的值永远不会改变。
关于hadoop - map 阶段不读取中间结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19561600/
我遇到以下问题。我想读取一个包含数百万行和数百列的大型 csv。我想向下转换列的数据类型。我的方法是读取 csv,然后使用 pd.to_numeric() 对其进行向下转换。我不知道列数及其类型。在读
目前,我从 SQL server (2008) 数据库获取数据。 cyurrent的方法是使用DataTable,然后将其传递并使用。 if (parameters != null)
我有以下问题。我有一个巨大的 csv 文件,想用多处理加载它。对于一个包含 500000 行和 130 列不同数据类型的示例文件,Pandas 需要 19 秒。我试过 dask 因为我想多处理阅读。但
是否有关于用于序列化各种 MFC 数据结构的二进制格式的明确文档?我已经能够在十六进制编辑器中查看我自己的一些类,并使用 Java 的 ByteBuffer 类读取它们(使用自动字节顺序转换等)。 但
我正在使用 Selenium 进行测试,我们用 HTML 文件编写测试用例,并用它们制作测试套件,我们的要求是编写足够健壮的测试用例,以根据测试环境改变自身。 为此,我不希望在 HTML 脚本本身中包
我需要一个 JavaScript 代码来读取存储为 .txt 文件的字典(或者也可以保存为任何其他类型的文件。它也可以在线获得)并将其内容存储在一个变量中。我不能找到一种让 JavaScript 像
我正在尝试遍历包含 SSH 登录和其他日志的日志文本文件。 程序正在返回 SSH 登录的总数。 我的解决方案确实有效,但似乎有点慢(在 200mo 文件上大约需要 3.5 秒)。我想知道是否有任何方法
我正在将大量数据从一个电子表格复制到工作簿中的其他 160 个电子表格。目前,Excel (2013) 遇到错误,因为它没有足够的资源来完成操作。 我的目标是将工作表 4 中 V13:XI1150 范
我正在尝试读取一个有 1147 行的文本文件。下面的代码仅读取第 1050-1147 行。我的目标是读取整个文件并提取位于不同行的特定值以在脚本中使用。一个示例是包含“BlockList: 2”的行中
我正在为游戏编写解释器。用户将其移动输入解释器,程序执行该移动。 现在我想为每个决定实现一个时间限制。玩家不应该能够思考超过 30 秒来写一个移动并按下回车。 call_with_time_limit
以this file例如,我正在尝试读取 data.frame 中的数据。来自 the doc (pdf 文件,表 1),它遵循一些 fortran 约定。我尝试了以下但收效甚微: dir 0' 将
我正在使用 R 阅读 Outlook 附件。我的引用在这里:Download attachment from an outlook email using R 这是我的电子邮件的截图: 这每天都会发送
我不会从表格中读取行来将主题放在列表中 php脚本 $url_obj='http://'.$host.':8069/xmlrpc/object'; $sock=new xmlrpc_client($u
我有一个这样的 csv 文件: id,name,value 1,peter,5 2,peter\,paul,3 我如何读取此文件并告诉 R "\," 不表示新列,仅表示 ","。 我必须添加该文件
我正在尝试读取 ~/Library/Preferences/com.apple.mail.plist (在 Snow Leopard 上)以获取电子邮件地址和其他信息以进入“关于”对话框。我使用以下代
This question already has answers here: How do I use floating-point division in bash? (19个回答) 5个月前关闭
本练习的目标是读取输入文件并将其存储到表中,然后验证输入中的某些字段并输出任何错误记录。我需要读取并存储每个策略组,以便表中一次仅存储 5 条记录,而不是整个文件。 所以我需要读取一个包含 5 条记录
据我了解,LWT 插入始终以 SERIAL 一致性级别完成。如果为 true,这是否意味着读取作为 LWT 插入的行可以安全地以 ANY 的一致性级别读取? 换句话说,我假设 LWT 插入是完全一致的
我看到很多很多通过java脚本读取cookie的函数,但我只想在变量中使用它一次,我是JS新手。 这是我的代码 var TheNumber = (Math.random() + '') * 10000
我正在使用 asp.net 和 C#。我在服务器上部署了一个应用程序[已发布],现在我想查看该网站的代码,据我所知,我可以阅读程序集来查看代码。 请告诉我如何实现它。 提前致谢。 最佳答案 您可以使用
我是一名优秀的程序员,十分优秀!