当前在线人数15223
首页 - 分类讨论区 - 电脑网络 - 数据科学版 - 同主题阅读文章

此篇文章共收到打赏
0

  • 10
  • 20
  • 50
  • 100
您目前伪币余额:0
未名交友
[更多]
[更多]
有没有大数据 (Hadoop: MapReduce)方面的高手?能帮我看看这
[版面:数据科学][首篇作者:wuyelan] , 2018年07月19日10:20:37 ,748次阅读,8次回复
来APP回复,赚取更多伪币 关注本站公众号:
[分页:1 ]
wuyelan
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 1 ]

发信人: wuyelan (阿米), 信区: DataSciences
标  题: 有没有大数据 (Hadoop: MapReduce)方面的高手?能帮我看看这个程序的代码有什么问题不?
发信站: BBS 未名空间站 (Thu Jul 19 10:20:37 2018, 美东)

捡了一个Hortonworks家的哭胖,可以报名考他家的资格证,半个月以前考了一门
HDPCD:JAVA, 结果挂了,发邮件去问原因,对方不肯告诉我。所以求助版上的大神帮我
看看代码有什么问题?
--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 64.]

 
TheMatrix
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 2 ]

发信人: TheMatrix (TheMatrix), 信区: DataSciences
标  题: Re: 有没有大数据 (Hadoop: MapReduce)方面的高手?能帮我看看这
发信站: BBS 未名空间站 (Thu Jul 19 20:26:53 2018, 美东)

不是要看代码吗?代码在哪里?

【 在 wuyelan (阿米) 的大作中提到: 】
: 捡了一个Hortonworks家的哭胖,可以报名考他家的资格证,半个月以前考了一门
: HDPCD:JAVA, 结果挂了,发邮件去问原因,对方不肯告诉我。所以求助版上的大神帮我
: 看看代码有什么问题?




--
☆ 发自 iPhone 买买提 1.24.07
--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 50.]

 
wuyelan
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 3 ]

发信人: wuyelan (阿米), 信区: DataSciences
标  题: Re: 有没有大数据 (Hadoop: MapReduce)方面的高手?能帮我看
发信站: BBS 未名空间站 (Fri Jul 20 09:51:18 2018, 美东)

不好意思,昨天把帖子发上来之后工作上遇到点问题,忙别的去了。我稍后把题目和代
码都发上来
【 在 TheMatrix (TheMatrix) 的大作中提到: 】
: 不是要看代码吗?代码在哪里?



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 64.]

 
wuyelan
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 4 ]

发信人: wuyelan (阿米), 信区: DataSciences
标  题: Re: 有没有大数据 (Hadoop: MapReduce)方面的高手?能帮我看
发信站: BBS 未名空间站 (Fri Jul 20 10:44:57 2018, 美东)


【 在 TheMatrix (TheMatrix) 的大作中提到: 】
: 不是要看代码吗?代码在哪里?

首先介绍一下考试背景要求:

Hortonworks的资格证考试主要集中在大数据这块,其中 HDPCD:JAVA 以考察
MapReduce的代码编写为主,也需要掌握HDFS的基础知识。以下是官方给的考试说明:

The HDPCD:Java Exam
Our certifications are exclusively hands-on, performance-based exams that
require you to complete a set of tasks. By performing tasks on an actual
Hadoop cluster instead of just guessing at multiple-choice questions,
Hortonworks Certified Professionals have proven competency and Big Data
expertise. The HDPCD:Java exam consists of tasks associated with writing
Java MapReduce jobs, including the development and configuring of:

combiners,
partitioners,
custom keys,
custom sorting,
and the joining of datasets.

The exam is based on the Hortonworks Data Platform 2.2 and candidates are
provided with an Eclipse environment that is pre-configured and ready for
the writing of Java classes.

官方提供了一套练习题和相关的练习环境,真实的考试题型和考试环境跟练习环境是一
样的,不过难度小很多。
根据官方提供的配置说明搭建练习环境,需要自己开一个AWS 账户,然后创建一个EC2
instance (费用大概一小时 $0.4 左右)。 这个EC2 instance 是ubuntu操作系统,
里面装了一套hadoop,一个eclipse,在hadoop的HDFS上提供了一些练习题需要用到的
数据。为了省去这些环境搭建的麻烦,我下面会把练习题的题目要求和数据贴上来。我
和一个朋友参加的真实考试题目我也会贴出来,但是题目中用到的真实数据没办法提供
,不过它的数据结构和练习题用到的数据的结构是一样的。

--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 64.]

 
wuyelan
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 5 ]

