资源简介
北京大学网络大数据管理与应用大作业,使用pagerank来分析微博数据。4个Spark和2个Hadoop实现
代码片段和文件信息
import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.DoubleWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import java.io.*;
import java.util.*;
public class hadoopPageRank {
public static class initGraphMapper extends Mapper {
@Override
protected void map(LongWritable key Text value Context context) throws IOException InterruptedException {
String[] lineSplit = value.toString().split(“\t“);
lineSplit[0] = StringUtils.strip(lineSplit[0] “\““); lineSplit[1] = StringUtils.strip(lineSplit[1] “\““);
if (lineSplit[1].equals(“0“) || lineSplit[0].equals(“0“)) return;
context.write(new Text(lineSplit[0]) new Text(lineSplit[1]));
context.write(new Text(lineSplit[0]) new Text(“node“));
context.write(new Text(lineSplit[1]) new Text(“node“));
}
}
public static class initGraphReducer extends Reducer {
@Override
protected void reduce(Text key Iterable values Context context) throws IOException InterruptedException {
Set set = new HashSet<>();
for (Text text: values) {
String val = text.toString();
if (val.equals(“node“)) continue;
set.add(val);
}
// if a node does not have out edges then add a edge to itself
if (set.size() > 0) context.write(key new Text(“1.0“ + “\t“ + String.join(“\t“ set)));
else context.write(key new Text(“1.0“ + “\t“ + key.toString()));
}
}
public static class pageRankMapper extends Mapper {
@Override
protected void map(LongWritable key Text value Context context) throws IOException InterruptedException {
String[] lineSplit = value.toString().split(“\t“);
Double rank = Double.parseDouble(lineSplit[1]);
int size = lineSplit.length - 2;
for (int i=0; i if (i == 0 || i == 1) continue;
context.write(new Text(lineSplit[i]) new Text(“rank“ + “ “ + rank / size));
context.write(new Text(lineSplit[0]) new Text(lineSplit[i]));
}
}
}
public static class pageRankReducer extends Reducer {
@Override
protected void reduce(Text key Iterable values Context context) throws IOException InterruptedException {
Double res = 0.0;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-12-09 15:39 input_small\
文件 7105030 2017-11-25 15:15 input_small\page_rank_data_small.txt
文件 2560 2017-12-01 14:49 pom.xm
目录 0 2017-11-25 15:11 src\
目录 0 2017-11-25 15:11 src\main\
目录 0 2017-12-09 17:20 src\main\java\
文件 9335 2017-12-02 10:35 src\main\java\hadoopPageRank.java
文件 9207 2017-12-09 16:02 src\main\java\hadoopPageRankAverage.java
文件 4395 2017-12-08 11:04 src\main\java\sparkPageRank.java
文件 4389 2017-12-08 14:41 src\main\java\sparkPageRankAverage.java
文件 8083 2017-12-09 17:20 src\main\java\sparkPageRankAverageV2.java
文件 3136 2017-12-01 19:30 src\main\java\sparkPageRankBasic.java
文件 3110 2017-12-01 23:23 src\main\java\sparkPageRankHashMap.java
文件 6952 2017-12-08 13:46 src\main\java\sparkPageRankV2.java
目录 0 2017-12-02 11:02 src\main\resources\
文件 327 2017-12-02 11:02 src\main\resources\log4j.properties
目录 0 2017-11-25 15:11 src\test\
目录 0 2017-11-25 15:11 src\test\java\
相关资源
- 基于K2 BPM PaaS的统一流程平台建设方案
- Parallel Computer Organization and Design-Camb
- TLV应用层协议开发
- Primitives.unitypackage unity的各种形状的模
- Surpac 软件三维地质建模原始数据录入
- Delphi版本的淘宝接口(TopAPI)开发.
- org.apache.struts缺少所需包
- 视频中背景建模目标检测综述(北京
- 实时分析-分析和可视化流数据的技术
- Spark快速大数据分析
- thinkpad 主板刷号工具HMD 1.69-1.74-1.75-
- SBASparse Bundle Adjustment的VC2010版本
- dSPACE MicroAutoBoxII的介绍
- Cloudera Custom Training: Hands-On Exercises
- pajek蜘蛛-社会网络分析法 案例数据
- ROST WORDPARSER
- 软件工程复习与考试指导part3 殷人昆
- 软件工程复习与考试指导part2 殷人昆
- 软件工程复习与考试指导part1 殷人昆
- VRTK - SteamVR Unity Toolkit.unitypackageV2.2.
- DSPACK v2.34 for Delphi7
- smppapi-0.3.9.rar
- 茶百科源代码
- Sparse Subspace Clustering: Algorithm Theory a
- apabi reader 1.84
- 自动化专业英语教程翻译PART3.rar
- 自动化专业英语教程翻译 part 1
- 联想IdeaPad U310 U410 BIOS升级固件 65cn9
- PADS 9.0、9.0.1 、9.0.2的安装步骤和破解
- QI WPC 无线充电规范标准V1.2.3 (Parts
评论
共有 条评论