├── README.txt ├── aircraftdetails.hive ├── aircraftdetails.pig ├── data ├── aircraftdetails.csv └── flightdata.csv ├── flightdetails.hive ├── myjars ├── csv-serde-1.1.2-0.11.0-all.jar └── csv-serde.jar ├── output ├── first_report_output │ ├── .part-r-00000.crc │ ├── SUCCESS.crc │ ├── _SUCCESS │ └── part-r-00000 └── second_report_output │ ├── .part-r-00000.crc │ ├── SUCCESS.crc │ ├── _SUCCESS │ └── part-r-00000 ├── pig_util.py ├── pig_util.pyc ├── pigscript.pig ├── pigscript.py └── pigscript.pyc /README.txt: -------------------------------------------------------------------------------- 1 | We have two data files flightdata.csv which we gathered from external source and aircraftdetails.csv which we created as a second input file. 2 | 3 | # flightdetails.hive 4 | # Read flightdetails.csv file located at /root/final_project_ASJ/data/flightdetails.csv 5 | # Save the file as an ORC file i.e., flightdetails_orc 6 | # To run the hive script that stores flightdata.csv file as an ORC file use the below command : 7 | hive -f flightdetails.hive 8 | 9 | # To run the pig script that generates our first report, please use the below command : 10 | pig -useHCatalog -x local -f pigscript.pig 11 | 12 | 13 | # aircraftdetails.hive 14 | # Read aircraftdetails.csv file located at /root/final_project_ASJ/data/aircraftdetails.csv 15 | # Save the file as an ORC file i.e., aircraftdetails_orc 16 | # To run the hive script that stores aircraftdetails.csv file as an ORC file use the below command : 17 | hive -f aircraftdetails.hive 18 | 19 | # To run the pig script that generates our second report, please use the below command : 20 | pig -useHCatalog -x local -f aircraftdetails.pig 21 | 22 | # UDF : We have created a user defined function using Python, which converts the fare in dollars to Indian rupees. 23 | # To view the UDF, please use the command : vi pigscript.py 24 | 25 | # First Report: 26 | # Summary: List the flight number,carrier,original city,destination city and fare for all the flights originating from Ottawa city and reaching Dhaka city. Display fare in Indian rupees and arrange the results in descending order of the fare. 27 | 28 | # Value: List of top ten flight details from Ottawa city to Dhaka city with fare in Indian rupees will be useful for people in India who are looking for flight fares. 29 | 30 | # Second Report: 31 | # Summary: For all the matching flight numbers between the two input files(flightdetails_orc and aircraftdetails_orc),list the corresponding aircraft’s flight number, engine name,economy seats and business seats. 32 | 33 | # Value: This report will be useful for the people of airline company to look for aircraft specific details. -------------------------------------------------------------------------------- /aircraftdetails.hive: -------------------------------------------------------------------------------- 1 | --hive -f aircraftdetails.hive 2 | ADD jar /root/final_project_ASJ/myjars/csv-serde-1.1.2-0.11.0-all.jar; 3 | USE mydb; 4 | DROP TABLE aircraftdetails; 5 | DROP TABLE aircrafttdetails_orc; 6 | 7 | CREATE TABLE aircraftdetails(flightnumber STRING,enginename STRING,businessseats STRING,economyseats STRING,manufacturedyear STRING) 8 | ROW FORMAT SERDE 'com.bizo.hive.serde.csv.CSVSerde' 9 | WITH SERDEPROPERTIES ( 10 | "separatorChar" = ",", 11 | "quoteChar" = "\"", 12 | "escapeChar" = "\\" 13 | ) 14 | STORED AS TEXTFILE; 15 | 16 | LOAD DATA LOCAL INPATH '/root/final_project_ASJ/data/aircraftdetails.csv' INTO TABLE aircraftdetails; 17 | 18 | CREATE TABLE aircraftdetails_orc(flightnumber STRING,enginename STRING,businessseats INT,economyseats INT,manufacturedyear INT) STORED AS ORC; 19 | 20 | INSERT OVERWRITE TABLE aircraftdetails_orc 21 | SELECT 22 | flightnumber 23 | ,enginename 24 | ,businessseats 25 | ,economyseats 26 | ,manufacturedyear 27 | FROM aircraftdetails; 28 | 29 | select * from aircraftdetails_orc; 30 | 31 | -------------------------------------------------------------------------------- /aircraftdetails.pig: -------------------------------------------------------------------------------- 1 | --pig -useHCatalog -x local -f aircraftdetails.pig 2 | flight = LOAD 'mydb.flightdetails_orc' USING org.apache.hive.hcatalog.pig.HCatLoader(); 3 | aircraft = LOAD 'mydb.aircraftdetails_orc' USING org.apache.hive.hcatalog.pig.HCatLoader(); 4 | transformed = JOIN flight BY flightnumber,aircraft BY flightnumber; 5 | filtered = FOREACH transformed GENERATE flight::flightnumber,enginename,businessseats,economyseats; 6 | 7 | STORE filtered INTO 'output/second_report_output' USING PigStorage(','); 8 | -------------------------------------------------------------------------------- /data/aircraftdetails.csv: -------------------------------------------------------------------------------- 1 | JK522,boeing383,42,160,2000 2 | TP168,boeing383,32,60,2000 3 | MJ373,boeing413,50,120,2001 4 | IA111,boeing544,45,90,2002 5 | XR988,boeing544,20,120,2005 6 | WM311,boeing589,25,130,2008 7 | XP307,boeing634,35,180,2010 8 | MH327,boeing658,40,50,2010 9 | FK627,boeing698,32,110,2012 10 | RT639,boeing756,36,160,2014 -------------------------------------------------------------------------------- /data/flightdata.csv: -------------------------------------------------------------------------------- 1 | 1,XH041,Kabul,Afghanistan,AC,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,LHR,DXB,780 2 | 2,JK451,Kabul,Afghanistan,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,YUL,LHR,450 3 | 3,LX529,Kabul,Afghanistan,AC,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,LHR,DOH,560 4 | 4,PC483,Kabul,Afghanistan,BA,Asia,North America,Ottawa,YOW,Canada,1/10/11,transfer,LHR,DEL,340 5 | 5,NF153,Kabul,Afghanistan,EK,Asia,North America,Toronto,YYZ,Canada,1/10/11,transfer,DXB,0,550 6 | 6,XY488,Kabul,Afghanistan,EK,Asia,North America,Ottawa,YOW,Canada,2/11/11,transfer,LHR,DXB,630 7 | 7,MU839,Kabul,Afghanistan,EK,Asia,North America,Ottawa,YOW,Canada,2/11/11,transfer,YYZ,DXB,1000 8 | ,GP487,Kabul,Afghanistan,KL,Asia,North America,Montreal,YUL,Canada,2/11/11,transfer,AMS,DXB,1000 9 | 9,BZ371,Kabul,Afghanistan,LH,Asia,North America,Ottawa,YOW,Canada,2/11/11,transfer,FRA,0,948 10 | 10,ME064,Yerevan,Armenia,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,LHR,0,1414 11 | 11,CE132,Yerevan,Armenia,AC,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,YYC,LHR,1248 12 | 12,VD734,Yerevan,Armenia,AC,Asia,North America,Kingston,YGK,Canada,1/1/11,transfer,YYZ,LHR,720 13 | 13,BJ294,Yerevan,Armenia,AF,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,CDG,0,1419 14 | 14,RK781,Yerevan,Armenia,AF,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,CDG,0,173 15 | 15,FB636,Yerevan,Armenia,BD,Asia,North America,Halifax,YHZ,Canada,1/1/11,transfer,LHR,0,901 16 | 16,WZ969,Yerevan,Armenia,BD,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,LHR,0,851 17 | ,FC739,Yerevan,Armenia,BD,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,LHR,0,1089 18 | 18,FQ899,Yerevan,Armenia,BD,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,LHR,0,1173 19 | 19,UO681,Yerevan,Armenia,BD,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,LHR,0,663 20 | 20,QE171,Yerevan,Armenia,LO,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,WAW,0,1142 21 | 21,RH991,Yerevan,Armenia,OS,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,FRA,VIE,269 22 | 22,EQ193,Yerevan,Armenia,VV,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,KBP,0,1113 23 | 23,YZ186,Baku,Azerbaijan,AC,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,FRA,0,1398 24 | 24,QY042,Baku,Azerbaijan,AC,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,LHR,0,196 25 | 25,TO626,Baku,Azerbaijan,AC,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,LHR,0,983 26 | ,UK750,Baku,Azerbaijan,AC,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,LHR,0,1080 27 | 27,CN222,Baku,Azerbaijan,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,LHR,0,1470 28 | ,OI911,Baku,Azerbaijan,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,LHR,0,612 29 | 29,RC239,Baku,Azerbaijan,AC,Asia,North America,St. Johns,YYT,Canada,1/1/11,transfer,YHZ,LHR,789 30 | 30,NP001,Baku,Azerbaijan,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,YYC,LHR,1255 31 | 31,WN686,Baku,Azerbaijan,BD,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,LHR,0,341 32 | 32,BA287,Baku,Azerbaijan,BD,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,LHR,0,1189 33 | 33,OR480,Baku,Azerbaijan,BD,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,LHR,0,1045 34 | 34,IX297,Baku,Azerbaijan,LH,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,FRA,0,359 35 | 35,CJ579,Baku,Azerbaijan,TK,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,IST,0,404 36 | 36,PL392,Baku,Azerbaijan,VV,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,KBP,0,1117 37 | 37,GZ829,Dhaka,Bangladesh,9W,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,DEL,0,504 38 | 38,TI201,Dhaka,Bangladesh,9W,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,BRU,BOM,617 39 | 39,JI917,Dhaka,Bangladesh,9W,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,LHR,BOM,1184 40 | 40,IO759,Dhaka,Bangladesh,9W,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,LHR,BOM,396 41 | 41,XI748,Dhaka,Bangladesh,9W,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,LHR,DEL,985 42 | 42,HG864,Dhaka,Bangladesh,9W,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,LHR,DEL,1442 43 | 43,DU811,Dhaka,Bangladesh,9W,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,LHR,DEL,1486 44 | 44,LD571,Dhaka,Bangladesh,9W,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,LHR,DEL,470 45 | 45,RS575,Dhaka,Bangladesh,9W,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,LHR,DEL,335 46 | 46,JK522,Dhaka,Bangladesh,AC,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YYZ,HKG,1305 47 | 47,BE931,Dhaka,Bangladesh,AC,Asia,North America,St. Johns,YYT,Canada,1/1/11,transfer,YYZ,FRA,162 48 | 48,ZK859,Dhaka,Bangladesh,AC,Asia,North America,Winnipeg,YWG,Canada,1/1/11,transfer,YYZ,FRA,820 49 | 49,EA651,Dhaka,Bangladesh,AI,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,DEL,0,1345 50 | 50,JN375,Dhaka,Bangladesh,CX,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,418 51 | 51,NE980,Dhaka,Bangladesh,CX,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,405 52 | 52,GA213,Dhaka,Bangladesh,CX,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,HKG,0,728 53 | 53,PS608,Dhaka,Bangladesh,CX,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,HKG,0,620 54 | 54,VA274,Dhaka,Bangladesh,CX,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,YVR,HKG,454 55 | ,XN251,Dhaka,Bangladesh,CX,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,YVR,HKG,976 56 | 56,TI739,Dhaka,Bangladesh,CX,Asia,North America,Kelowna,YLW,Canada,1/1/11,transfer,YVR,HKG,1183 57 | 57,BU800,Dhaka,Bangladesh,CX,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,YYZ,HKG,933 58 | 58,OE430,Dhaka,Bangladesh,EK,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,DXB,0,535 59 | 59,BN874,Dhaka,Bangladesh,EK,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,CDG,DXB,370 60 | 60,NZ176,Dhaka,Bangladesh,EK,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,JFK,DXB,881 61 | 61,ED734,Dhaka,Bangladesh,EK,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,JFK,DXB,723 62 | 62,WJ766,Dhaka,Bangladesh,EK,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,LHR,DXB,637 63 | 63,DP610,Dhaka,Bangladesh,EK,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,LHR,DXB,1332 64 | 64,UC704,Dhaka,Bangladesh,EK,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,LHR,DXB,1390 65 | 65,WD190,Dhaka,Bangladesh,EK,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,LHR,DXB,943 66 | 66,TP168,Dhaka,Bangladesh,EK,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,LHR,DXB,1233 67 | 67,IW955,Dhaka,Bangladesh,EK,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,LHR,DXB,540 68 | 68,XI609,Dhaka,Bangladesh,EK,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,LHR,DXB,422 69 | 69,LZ027,Dhaka,Bangladesh,EK,Asia,North America,London,YXU,Canada,1/1/11,transfer,YYZ,LHR,1391 70 | 70,MJ373,Dhaka,Bangladesh,EK,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YYZ,LHR,344 71 | 71,XH200,Dhaka,Bangladesh,EY,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,AUH,0,244 72 | 72,UK260,Chittagong,Bangladesh,EY,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,AUH,DAC,214 73 | 73,MO070,Sylhet,Bangladesh,EY,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,AUH,DAC,406 74 | 74,XM125,Dhaka,Bangladesh,GF,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,CDG,BAH,503 75 | 75,FA922,Dhaka,Bangladesh,GF,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,FRA,BAH,1423 76 | 76,IA111,Dhaka,Bangladesh,GF,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,FRA,BAH,452 77 | 77,LC004,Dhaka,Bangladesh,GF,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,FRA,BAH,792 78 | 78,BR443,Dhaka,Bangladesh,GF,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,LHR,BAH,1253 79 | 79,DS624,Dhaka,Bangladesh,GF,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,LHR,BAH,741 80 | 80,WC870,Dhaka,Bangladesh,GF,Asia,North America,Halifax,YHZ,Canada,1/1/11,transfer,LHR,BAH,1436 81 | 81,TD022,Dhaka,Bangladesh,GF,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,LHR,BAH,447 82 | 82,AX969,Dhaka,Bangladesh,GF,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,LHR,BAH,509 83 | 83,QX787,Dhaka,Bangladesh,GF,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,LHR,BAH,258 84 | 84,EP096,Dhaka,Bangladesh,GF,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,LHR,BAH,1329 85 | 85,RH854,Dhaka,Bangladesh,GF,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,LHR,BAH,460 86 | 86,PB030,Dhaka,Bangladesh,GF,Asia,North America,Halifax,YHZ,Canada,1/1/11,transfer,YUL,FRA,1484 87 | 87,PE811,Dhaka,Bangladesh,GF,Asia,North America,Regina,YQR,Canada,1/1/11,transfer,YYZ,FRA,849 88 | 88,XK611,Dhaka,Bangladesh,GF,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,YYZ,LHR,784 89 | 89,IH598,Dhaka,Bangladesh,GF,Asia,North America,Regina,YQR,Canada,1/1/11,transfer,YYZ,LHR,1026 90 | 90,US106,Dhaka,Bangladesh,GF,Asia,North America,Saskatoon,YXE,Canada,1/1/11,transfer,YYZ,LHR,1059 91 | 91,AD194,Sylhet,Bangladesh,GF,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,LHR,BAH,977 92 | 92,QI231,Chittagong,Bangladesh,GF,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,LHR,BAH,1058 93 | 93,KM897,Sylhet,Bangladesh,GF,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,LHR,BAH,155 94 | 94,AJ741,Dhaka,Bangladesh,KU,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,FRA,KWI,1472 95 | 95,WS822,Dhaka,Bangladesh,KU,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,FRA,KWI,352 96 | 96,XR988,Dhaka,Bangladesh,KU,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,FRA,KWI,686 97 | 97,DG545,Chittagong,Bangladesh,KU,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,FRA,KWI,708 98 | 98,FB725,Dhaka,Bangladesh,KU,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,FRA,KWI,426 99 | 99,TQ982,Dhaka,Bangladesh,KU,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,LHR,KWI,1050 100 | 100,QW265,Dhaka,Bangladesh,KU,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,LHR,KWI,1220 101 | 101,WY342,Sylhet,Bangladesh,KU,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,FRA,KWI,220 102 | 102,GF242,Sylhet,Bangladesh,KU,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,FRA,KWI,1145 103 | 103,XC160,Sylhet,Bangladesh,KU,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,LHR,KWI,1000 104 | 104,QI512,Chittagong,Bangladesh,KU,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,LHR,KWI,926 105 | 105,NY783,Sylhet,Bangladesh,KU,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,LHR,KWI,1356 106 | 106,WM311,Dhaka,Bangladesh,KU,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YUL,FRA,250 107 | 107,BS798,Dhaka,Bangladesh,KU,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,YYC,FRA,1375 108 | 108,DE436,Dhaka,Bangladesh,KU,Asia,North America,Saskatoon,YXE,Canada,1/1/11,transfer,YYC,FRA,1238 109 | 109,XP307,Dhaka,Bangladesh,KU,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YUL,LHR,1308 110 | 110,DO612,Dhaka,Bangladesh,KU,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,YYZ,LHR,295 111 | 111,UP895,Dhaka,Bangladesh,KU,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,YYZ,LHR,1444 112 | 112,PD421,Dhaka,Bangladesh,KU,Asia,North America,Halifax,YHZ,Canada,1/1/11,transfer,YYZ,LHR,741 113 | 113,MH327,Dhaka,Bangladesh,KU,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YYZ,LHR,1130 114 | 114,HQ608,Sylhet,Bangladesh,KU,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YYZ,LHR,580 115 | 115,QR796,Dhaka,Bangladesh,KU,Asia,North America,Regina,YQR,Canada,1/1/11,transfer,YYZ,LHR,614 116 | 116,CV926,Dhaka,Bangladesh,KU,Asia,North America,Saskatoon,YXE,Canada,1/1/11,transfer,YYZ,LHR,538 117 | 117,OM592,Dhaka,Bangladesh,KU,Asia,North America,St. Johns,YYT,Canada,1/1/11,transfer,YYZ,LHR,577 118 | 118,WZ945,Dhaka,Bangladesh,KU,Asia,North America,Winnipeg,YWG,Canada,1/1/11,transfer,YYZ,LHR,1025 119 | 119,WN639,Dhaka,Bangladesh,LH,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,FRA,DEL,380 120 | 120,SA535,Dhaka,Bangladesh,MU,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,PVG,KMG,950 121 | 121,RB813,Dhaka,Bangladesh,PK,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,KHI,0,555 122 | 122,DO156,Dhaka,Bangladesh,QR,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,CDG,DOH,341 123 | 123,WU677,Dhaka,Bangladesh,QR,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,FRA,DOH,912 124 | 124,YJ678,Dhaka,Bangladesh,QR,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,IAD,DOH,231 125 | 125,FK627,Dhaka,Bangladesh,QR,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,IAD,DOH,1112 126 | 126,RT639,Dhaka,Bangladesh,QR,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,IAD,DOH,1053 127 | 127,JD342,Dhaka,Bangladesh,QR,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,IAD,DOH,1391 128 | 128,TV319,Dhaka,Bangladesh,QR,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,IAH,DOH,667 129 | 129,AW467,Dhaka,Bangladesh,QR,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,IAH,DOH,446 130 | 130,GV155,Dhaka,Bangladesh,QR,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,IAH,DOH,231 131 | 131,AN606,Dhaka,Bangladesh,QR,Asia,North America,Halifax,YHZ,Canada,1/1/11,transfer,JFK,DOH,626 132 | 132,DN707,Dhaka,Bangladesh,QR,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,JFK,DOH,444 133 | 133,EZ979,Dhaka,Bangladesh,QR,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,JFK,DOH,857 134 | 134,AW008,Dhaka,Bangladesh,QR,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,LHR,DOH,642 135 | 135,VI927,Dhaka,Bangladesh,QR,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,LHR,DOH,637 136 | 136,RS541,Dhaka,Bangladesh,QR,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,LHR,DOH,585 137 | 137,RE132,Dhaka,Bangladesh,QR,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,LHR,DOH,618 138 | 138,EB117,Dhaka,Bangladesh,QR,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,LHR,DOH,926 139 | 139,AU874,Dhaka,Bangladesh,QR,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,LHR,DOH,1137 140 | 140,FN585,Dhaka,Bangladesh,QR,Asia,North America,Fredericton,YFC,Canada,1/1/11,transfer,YHZ,LHR,1462 141 | 141,NO216,Dhaka,Bangladesh,QR,Asia,North America,Sydney,YQY,Canada,1/1/11,transfer,YHZ,LHR,267 142 | 142,MP354,Dhaka,Bangladesh,QR,Asia,North America,Halifax,YHZ,Canada,1/1/11,transfer,YUL,LHR,190 143 | 143,KE138,Dhaka,Bangladesh,QR,Asia,North America,Saskatoon,YXE,Canada,1/1/11,transfer,YYC,LHR,1337 144 | 144,NL655,Dhaka,Bangladesh,QR,Asia,North America,Regina,YQR,Canada,1/1/11,transfer,YYZ,LHR,1219 145 | 145,BU329,Dhaka,Bangladesh,QR,Asia,North America,Windsor,YQG,Canada,1/1/11,transfer,YYZ,LHR,580 146 | 146,IH793,Dhaka,Bangladesh,QR,Asia,North America,Winnipeg,YWG,Canada,1/1/11,transfer,YYZ,LHR,1415 147 | 147,EG246,Dhaka,Bangladesh,SQ,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,LAX,SIN,459 148 | 148,EU523,Dhaka,Bangladesh,TK,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,IST,0,930 149 | 149,RL162,B. Seri Begawan,Brunei Darussalam,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,NRT,SIN,1198 150 | 150,BR011,B. Seri Begawan,Brunei Darussalam,CX,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,1333 151 | 151,QT164,B. Seri Begawan,Brunei Darussalam,CX,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,HKG,0,287 152 | 152,SI564,B. Seri Begawan,Brunei Darussalam,CX,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,HKG,0,159 153 | 153,SU402,B. Seri Begawan,Brunei Darussalam,CX,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,YVR,HKG,422 154 | 154,IQ604,B. Seri Begawan,Brunei Darussalam,KE,Asia,North America,Moncton,YQM,Canada,1/1/11,transfer,YYZ,ICN,353 155 | 155,HT169,B. Seri Begawan,Brunei Darussalam,PR,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,MNL,0,1312 156 | 156,WP106,B. Seri Begawan,Brunei Darussalam,SQ,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,LAX,SIN,1305 157 | 157,AO883,B. Seri Begawan,Brunei Darussalam,SQ,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,SFO,SIN,653 158 | 158,HD737,Phnom Penh,Cambodia,AA,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,LAX,HKG,840 159 | 159,SR102,Phnom Penh,Cambodia,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,1305 160 | 160,SA736,Phnom Penh,Cambodia,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,HKG,0,1253 161 | 161,VZ944,Phnom Penh,Cambodia,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,ICN,0,1016 162 | 162,GZ916,Phnom Penh,Cambodia,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,ICN,0,980 163 | 163,LT361,Siem Reap,Cambodia,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,ICN,0,1392 164 | 164,TS135,Phnom Penh,Cambodia,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PVG,0,1010 165 | 165,MU915,Phnom Penh,Cambodia,AC,Asia,North America,Halifax,YHZ,Canada,1/1/11,transfer,YYZ,HKG,591 166 | 166,AU647,Phnom Penh,Cambodia,AC,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,YYZ,HKG,719 167 | 167,OP311,Phnom Penh,Cambodia,AC,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YYZ,HKG,1262 168 | 168,PN601,Phnom Penh,Cambodia,AC,Asia,North America,Quebec,YQB,Canada,1/1/11,transfer,YYZ,HKG,1033 169 | ,PR270,Phnom Penh,Cambodia,AC,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,YVR,ICN,666 170 | 170,YD885,Phnom Penh,Cambodia,AC,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,YVR,ICN,543 171 | 171,ZL819,Phnom Penh,Cambodia,AC,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,YVR,ICN,523 172 | 172,NP284,Phnom Penh,Cambodia,AC,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,YVR,ICN,295 173 | 173,JF234,Phnom Penh,Cambodia,AC,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YVR,ICN,1500 174 | 174,FJ657,Phnom Penh,Cambodia,AC,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YVR,ICN,1483 175 | 175,PX701,Phnom Penh,Cambodia,AC,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,YYZ,ICN,1361 176 | 176,FT301,Phnom Penh,Cambodia,AC,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YYZ,ICN,1401 177 | 177,WM663,Phnom Penh,Cambodia,AC,Asia,North America,Saskatoon,YXE,Canada,1/1/11,transfer,YVR,PVG,1088 178 | 178,UB805,Phnom Penh,Cambodia,AC,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,YYZ,PVG,1039 179 | 179,DC668,Phnom Penh,Cambodia,AC,Asia,North America,Quebec,YQB,Canada,1/1/11,transfer,YYZ,PVG,1377 180 | 180,KZ104,Phnom Penh,Cambodia,BR,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,TPE,0,828 181 | 181,PD222,Phnom Penh,Cambodia,BR,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,TPE,0,1158 182 | 182,TR614,Phnom Penh,Cambodia,BR,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,EWR,TPE,1319 183 | 183,RT049,Phnom Penh,Cambodia,BR,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,YVR,TPE,515 184 | 184,KQ365,Phnom Penh,Cambodia,BR,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,YVR,TPE,1277 185 | 185,CN226,Phnom Penh,Cambodia,BR,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,YVR,TPE,266 186 | 186,BV361,Phnom Penh,Cambodia,BR,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YVR,TPE,223 187 | 187,UB482,Phnom Penh,Cambodia,BR,Asia,North America,Winnipeg,YWG,Canada,1/1/11,transfer,YVR,TPE,1200 188 | 188,UO437,Phnom Penh,Cambodia,BR,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,YYZ,TPE,295 189 | ,UO039,Phnom Penh,Cambodia,BR,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YYZ,TPE,236 190 | 190,CL377,Phnom Penh,Cambodia,BR,Asia,North America,Quebec,YQB,Canada,1/1/11,transfer,YYZ,TPE,1087 191 | 191,FS470,Phnom Penh,Cambodia,CI,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,TPE,0,991 192 | 192,MI773,Phnom Penh,Cambodia,CI,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,JFK,TPE,1020 193 | 193,LG284,Phnom Penh,Cambodia,CI,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,YVR,TPE,859 194 | 194,WY373,Phnom Penh,Cambodia,CI,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,YVR,TPE,1407 195 | 195,ZH499,Phnom Penh,Cambodia,CI,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,YVR,TPE,298 196 | 196,CJ641,Phnom Penh,Cambodia,CI,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YVR,TPE,672 197 | 197,VT968,Phnom Penh,Cambodia,CI,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,YVR,TPE,721 198 | ,AS136,Phnom Penh,Cambodia,CX,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,1408 199 | 199,MD021,Phnom Penh,Cambodia,CX,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,HKG,0,1069 200 | 200,QW310,Phnom Penh,Cambodia,CX,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,YVR,HKG,1461 201 | 201,VD219,Phnom Penh,Cambodia,CX,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,YVR,HKG,192 202 | 202,QP095,Phnom Penh,Cambodia,CX,Asia,North America,Victoria,YYJ,Canada,1/1/11,transfer,YVR,HKG,609 203 | 203,QL187,Phnom Penh,Cambodia,CX,Asia,North America,Winnipeg,YWG,Canada,1/1/11,transfer,YVR,HKG,473 204 | 204,OI431,Phnom Penh,Cambodia,CX,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,YYZ,HKG,256 205 | 205,VX780,Phnom Penh,Cambodia,CX,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YYZ,HKG,1166 206 | 206,YE165,Siem Reap,Cambodia,CX,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,YVR,HKG,485 207 | 207,FL599,Phnom Penh,Cambodia,DL,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,JFK,ICN,1387 208 | 208,MG164,Phnom Penh,Cambodia,KE,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,ICN,0,1389 209 | 209,UZ273,Phnom Penh,Cambodia,KE,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,ICN,0,1057 210 | 210,OC950,Siem Reap,Cambodia,KE,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,ICN,0,1058 211 | 211,PG312,Phnom Penh,Cambodia,KE,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,IAD,ICN,269 212 | 212,XK907,Phnom Penh,Cambodia,KE,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,JFK,ICN,1035 213 | 213,RQ287,Siem Reap,Cambodia,KE,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,JFK,ICN,1462 214 | 214,EM960,Siem Reap,Cambodia,KE,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,LAX,ICN,1471 215 | 215,NZ447,Siem Reap,Cambodia,KE,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,ORD,ICN,458 216 | 216,DE248,Siem Reap,Cambodia,KE,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,ORD,ICN,664 217 | 217,JF381,Phnom Penh,Cambodia,KE,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,ORD,ICN,168 218 | 218,HD782,Phnom Penh,Cambodia,KE,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,ORD,ICN,564 219 | 219,HI976,Siem Reap,Cambodia,KE,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,ORD,ICN,407 220 | 220,CZ867,Phnom Penh,Cambodia,KE,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,SEA,ICN,505 221 | 221,LM246,Phnom Penh,Cambodia,KE,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,SFO,ICN,1221 222 | 222,UH790,Siem Reap,Cambodia,KE,Asia,North America,Calgary,YYC,Canada,1/1/11,transfer,YVR,ICN,319 223 | 223,GD498,Phnom Penh,Cambodia,KE,Asia,North America,Edmonton,YEG,Canada,1/1/11,transfer,YVR,ICN,307 224 | 224,JM909,Phnom Penh,Cambodia,KE,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,YVR,ICN,1249 225 | 225,ZT824,Siem Reap,Cambodia,KE,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,YVR,ICN,482 226 | 226,WY097,Siem Reap,Cambodia,KE,Asia,North America,Nanaimo,YCD,Canada,1/1/11,transfer,YVR,ICN,990 227 | 227,XJ413,Phnom Penh,Cambodia,KE,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YVR,ICN,1185 228 | 228,UR975,Siem Reap,Cambodia,KE,Asia,North America,Victoria,YYJ,Canada,1/1/11,transfer,YVR,ICN,1222 229 | 229,GO961,Phnom Penh,Cambodia,KE,Asia,North America,Winnipeg,YWG,Canada,1/1/11,transfer,YVR,ICN,1057 230 | 230,PB107,Phnom Penh,Cambodia,KE,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,YYZ,ICN,769 231 | 231,GV473,Phnom Penh,Cambodia,KE,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,YYZ,ICN,1456 232 | 232,HZ500,Phnom Penh,Cambodia,MU,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,PVG,0,1313 233 | 233,YO895,Beijing,China,AA,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,ORD,0,873 234 | 234,DJ778,Shanghai,China,AA,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,ORD,0,487 235 | 235,HQ279,Beijing,China,AA,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,ORD,0,836 236 | 236,RB795,Shanghai,China,AA,Asia,North America,Ottawa,YOW,Canada,1/1/11,transfer,ORD,0,207 237 | ,QD259,Beijing,China,AA,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,ORD,0,1273 238 | 238,UK843,Shanghai,China,AA,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,ORD,0,1162 239 | 239,AP895,Shanghai,China,AA,Asia,North America,Halifax,YHZ,Canada,1/1/11,transfer,JFK,NRT,354 240 | 240,SF917,Beijing,China,AA,Asia,North America,Halifax,YHZ,Canada,1/1/11,transfer,JFK,ORD,921 241 | 241,IJ504,Dalian,China,AA,Asia,North America,Montreal,YUL,Canada,1/1/11,transfer,ORD,PEK,561 242 | 242,UR118,Dalian,China,AA,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,ORD,PVG,1444 243 | 243,EW099,Beijing,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,direct,0,0,1106 244 | ,XT198,Shanghai,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,direct,0,0,510 245 | 245,DP530,Beijing,China,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,direct,0,0,1005 246 | 246,TI391,Shanghai,China,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,direct,0,0,786 247 | 247,JF688,Beijing,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,1035 248 | 248,XN106,Changsha,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,1187 249 | 249,SR026,Chengdu,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,628 250 | 250,WF912,Fuzhou,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,1329 251 | 251,GJ338,Guangzhou,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,778 252 | 252,FY738,Guangzhou,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,1350 253 | 253,YL297,Guangzhou,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,1237 254 | 254,PK498,Nanjing,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,566 255 | 255,WD051,Nanning,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,818 256 | 256,VF137,Shanghai,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,1262 257 | ,HY708,Xiamen,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,HKG,0,375 258 | 258,LB373,Guangzhou,China,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,HKG,0,1063 259 | 259,FR667,Nanjing,China,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,HKG,0,585 260 | 260,DO331,Changsha,China,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,ICN,0,532 261 | 261,KE442,Guangzhou,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,NRT,0,981 262 | 262,BN124,Chengdu,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,906 263 | 263,QL903,Chongqing,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,391 264 | 264,BG150,Dalian,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,784 265 | 265,DU909,Guangzhou,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,1148 266 | 266,ZD483,Harbin,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,636 267 | 267,XM846,Hohhot,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,817 268 | 268,QH572,Kunming,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,1469 269 | 269,WM537,Lanzhou,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,357 270 | 270,KJ550,Nanning,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,1216 271 | 271,ZA138,Shenyang,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,912 272 | 272,KR042,Xi An,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,967 273 | 273,KY805,Xiamen,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,1260 274 | 274,JN532,Yantai,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,1196 275 | 275,QZ244,Zhengzhou,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,1203 276 | 276,DM965,Zhengzhou,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PEK,0,1443 277 | 277,NC588,Chengdu,China,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,PEK,0,974 278 | 278,MW758,Chongqing,China,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,PEK,0,1048 279 | 279,SK505,Dalian,China,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,PEK,0,674 280 | ,MF862,Hangzhou,China,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,PEK,0,297 281 | 281,RT614,Shenyang,China,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,PEK,0,949 282 | 282,OK649,Wenzhou,China,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,PEK,0,981 283 | 283,SW835,Xiamen,China,AC,Asia,North America,Vancouver,YVR,Canada,1/1/11,transfer,PEK,0,628 284 | 284,VQ895,Beijing,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PVG,0,814 285 | 285,KV458,Chongqing,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PVG,0,203 286 | 286,NH279,Dalian,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PVG,0,1420 287 | 287,LI260,Nanchang,China,AC,Asia,North America,Toronto,YYZ,Canada,1/1/11,transfer,PVG,0,880 -------------------------------------------------------------------------------- /flightdetails.hive: -------------------------------------------------------------------------------- 1 | --hive -f flightdetails.hive 2 | ADD jar /root/final_project_ASJ/myjars/csv-serde-1.1.2-0.11.0-all.jar; 3 | USE mydb; 4 | DROP TABLE FlightDetails; 5 | DROP TABLE FlightDetails_ORC; 6 | 7 | CREATE TABLE FlightDetails(Travel_ID STRING,FlightNumber STRING,destinationCity STRING,destinationCountry STRING,carrier STRING,destinationContinent STRING,originalContinent STRING,originalCity STRING,origin STRING,originalCountry STRING,traveldate STRING,typeofpassenger STRING,stop_1 STRING,stop_2 STRING,fareInDollars STRING) 8 | ROW FORMAT SERDE 'com.bizo.hive.serde.csv.CSVSerde' 9 | WITH SERDEPROPERTIES ( 10 | "separatorChar" = ",", 11 | "quoteChar" = "\"", 12 | "escapeChar" = "\\" 13 | ) 14 | STORED AS TEXTFILE; 15 | 16 | LOAD DATA LOCAL INPATH '/root/final_project_ASJ/data/flightdata.csv' INTO TABLE FlightDetails; 17 | 18 | CREATE TABLE FlightDetails_ORC(Travel_ID INT,FlightNumber STRING,destinationCity STRING,destinationCountry STRING,carrier STRING,destinationContinent STRING,originalContinent STRING,originalCity STRING, origin STRING,originalCountry STRING,traveldate STRING,typeofpassenger STRING,stop_1 STRING,stop_2 STRING,fareInDollars INT) STORED AS ORC; 19 | 20 | INSERT OVERWRITE TABLE FlightDetails_ORC 21 | SELECT 22 | Travel_ID 23 | ,FlightNumber 24 | ,destinationCity 25 | ,destinationCountry 26 | ,carrier 27 | ,destinationContinent 28 | ,originalContinent 29 | ,originalCity 30 | ,origin 31 | ,originalCountry 32 | ,traveldate 33 | ,typeofpassenger 34 | ,stop_1 35 | ,stop_2 36 | ,fareInDollars 37 | FROM FlightDetails 38 | WHERE Travel_ID <>'' AND stop_2 != '0'; 39 | 40 | --select * from FlightDetails_ORC; 41 | -------------------------------------------------------------------------------- /myjars/csv-serde-1.1.2-0.11.0-all.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arun-kambhammettu/Python_Hadoop_BigData/366ffc21b78221535fb251be01134d922ba65374/myjars/csv-serde-1.1.2-0.11.0-all.jar -------------------------------------------------------------------------------- /myjars/csv-serde.jar: -------------------------------------------------------------------------------- 1 | csv-serde-1.1.2-0.11.0-all.jar -------------------------------------------------------------------------------- /output/first_report_output/.part-r-00000.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arun-kambhammettu/Python_Hadoop_BigData/366ffc21b78221535fb251be01134d922ba65374/output/first_report_output/.part-r-00000.crc -------------------------------------------------------------------------------- /output/first_report_output/SUCCESS.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arun-kambhammettu/Python_Hadoop_BigData/366ffc21b78221535fb251be01134d922ba65374/output/first_report_output/SUCCESS.crc -------------------------------------------------------------------------------- /output/first_report_output/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arun-kambhammettu/Python_Hadoop_BigData/366ffc21b78221535fb251be01134d922ba65374/output/first_report_output/_SUCCESS -------------------------------------------------------------------------------- /output/first_report_output/part-r-00000: -------------------------------------------------------------------------------- 1 | XP307,KU,Ottawa,Dhaka,78480 2 | JK522,AC,Ottawa,Dhaka,78300 3 | TP168,EK,Ottawa,Dhaka,73980 4 | MH327,KU,Ottawa,Dhaka,67800 5 | FK627,QR,Ottawa,Dhaka,66720 6 | RT639,QR,Ottawa,Dhaka,63180 7 | XR988,KU,Ottawa,Dhaka,41160 8 | RE132,QR,Ottawa,Dhaka,37080 9 | IA111,GF,Ottawa,Dhaka,27120 10 | MJ373,EK,Ottawa,Dhaka,20640 11 | -------------------------------------------------------------------------------- /output/second_report_output/.part-r-00000.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arun-kambhammettu/Python_Hadoop_BigData/366ffc21b78221535fb251be01134d922ba65374/output/second_report_output/.part-r-00000.crc -------------------------------------------------------------------------------- /output/second_report_output/SUCCESS.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arun-kambhammettu/Python_Hadoop_BigData/366ffc21b78221535fb251be01134d922ba65374/output/second_report_output/SUCCESS.crc -------------------------------------------------------------------------------- /output/second_report_output/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arun-kambhammettu/Python_Hadoop_BigData/366ffc21b78221535fb251be01134d922ba65374/output/second_report_output/_SUCCESS -------------------------------------------------------------------------------- /output/second_report_output/part-r-00000: -------------------------------------------------------------------------------- 1 | FK627,boeing698,32,110 2 | IA111,boeing544,45,90 3 | JK522,boeing383,42,160 4 | MH327,boeing658,40,50 5 | MJ373,boeing413,50,120 6 | RT639,boeing756,36,160 7 | TP168,boeing383,32,60 8 | WM311,boeing589,25,130 9 | XP307,boeing634,35,180 10 | XR988,boeing544,20,120 11 | -------------------------------------------------------------------------------- /pig_util.py: -------------------------------------------------------------------------------- 1 | import logging 2 | 3 | class udf_logging(object): 4 | udf_log_level = logging.INFO 5 | 6 | @classmethod 7 | def set_log_level_error(cls): 8 | cls.udf_log_level = logging.ERROR 9 | 10 | @classmethod 11 | def set_log_level_warn(cls): 12 | cls.udf_log_level = logging.WARN 13 | 14 | @classmethod 15 | def set_log_level_info(cls): 16 | cls.udf_log_level = logging.INFO 17 | 18 | @classmethod 19 | def set_log_level_debug(cls): 20 | cls.udf_log_level = logging.DEBUG 21 | 22 | def outputSchema(schema_str): 23 | def wrap(f): 24 | def wrapped_f(*args): 25 | return f(*args) 26 | return wrapped_f 27 | return wrap 28 | 29 | def write_user_exception(filename, stream_err_output, num_lines_offset_trace=0): 30 | import sys 31 | import traceback 32 | import inspect 33 | (t, v, tb) = sys.exc_info() 34 | name = t.__name__ 35 | record_error = False 36 | 37 | if name in ['SyntaxError', 'IndentationError']: 38 | syntax_error_values = v.args 39 | user_line_number = syntax_error_values[1][1] - num_lines_offset_trace 40 | error_message = "%s: %s\n\tFile: %s, line %s column %s\n\t%s" % \ 41 | (name, 42 | syntax_error_values[0], 43 | syntax_error_values[1][0], 44 | user_line_number, 45 | syntax_error_values[1][2], 46 | syntax_error_values[1][3]) 47 | else: 48 | error_message = "%s: %s\n" % (name, v) 49 | user_line_number = None 50 | while 1: 51 | e_file_name = tb.tb_frame.f_code.co_filename 52 | if e_file_name.find(filename) > 0: 53 | record_error = True 54 | if not record_error: 55 | if not tb.tb_next: 56 | break 57 | tb = tb.tb_next 58 | continue 59 | 60 | line_number = tb.tb_lineno 61 | mod = inspect.getmodule(tb) 62 | if mod: 63 | lines, offset = inspect.getsourcelines(mod) 64 | line = lines[line_number - offset - 1] 65 | else: 66 | #Useful to catch exceptions with an invalid module (like syntax 67 | #errors) 68 | lines, offset = inspect.getsourcelines(tb.tb_frame) 69 | if (line_number - 1) >= len(lines): 70 | line = "Unknown Line" 71 | else: 72 | line = lines[line_number - 1] 73 | 74 | user_line_number = line_number - num_lines_offset_trace 75 | func_name = tb.tb_frame.f_code.co_name 76 | error_message += 'File %s, line %s, in %s\n\t%s\n' % \ 77 | (e_file_name, user_line_number, func_name, line) 78 | if not tb.tb_next: 79 | break 80 | tb = tb.tb_next 81 | if name in ['UnicodeEncodeError']: 82 | error_message += "\nTo print a unicode string in your udf use encode('utf-8'). Example: \n\tprint 'Example'.encode('utf-8')" 83 | if user_line_number: 84 | stream_err_output.write("%s\n" % user_line_number) 85 | stream_err_output.write("%s\n" % error_message) 86 | -------------------------------------------------------------------------------- /pig_util.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arun-kambhammettu/Python_Hadoop_BigData/366ffc21b78221535fb251be01134d922ba65374/pig_util.pyc -------------------------------------------------------------------------------- /pigscript.pig: -------------------------------------------------------------------------------- 1 | --pig -useHCatalog -x local -f pigscript.pig 2 | REGISTER '/root/final_project_ASJ/pigscript.py' USING streaming_python AS udfs; 3 | actual = LOAD 'mydb.flightdetails_orc' USING org.apache.hive.hcatalog.pig.HCatLoader(); 4 | transformed = FILTER actual BY originalcity == 'Ottawa' AND destinationcity == 'Dhaka'; 5 | udfed = FOREACH transformed GENERATE flightnumber,carrier,originalcity,destinationcity,udfs.currencyConverter(fareindollars) AS rupees; 6 | ordered = ORDER udfed BY rupees DESC; 7 | topten = LIMIT ordered 10; 8 | 9 | STORE topten INTO 'output/first_report_output' USING PigStorage(','); 10 | -------------------------------------------------------------------------------- /pigscript.py: -------------------------------------------------------------------------------- 1 | from pig_util import outputSchema 2 | @outputSchema('currencyConverter:int') 3 | def currencyConverter(fare): 4 | output_currency = '' 5 | output_currency = fare * 60 6 | 7 | return output_currency 8 | -------------------------------------------------------------------------------- /pigscript.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arun-kambhammettu/Python_Hadoop_BigData/366ffc21b78221535fb251be01134d922ba65374/pigscript.pyc --------------------------------------------------------------------------------