发信人: wuyelan (阿米), 信区: DataSciences
标  题: Re: 有没有大数据 (Hadoop: MapReduce)方面的高手?能帮我看
发信站: BBS 未名空间站 (Fri Jul 20 11:16:59 2018, 美东)

先是练习题:

我大概翻译一下题目要求:

在HDFS上有4个csv文件,/user/horton/weather/下放的是sfo_weather.csv,/user/
horton/flightdelays 下放的是  flight_delays1.csv,flight_delays2.csv,flight
_delays3.csv。

四个文件的字段都是以逗号分隔,flightdelays中的文件记录了2008年飞机延误的信息
,sfo_weather.csv文件中记录了这一年SFO的天气状况,要写一个MapReduce程序,满
足以下需求:

根据日期把 flightdelays 中的 delay 信息和 sfo_weather.csv 的天气信息 join 起
来,即以日,月,年 join,并且 dest 列为SFO

输出结果的字段包括:

Year,Month,DayofMonth,DepTime,ArrTime,UniqueCarrier,FlightNum,
ActualElapsedTime,ArrDelay,DepDelay,Origin,Dest,PRCP,TMAX,TMIN

举例:
2008年1月3号,从 LAS 飞往 SFO 的488号航班延误信息如下:

2008,1,3,1426,1605,WN,488,99,35,31,LAS,SFO,43,150,94

最终的输出结果,以日期正序排序,如果日期相同,则以ArrDelay进行倒序排序(
delay时间最久的排最前); 输出结果包括两个文本文件,字段以逗号分隔,放在HDFS
的/user/hortontask1

我和朋友的相关解答代码放在github上:

https://github.com/WileyWu12555/big-data-fun/tree/master/src/flightdelay1/
join/practice

题目需要用到的数据

https://github.com/WileyWu12555/big-data-fun/tree/master/sample_data/sfo_
weather


----------- 附 英文版原题要求 -----------

Environment Details
A one-node HDP cluster is running on a server named namenode that is
installed with various HDP components, including HDFS, MapReduce, YARN, Tez
and Slider.
You are currently logged in to an Ubuntu instance as a user named horton.
As the horton user, you can SSH onto the cluster as the root user:
$ ssh [email protected]
The root password on the namenode is hadoop.
Eclipse is installed and a shortcut is provided on the Desktop.
A project named Task1 is created for you, and a class named task1.Task1 is
stubbed out already. The build file for this project is preconfigured to use
task1.Task1 as the main class, and the project has the proper build path
for developing Hadoop MapReduce applications.
To build the project, right-click on the Task1 project folder in Eclipse
and select Run As -> Gradle Build.
Ambari is available at http://namenode:8080. The username and password for Ambari are both admin.

TASK 1
There are two folders in HDFS in the /user/horton folder: flightdelays and
weather. These are comma-separated files that contain flight delay
information for airports in the U.S. for the year 2008, along with the
weather data from the San Francisco airport. Write and execute a Java
MapReduce application that satisfies the following criteria:

Join the flight delay data in flightdelays with the weather data in weather
. Join the data by the day, month and year and also where the "Dest" column
in flightdelays is equal to "SFO".

The output of each delayed flight into SFO consists of the following fields:
Year,Month,DayofMonth,DepTime,ArrTime,UniqueCarrier,FlightNum,
ActualElapsedTime,ArrDelay,DepDelay,Origin,Dest,PRCP,TMAX,TMIN

For example, for the date 2008-01-03, there is a delayed flight number 488
from Las Vegas (LAS) to San Francisco (SFO). The corresponding output would
be:
2008,1,3,1426,1605,WN,488,99,35,31,LAS,SFO,43,150,94

The output is sorted by date ascending, and on each day the output is
sorted by ArrDelay descending (so that the longest arrival delays appear
first).
The output is in text files in a new folder in HDFS named task1 with values
separated by commas
The output is in two text files


Data:
-------------------------sfo_weather.csv -----------------------------------
----
STATION_NAME,YEAR,MONTH,DAY,PRCP,TMAX,TMIN
SAN FRANCISCO INTERNATIONAL AIRPORT CA US,2008,01,01,0,122,39
SAN FRANCISCO INTERNATIONAL AIRPORT CA US,2008,01,02,0,117,39
SAN FRANCISCO INTERNATIONAL AIRPORT CA US,2008,01,03,43,150,94
SAN FRANCISCO INTERNATIONAL AIRPORT CA US,2008,01,04,533,150,100
SAN FRANCISCO INTERNATIONAL AIRPORT CA US,2008,01,05,196,122,78
SAN FRANCISCO INTERNATIONAL AIRPORT CA US,2008,01,06,15,106,50
SAN FRANCISCO INTERNATIONAL AIRPORT CA US,2008,01,07,0,111,67
SAN FRANCISCO INTERNATIONAL AIRPORT CA US,2008,01,08,20,128,61

