前言:
本文默认各位读者具备了一定的java编程能力和MapReduce基本运作过程,作者尽量给大家多注释。
数据介绍:
数据近40万行,时间从2018.8.1 零点 至 2019.6.10 23点,城市有北京,上海, 天津,青岛,济南,厦门,郑州,乌鲁木齐,成都,呼和浩特,海口和昆明;其中每个城市有很多站号(采集点),
一个站号,每个小时的采集数据占一行。
给大家放个云盘连接吧。链接:https://pan.baidu.com/s/1AFptQ47pqnv6KqijPMe6Mw
提取码:0ys0
如果失效了大家及时提醒我。趁早,说不定我转行忘了了。
要求:
1 .这个时间范围内,哪个城市的PM25统计指标最低,哪个最高;统计指标(模型)自己决定,需要说明指标确定理由。
2.统计2019年2月份(春节期间)北京、上海、成都空气情况分布(空气质量:优、良、轻度污染、中度污染、重度污染天数分布),空气质量标准参照国家颁布的标准。
3.自己提分析需求并实现(选做)。
本文介绍第二题。
-
自己运行linux和hadoop,这个不知道的话,那先打好基础哦,不积跬步无以至千里。
-
传文件到hadoop里面,给大家用程序传过去吧
package test;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
/**
i am cloud
1. @author Cloud
*/
public class GetFile {
public static void main(String[] args) throws IOException{
Configuration conf = new Configuration();
//192.168.172.5这个是你的Linux中的master的ip地址,你自己换。
conf.set("fs.defaultFS","hdfs://192.168.172.5:9000");
FileSystem file = FileSystem.get(conf);
file.copyFromLocalFile(new Path("F:/可以删除/PM25city.txt"), new Path("/user/root/pminput"));
//前面的Path是计算机的路径位置,后面是Hadoop路径位置
file.close();
}
}
重点来了
1.辅助类
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import org.apache.hadoop.io.Writable;
public class AirBean implements Writable{
String yearString;
String monString;
String cityString;
String dayString;
String date;
float aqi;