Analyzing flight data using GraphX
Let's analyze flight data by representing the airports as vertices and routes as edges. Let's do some basic graph analytics to find out departures and arrivals and also analyze the data with the Pregel API to find out the cheapest fares. Download the flight data from the following location:
http://www.transtats.bts.gov/DL_SelectFields.asp?Table_ID=236&DB_Short_Name=On-Time
The steps to analyze the data are as follows:
Select OriginAirportID, Origin, DestAirportID, Dest, and Distance then click Download. Copy the ZIP file onto the cluster, unzip it, and then copy the contents to HDFS:
unzip 355968671_T_ONTIME.zip hadoop fs -put 355968671_T_ONTIME.csv
Get into the Scala shell using the
spark-shell
command and then import all dependencies, as follows:scala> import org.apache.spark.graphx._ scala> import org.apache.spark.rdd.RDD
Define a Scala
case
class for the flight schema corresponding to the CSV data file:scala> case class Flight(org_id...