------flight_delays1.csv,flight_delays2.csv,flight_delays3.csv-----

Year,Month,DayofMonth,DayOfWeek,DepTime,CRSDepTime,ArrTime,CRSArrTime,
UniqueCarrier,FlightNum,TailNum,
ActualElapsedTime,CRSElapsedTime,AirTime,ArrDelay,DepDelay,Origin,Dest,
Distance,TaxiIn,TaxiOut,Cancelled,
CancellationCode,Diverted,CarrierDelay,WeatherDelay,NASDelay,SecurityDelay,
LateAircraftDelay
2008,1,3,4,2003,1955,2211,2225,WN,335,N712SW,128,150,116,-14,8,IAD,TPA,810,4
,8,0,,0,NA,NA,NA,NA,NA
2008,1,3,4,754,735,1002,1000,WN,3231,N772SW,128,145,113,2,19,IAD,TPA,810,5,
10,0,,0,NA,NA,NA,NA,NA
2008,1,3,4,628,620,804,750,WN,448,N428WN,96,90,76,14,8,IND,BWI,515,3,17,0,,0
,NA,NA,NA,NA,NA
2008,1,3,4,926,930,1054,1100,WN,1746,N612SW,88,90,78,-6,-4,IND,BWI,515,3,7,0
,,0,NA,NA,NA,NA,NA
2008,1,3,4,1829,1755,1959,1925,WN,3920,N464WN,90,90,77,34,34,IND,BWI,515,3,
10,0,,0,2,0,0,0,32
2008,1,3,4,1940,1915,2121,2110,WN,378,N726SW,101,115,87,11,25,IND,JAX,688,4,
10,0,,0,NA,NA,NA,NA,NA
2008,1,3,4,1937,1830,2037,1940,WN,509,N763SW,240,250,230,57,67,IND,LAS,1591,
3,7,0,,0,10,0,0,0,47
2008,1,3,4,1039,1040,1132,1150,WN,535,N428WN,233,250,219,-18,-1,IND,LAS,1591
,7,7,0,,0,NA,NA,NA,NA,NA

Understand:
    1.Inner join, we can see weather data is small enough to get into memory
, so let's start with map side join.
    a.Add weather data as cache file.Use day, month and year as the join key
.
    b.Use "Dest" column in flightdelays as filter, which will filter "Dest"
column in flightdelays is equal to "SFO".
    c.Get the "SFO" from arguments in main().
    2.Use Year,Month,DayofMonth as key,

use DepTime,ArrTime,UniqueCarrier,FlightNum,ActualElapsedTime,ArrDelay,
DepDelay,Origin,Dest,PRCP,TMAX,TMIN  as value.
    a.DepTime,ArrTime,UniqueCarrier,FlightNum,ActualElapsedTime,ArrDelay,
DepDelay,Origin,Dest from flight_delays1?2?3.csv.
    b.PRCP,TMAX,TMIN from sfo_weather.csv.
    3.Modify Year,Month,DayofMonth, ArrDelay as key. Custom output format.
    4.Output dir is "task1", output file is text file, fields separated by
commas.
    5.Reducer task is two.



--
※ 修改:·wuyelan 於 Jul 20 11:19:17 2018 修改本文·[FROM: 64.]
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 64.]

 
wuyelan
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 6 ]

发信人: wuyelan (阿米), 信区: DataSciences
标  题: Re: 有没有大数据 (Hadoop: MapReduce)方面的高手?能帮我看
发信站: BBS 未名空间站 (Fri Jul 20 11:34:39 2018, 美东)

接下来是两道原题:

两道题用到的参考数据是一样的。真实的考试数据一个文件有135MB,考试的时候没办
法打开看;这里提供的参考数据是对练习题的参考数据加以修改后的得到的csv文件,
但是数据结构和真实考试的数据结构是一模一样的,github地址是:

https://github.com/WileyWu12555/big-data-fun/tree/master/sample_data/2007_
2008_average_maximum

一题是朋友考试时的截图:
求平均值:



我们的解答代码 github 地址是:

https://github.com/WileyWu12555/big-data-fun/tree/master/src/flight1/average
/delay

另一题是我自己考完后凭记忆记录的题目要求:

求最大值:

