Pages

Tuesday, January 10, 2012

Facebook maps status updates on Japan earthquake



Facebook maps status updates on Japan earthquake



                14 March 2011 Last updated at 10:38 GMT



As news of the Japanese earthquake and tsunami spread around the world, it was reflected in the status updates of Facebook users.



For the first time the social networking site has plotted user updates by place and time.



The site collated information on 4.5m status updates from 3.8m users.



It tracked the words 'Japan', 'earthquake' and 'tsunami'.

Times shown are in US Pacific time which is 8 hours behind GMT and 17 hours behind Japan.



Video courtesy of Facebook.












Facebook has generated an interactive map of how the news of Japanese tsunami and earth quake spread through the world.

Facebook has plotted how status updates about the Japanese earthquake and tsunami spread across the world in the hours following the disaster, creating the first map of its kind

Hopefully those spreading the news via pictures and videos will increase awareness and subsequently donations which will help people dealing with the aftermath of numerous disasters from earth-shaking to massive waves and potentially nuclear.

To see social networking truly being leveraged to help mankind is quite rewarding for someone chronicling its evolution.

Problem set: How Facebook used Map reduce to map status updates on Japan earth quake based on date time and place?

Identify the associated map tasks

One Document for one status update

Let’s assume that Facebook stores the status updates in the following text based format:

001         Jayani    3/17/2011 4:45 PM          Sri-Lanka              We are with Japan

002         Bieber   3/17/2011 4:46 PM          United States    Now I'm really glad that I speak French

003         Enrique                3/17/2011 4:50 PM          Jamaica                                Japan Earthquake result in a blast in Fukushima



The Situation type will contain the date, time and region details.



Class Situation

                DateTime

                Region



Map (Key [001], Value[Jayani     3/17/2011 4:45 PM          Sri-Lanka              We are with Japan])      

{

                    Situation01 –

                                         DateTime  = 3/17/2011 4:45 PM

                                         Region =   Sri-Lanka



                    for each word w in value: 

                                        EmitIntermediate (word - We, situation - Situation01)

}



Get intermediate values



Intermediate values from first map task:

We         Situation01(3/17/2011 4:45 PM, Sri-Lanka)

Are         Situation01

With      Situation01

Japan    Situation01        



Intermediate values from second map task:

Now      Situation02(3/17/2011 4:46 PM, United States)

I’m         Situation02

really     Situation02

glad        Situation02

that        Situation02

I               Situation02

speak    Situation02

French  Situation02



Intermediate values from third map task:

Japan                    Situation03(3/17/2011 4:50 PM, Jamaica)

Earthquake         Situation03

result                    Situation03

in                            Situation03

a                              Situation03

blast                      Situation03

in                            Situation03

Fukushima          Situation03



Sort the results



a                              Situation03

Are                         Situation01

blast                      Situation03

Earthquake         Situation03

French                  Situation02

Fukushima          Situation03

glad                        Situation02

I                               Situation02

I’m                         Situation02

in                            Situation03

in                            Situation03

Japan                    Situation01

Japan                    Situation03

Now                      Situation02

really                     Situation02

result                    Situation03

speak                    Situation02

that                        Situation02

We                         Situation01

With                      Situation01



Group the results by key



a                              Situation03

Are                         Situation01

blast                      Situation03

Earthquake         Situation03

French                  Situation02

Fukushima          Situation03

glad                        Situation02

I                               Situation02

I’m                         Situation02

in                            Situation03, Situation03               

Japan                    Situation01, Situation03                               

Now                      Situation02

really                     Situation02

result                    Situation03

speak                    Situation02

that                        Situation02

We                         Situation01

With                      Situation01



Reduce function

reduce(String word , Iterator situations):
{
                    For each situ in situations
                    {
                                        if (word == “japan” OR “earthquake” OR “tsunami”)
                                        {
                                                             If (not exists)                                                      
                                                                                 OutputCollection.Add(situ);
                                         }
                    }                   
}
 
Results:

Situation01, Situation03



Output collection (status updates about Japan earth quake based on region and time)



3/17/2011 4:45 PM, Sri-Lanka

3/17/2011 4:50 PM, Jamaica



Using the output collection we can design a video on how Japan earthquake was reflected in Facebook status updates in different regions of world.





No comments:

Post a Comment