HDFS系统中/user/horton/flights下有两个文件, 2007.cvs 和 2008.cvs (结构和上
面的附件第一题里的一样)
要求写一个mapreduce程序,实现以下功能:

1. 求出每个Arrival airport code中arrival delay时间最长的一个
2. 结果存放在 HDFS中的 /user/horton/task1下
3. 每条结果包含以下数据:
Arrival airport code, Maximu Arrival delay, Departure airport code, Year,
Month, DayOfMonth
4. 每个字段之间用逗号隔开
5. 输出结果按照2007和2008分成两个文件
6. 最终结果以Arrival airport code的字母正序排列

我的解答代码地址是:

https://github.com/WileyWu12555/big-data-fun/tree/master/src/flight2/maximum
/delay



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 64.]


此主题相关图片如下:

[删除]

 
wuyelan
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 7 ]

发信人: wuyelan (阿米), 信区: DataSciences
标  题: Re: 有没有大数据 (Hadoop: MapReduce)方面的高手?能帮我看看这
发信站: BBS 未名空间站 (Fri Jul 20 11:47:56 2018, 美东)

我朋友完全没有准备,是裸考的,也没有管结果,求平均值那题的代码是我们后来写的
,不确定对不对。

我考的是最大值那题,肯定是不对的,虽然能跑出结果来,结果看起来也符合题目要求
,但是由于看不到那个135MB的原始数据的内容,所以我的判断条件可能遗漏了什么。

官方明确说了不会告知没有考过的原因,但是告诉我他们的评判标准是代码和结果两方
面。

我目前能想到的唯一的出错可能是在Reduce部分给 int maximum 这个变量赋初始值时
不应该用 0, 而应该用 Integer.MIN_VALUE,因为有可能delay的值为负数。

https://github.com/WileyWu12555/big-data-fun/blob/master/src/flight2/maximum
/delay/Task1Maximum.java 125行

虽然之前考试用的哭胖免费考的,不过也花了两个月的时间准备,考挂了有点郁闷,有
点想自己掏银子再考一次,所以求助大神们帮忙看下代码,看有没有什么错漏。
--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 64.]

 
TheMatrix
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 8 ]

发信人: TheMatrix (TheMatrix), 信区: DataSciences
标  题: Re: 有没有大数据 (Hadoop: MapReduce)方面的高手?能帮我看
发信站: BBS 未名空间站 (Fri Jul 20 13:21:46 2018, 美东)

我看了你的代码。我觉得没啥问题啊。看不出有什么问题。

【 在 wuyelan (阿米) 的大作中提到: 】
: 我朋友完全没有准备,是裸考的,也没有管结果,求平均值那题的代码是我们后来写的
: ,不确定对不对。
: 我考的是最大值那题,肯定是不对的,虽然能跑出结果来,结果看起来也符合题目要求
: ,但是由于看不到那个135MB的原始数据的内容,所以我的判断条件可能遗漏了什么。
: 官方明确说了不会告知没有考过的原因,但是告诉我他们的评判标准是代码和结果两方
: 面。
: 我目前能想到的唯一的出错可能是在Reduce部分给 int maximum 这个变量赋初始值时
: 不应该用 0, 而应该用 Integer.MIN_VALUE,因为有可能delay的值为负数。
: https://github.com/WileyWu12555/big-data-fun/blob/master/src/flight2/
maximum
: /delay/Task1Maximum.java 125行
: ...................




--
☆ 发自 iPhone 买买提 1.24.07
--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 2607:fb90:984d:]

 
wuyelan
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 9 ]

发信人: wuyelan (阿米), 信区: DataSciences
标  题: Re: 有没有大数据 (Hadoop: MapReduce)方面的高手?能帮我看
发信站: BBS 未名空间站 (Fri Jul 20 13:45:48 2018, 美东)

我也觉得没问题,唯一可能有问题的地方是在Reduce部分给 int maximum 这个变量赋
初始值时
不应该用 0, 而应该用 Integer.MIN_VALUE, 因为有可能delay的值为负数。

如果这个也不是failed的原因话,那只能是我没有交考试费 -_-!!


【 在 TheMatrix (TheMatrix) 的大作中提到: 】
: 我看了你的代码。我觉得没啥问题啊。看不出有什么问题。
: maximum



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 64.]

[分页:1 ]
[快速返回] [ 进入数据科学讨论区] [返回顶部]
回复文章
标题:
内 容:

未名交友
将您的链接放在这儿

友情链接


 

Site Map - Contact Us - Terms and Conditions - Privacy Policy

版权所有,未名空间(mitbbs.com),since 1996