0% found this document useful (0 votes)
14 views

PySpark Notes

The document provides an overview of PySpark, a Python API for Apache Spark, highlighting its components, execution modes, and the Spark shell. It explains the concept of Resilient Distributed Datasets (RDDs) as the core data structure in Spark, detailing their creation, transformations, and actions. Additionally, it includes code snippets demonstrating the use of SparkContext and RDDs for data processing.

Uploaded by

Rambabu Giduturi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

PySpark Notes

The document provides an overview of PySpark, a Python API for Apache Spark, highlighting its components, execution modes, and the Spark shell. It explains the concept of Resilient Distributed Datasets (RDDs) as the core data structure in Spark, detailing their creation, transformations, and actions. Additionally, it includes code snippets demonstrating the use of SparkContext and RDDs for data processing.

Uploaded by

Rambabu Giduturi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 190

PySpark - From Zero to Hero (March 2019)

Overview of PySpark

 Apache Spark is written in Scala

 To support Python with Spark, Apache Spark Community released PySpark

 Similar computation speed and power as Scala

 PySpark APIs are similar to Pandas and Scikit-learn

 The high level components of a Spark application include the Spark driver, the Spark executors and the Cluster Manager.

 Spark supports three cluster managers:

 Built-in standalone cluster managers

 Apache Mesos

 Hadoop YARN

 Execution modes:

 Cluster Mode,

 Client Mode(default),

 Local Mode.

What is Spark shell?

 Interactive environment for running Spark jobs

 Helpful for fast interactive prototyping

 Spark’s shells allow interacting with data on disk or in memory

 Three different Spark shells:

Spark-shell for Scala

PySpark-shell for Python

SparkR for R

PySpark shell

 PySpark shell is the Python-based command line tool

 PySpark shell data scientists interfere with Spark data structures

 PySpark shell support connecting to cluster

Understanding SparkContext

 SparkContext is an entry point into the world of Spark

 An entry point is a way of connecting to Spark cluster

 An entry point is like a key to the house

 PySpark has a default SparkContext called sc

In [1]:

from pyspark import SparkContext


from pyspark.sql import SQLContext
import warnings
"""
try:
# create SparkContext on all CPUs available: in my case I have 4 CPUs on
my laptop
sc = SparkContext(appName="SDDM", master='local[*]')
print("Just created a SparkContext")
sqlContext = SQLContext(sc)
print("Just created a SQLContext")
except ValueError:
warnings.warn("SparkContext already exists in this scope")

"""

"""
sc = SparkContext(appName="SDDM")

sc.setMaster('spark://fs.das3.liacs.nl:7077')#("local[*]")

sc = SparkContext.getOrCreate()
"""

sc = SparkContext(appName="SDDM", master= "local[*]")

sc = SparkContext.getOrCreate()

# ==>> DO NOT FORGET WHNE YOU'RE DONE>> sc.stop()


In [4]:

sc.stop()
In [3]:

# Master can be local[*], spark:// , yarn, etc.


# SparkContext available as sc, SQLContext available as sqlContext.

# Inspecting SparkContext
# Version: To retrieve SparkContext version

print (sc.version)
#2.3.1

# Python Version: To retrieve Python version of SparkContext

print(sc.pythonVer)
#3.6

# Master: URL of the cluster or “local” string to run in local mode of


SparkContext

print (sc.master)

#local[*]
2.4.0
3.6
local[*]
In [ ]:

# Spark executon plan to show lazy evaluation with Word Count example
#
https://github.com/tirthajyoti/Spark-with-Python/blob/master/Word_Count.ipynb

# SparkContext - number of workers and lazy evaluation¶

#
https://github.com/tirthajyoti/Spark-with-Python/blob/master/SparkContext_Work
ers_Lazy_Evaluations.ipynb
Spark RDD (Resillient Distributed Datasets)

Basics of RDD
Resilient Distributed Datasets (RDD) is a fundamental data structure of Spark. It is an immutable distributed collection of objects. Each dataset in RDD is divided into logical partitions,
which may be computed on different nodes of the cluster. RDDs can contain any type of Python, Java, or Scala objects, including user-defined classes.

Spark makes use of the concept of RDD to achieve faster and efficient MapReduce operations.

Formally, an RDD is a read-only, partitioned collection of records. RDDs can be created through deterministic operations on either data on stable storage or other RDDs. RDD is a fault-
tolerant collection of elements that can be operated on in parallel.

Spark's core data structure is the Resilient Distributed Dataset (RDD). This is a low level object that lets Spark work its magic by splitting data across multiple nodes in the cluster.

Resilient: Ability to withstand failures

Distributed: Spanning across multiple machines

Datasets: Collection of partitioned data e.g, Arrays, Tables, Tuples etc.,

RDD is

 Lazily evaluated (transformations & actions)

 Recomputed on node failure

 Distributed across the cluster

Transformations (lazy)

map

filter

flatMap

reduceByKey

join

cogroup

Actions (eager)

count

reduce

collect
take

saveAsTextFile

saveAsHadoop

countByValue

Creating RDDs
There are two ways to create RDDs,

parallelizing an existing collection of objects in your driver program,

External datasets (referencing a dataset in an external storage system, such as a shared file system, HDFS, HBase, or any data source offering a Hadoop Input Format.)

Files in HDFS

Objects in Amazon S3 bucket

lines in a text file

From existing RDDs

In [4]:

# Loading data in PySpark

# Parallelized collection (parallelizing)

# parallelize() for creating RDDs from python lists

numRDD = sc.parallelize([1,2,3,4])

helloRDD = sc.parallelize("Hello world")

print (type(helloRDD))

#SparkContext's parallelize() method

rdd = sc.parallelize([1,2,3,4,5])

# creating RDDs from external datasets


# SparkContext's textFile() method

rdd2 = sc.textFile("example_text.txt")
<class 'pyspark.rdd.RDD'>
In [5]:

numRDD.collect()
Out[5]:
[1, 2, 3, 4]
In [6]:
rdd.collect()
Out[6]:
[1, 2, 3, 4, 5]
In [8]:

rdd2.filter(lambda x: x!="").collect()[:10]
Out[8]:
['The Project Gutenberg EBook of Ulysses, by James Joyce',
'This eBook is for the use of anyone anywhere at no cost and with almost',
'no restrictions whatsoever. You may copy it, give it away or re-use',
'it under the terms of the Project Gutenberg License included with this',
'eBook or online at www.gutenberg.org',
'Title: Ulysses',
'Author: James Joyce',
'Release Date: August 1, 2008 [EBook #4300]',
'Last Updated: August 17, 2017',
'Language: English']
In [15]:

rdd2.count()
Out[15]:
32710
In [162]:

LineLength = rdd2.map(lambda x : len(x))


print (LineLength.count())
print (LineLength.collect()[:5])
32710
[0, 54, 0, 71, 67]
In [156]:

rdd3 = sc.wholeTextFiles("example_text.txt", 8)

rdd3.keys().collect()
Out[156]:
['file:/Users/vkocaman/Python_Projects/Leiden/Spark/example_text.txt']
In [158]:

rdd3.values().collect()
In [ ]:

# Read Data from HDFS


# hdfs://localhost:9746 filamentData.csv
data = sc.textFile('hdfs://localhost:9746/bookData/filamentData.csv',4)
data.take(4)

# Read a file from HDFS and count the words


https://github.com/radanalyticsio/radanalyticsio.github.io/blob/master/
assets/pyspark_hdfs_notebook/PySpark_HDFS.ipynb

# Reading input from S3 with Apache Spark on OpenShift


https://github.com/radanalyticsio/radanalyticsio.github.io/blob/master/
assets/s3-source-example/s3-source-example.ipynb
In [ ]:

# Creates a DataFrame based on a table named "people"


# stored in a MySQL database.
url = \
"jdbc:mysql://yourIP:yourPort/test?user=yourUsername;password=yourPassword"
df = sqlContext \
.read \
.format("jdbc") \
.option("url", url) \
.option("dbtable", "people") \
.load()

# Looks the schema of this DataFrame.


df.printSchema()

# Counts people by age


countsByAge = df.groupBy("age").count()
countsByAge.show()

# Saves countsByAge to S3 in the JSON format.


countsByAge.write.format("json").save("s3a://...")
In [ ]:

# Save RDD Data to HDFS


playData = sc.textFile('/home/muser/bData/shakespearePlays.txt',4)
playDataLineLength = playData.map(lambda x : len(x))

# Each file has a single data point because our RDD has four partitions.
playDataLineLength.saveAsTextFile('hdfs://localhost:9746/savedData/')
# hadoop fs -cat /savedData/part-00000
# hadoop fs -cat /savedData/part-00001
# hadoop fs -cat /savedData/part-00002
# hadoop fs -cat /savedData/part-00003
In [3]:

# Read a CSV File


# Writing a Python Function to Parse CSV Lines
import csv
from io import StringIO

def parseCSV(csvRow) :
data = StringIO(csvRow)
dataReader = csv.reader(data, lineterminator = '')
return(next(dataReader))

csvRow = "p,s,r,p"
parseCSV(csvRow)
Out[3]:
['p', 's', 'r', 'p']
In [4]:

# Read csv file and Creating a Paired RDD


filamentRDD = sc.textFile('flights_small.csv', 4)
filamentRDDCSV = filamentRDD.map(parseCSV)
filamentRDDCSV.take(1)
Out[4]:
[['year',
'month',
'day',
'dep_time',
'dep_delay',
'arr_time',
'arr_delay',
'carrier',
'tailnum',
'flight',
'origin',
'dest',
'air_time',
'distance',
'hour',
'minute']]
In [ ]:

rdd=[["asin", "helpful", "overall", "reviewText", "reviewTime", "reviewerID",


"reviewerName", "summary", "unixReviewTime", "title", "price", "brand",
"also_bought", "also_viewed", "bought_together", "salesRank", "categories",
"related", "imUrl", "description"],
[...., ..., ... , ...]]
rdd_helpfull=["asin", "reviewerID", "helpfulness_ratio"]
In [ ]:

def rdd_join(x):
if x[0]=="asin":
return x+["helpfulness_ratio"]
else:
new_col = rdd_helpfull.filter(lambda y: y[0]==x[0] and
y[1]==x[5]).collect()[2]
return x+new_col

rdd.map(lambda x: rdd_join(x))
In [42]:
def hr_to_min(x):
if x[0]=="year":
return x+["sum"]
else:
return x+[len(x[7])]
In [ ]:

[i for i in x]+[]
In [43]:

a=filamentRDDCSV.map(lambda x: hr_to_min(x))
#a.take(10)
In [45]:

a.collect()
Out[45]:
[['year',
'month',
'day',
'dep_time',
'dep_delay',
'arr_time',
'arr_delay',
'carrier',
'tailnum',
'flight',
'origin',
'dest',
'air_time',
'distance',
'hour',
'minute',
'sum'],
['2014',
'12',
'8',
'658',
'-7',
'935',
'-5',
'VX',
'N846VA',
'1780',
'SEA',
'LAX',
'132',
'954',
'6',
'58',
2],
['2014',
'1',
'22',
'1040',
'5',
'1505',
'5',
'AS',
'N559AS',
'851',
'SEA',
'HNL',
'360',
'2677',
'10',
'40',
2],
['2014',
'3',
'9',
'1443',
'-2',
'1652',
'2',
'VX',
'N847VA',
'755',
'SEA',
'SFO',
'111',
'679',
'14',
'43',
2],
['2014',
'4',
'9',
'1705',
'45',
'1839',
'34',
'WN',
'N360SW',
'344',
'PDX',
'SJC',
'83',
'569',
'17',
'5',
2],
['2014',
'3',
'9',
'754',
'-1',
'1015',
'1',
'AS',
'N612AS',
'522',
'SEA',
'BUR',
'127',
'937',
'7',
'54',
2],
['2014',
'1',
'15',
'1037',
'7',
'1352',
'2',
'WN',
'N646SW',
'48',
'PDX',
'DEN',
'121',
'991',
'10',
'37',
2],
['2014',
'7',
'2',
'847',
'42',
'1041',
'51',
'WN',
'N422WN',
'1520',
'PDX',
'OAK',
'90',
'543',
'8',
'47',
2],
['2014',
'5',
'12',
'1655',
'-5',
'1842',
'-18',
'VX',
'N361VA',
'755',
'SEA',
'SFO',
'98',
'679',
'16',
'55',
2],
['2014',
'4',
'19',
'1236',
'-4',
'1508',
'-7',
'AS',
'N309AS',
'490',
'SEA',
'SAN',
'135',
'1050',
'12',
'36',
2],
['2014',
'11',
'19',
'1812',
'-3',
'2352',
'-4',
'AS',
'N564AS',
'26',
'SEA',
'ORD',
'198',
'1721',
'18',
'12',
2],
['2014',
'11',
'8',
'1653',
'-2',
'1924',
'-1',
'AS',
'N323AS',
'448',
'SEA',
'LAX',
'130',
'954',
'16',
'53',
2],
['2014',
'8',
'3',
'1120',
'0',
'1415',
'2',
'AS',
'N305AS',
'656',
'SEA',
'PHX',
'154',
'1107',
'11',
'20',
2],
['2014',
'10',
'30',
'811',
'21',
'1038',
'29',
'AS',
'N433AS',
'608',
'SEA',
'LAS',
'127',
'867',
'8',
'11',
2],
['2014',
'11',
'12',
'2346',
'-4',
'217',
'-28',
'AS',
'N765AS',
'121',
'SEA',
'ANC',
'183',
'1448',
'23',
'46',
2],
['2014',
'10',
'31',
'1314',
'89',
'1544',
'111',
'AS',
'N713AS',
'306',
'SEA',
'SFO',
'129',
'679',
'13',
'14',
2],
['2014',
'1',
'29',
'2009',
'3',
'2159',
'9',
'UA',
'N27205',
'1458',
'PDX',
'SFO',
'90',
'550',
'20',
'9',
2],
['2014',
'12',
'17',
'2015',
'50',
'2150',
'41',
'AS',
'N626AS',
'368',
'SEA',
'SMF',
'76',
'605',
'20',
'15',
2],
['2014',
'8',
'11',
'1017',
'-3',
'1613',
'-7',
'WN',
'N8634A',
'827',
'SEA',
'MDW',
'216',
'1733',
'10',
'17',
2],
['2014',
'1',
'13',
'2156',
'-9',
'607',
'-15',
'AS',
'N597AS',
'24',
'SEA',
'BOS',
'290',
'2496',
'21',
'56',
2],
['2014',
'6',
'5',
'1733',
'-12',
'1945',
'-10',
'OO',
'N215AG',
'3488',
'PDX',
'BUR',
'111',
'817',
'17',
'33',
2],
['2014',
'7',
'27',
'2105',
'15',
'2316',
'21',
'AS',
'N519AS',
'300',
'SEA',
'SFO',
'106',
'679',
'21',
'5',
2],
['2014',
'9',
'26',
'610',
'-5',
'1523',
'65',
'US',
'N127UW',
'616',
'SEA',
'PHL',
'293',
'2378',
'6',
'10',
2],
['2014',
'8',
'19',
'1845',
'-5',
'2112',
'-22',
'DL',
'N354NW',
'2642',
'SEA',
'LAX',
'119',
'954',
'18',
'45',
2],
['2014',
'8',
'19',
'1222',
'5',
'1419',
'-1',
'OO',
'N825SK',
'4623',
'SEA',
'SJC',
'90',
'697',
'12',
'22',
2],
['2014',
'10',
'29',
'643',
'3',
'851',
'2',
'OO',
'N218AG',
'3456',
'PDX',
'BUR',
'108',
'817',
'6',
'43',
2],
['2014',
'6',
'5',
'1133',
'38',
'1247',
'32',
'WN',
'N793SA',
'1617',
'PDX',
'RNO',
'61',
'444',
'11',
'33',
2],
['2014',
'12',
'30',
'1305',
'70',
'1525',
'86',
'AS',
'N520AS',
'306',
'SEA',
'SFO',
'117',
'679',
'13',
'5',
2],
['2014',
'9',
'28',
'1848',
'-7',
'2044',
'-9',
'OO',
'N217AG',
'3490',
'SEA',
'FAT',
'98',
'748',
'18',
'48',
2],
['2014',
'12',
'4',
'954',
'-6',
'1348',
'-17',
'HA',
'N395HA',
'29',
'SEA',
'OGG',
'333',
'2640',
'9',
'54',
2],
['2014',
'2',
'25',
'555',
'-5',
'819',
'-3',
'AS',
'N549AS',
'604',
'SEA',
'LAS',
'121',
'867',
'5',
'55',
2],
['2014',
'12',
'14',
'633',
'-7',
'841',
'-9',
'OO',
'N951SW',
'3456',
'PDX',
'BUR',
'107',
'817',
'6',
'33',
2],
['2014',
'8',
'24',
'1646',
'21',
'1901',
'1',
'B6',
'N606JB',
'1007',
'SEA',
'LGB',
'121',
'965',
'16',
'46',
2],
['2014',
'6',
'4',
'1115',
'0',
'1346',
'-3',
'AS',
'N461AS',
'488',
'SEA',
'SAN',
'133',
'1050',
'11',
'15',
2],
['2014',
'6',
'26',
'2054',
'-1',
'2318',
'-6',
'B6',
'N590JB',
'907',
'SEA',
'ANC',
'179',
'1448',
'20',
'54',
2],
['2014',
'6',
'11',
'1957',
'-3',
'2201',
'-2',
'AS',
'N778AS',
'326',
'SEA',
'SJC',
'106',
'697',
'19',
'57',
2],
['2014',
'6',
'7',
'1823',
'-7',
'2112',
'-28',
'AS',
'N512AS',
'815',
'SEA',
'LIH',
'335',
'2701',
'18',
'23',
2],
['2014',
'4',
'30',
'801',
'1',
'1757',
'90',
'AS',
'N407AS',
'18',
'SEA',
'MCO',
'342',
'2554',
'8',
'1',
2],
['2014',
'11',
'29',
'905',
'155',
'1655',
'170',
'DL',
'N824DN',
'1598',
'SEA',
'ATL',
'229',
'2182',
'9',
'5',
2],
['2014',
'7',
'25',
'948',
'-2',
'1229',
'-10',
'OO',
'N223AG',
'3492',
'PDX',
'SLC',
'85',
'630',
'9',
'48',
2],
['2014',
'8',
'30',
'2004',
'26',
'2325',
'22',
'F9',
'N204FR',
'794',
'PDX',
'DEN',
'120',
'991',
'20',
'4',
2],
['2014',
'6',
'2',
'2222',
'7',
'55',
'15',
'AS',
'N402AS',
'99',
'SEA',
'ANC',
'190',
'1448',
'22',
'22',
2],
['2014',
'11',
'15',
'1034',
'-6',
'1414',
'-26',
'AS',
'N589AS',
'794',
'SEA',
'ABQ',
'139',
'1180',
'10',
'34',
2],
['2014',
'11',
'15',
'1858',
'8',
'2107',
'2',
'AS',
'N587AS',
'616',
'SEA',
'LAS',
'106',
'867',
'18',
'58',
2],
['2014',
'10',
'20',
'1328',
'-1',
'1949',
'4',
'UA',
'N68805',
'1212',
'SEA',
'IAH',
'228',
'1874',
'13',
'28',
2],
['2014',
'10',
'23',
'2102',
'-3',
'2258',
'5',
'OO',
'N969SW',
'5189',
'PDX',
'SFO',
'93',
'550',
'21',
'2',
2],
['2014',
'12',
'16',
'1500',
'0',
'1906',
'19',
'US',
'N662AW',
'500',
'SEA',
'PHX',
'151',
'1107',
'15',
'0',
2],
['2014',
'11',
'19',
'1319',
'-6',
'1821',
'-14',
'DL',
'N309US',
'2164',
'PDX',
'MSP',
'169',
'1426',
'13',
'19',
2],
['2014',
'5',
'21',
'515',
'0',
'757',
'0',
'US',
'N172US',
'593',
'SEA',
'PHX',
'143',
'1107',
'5',
'15',
2],
['2014',
'9',
'3',
'900',
'-5',
'1136',
'-1',
'US',
'N579UW',
'630',
'PDX',
'PHX',
'138',
'1009',
'9',
'0',
2],
['2014',
'7',
'26',
'1058',
'-2',
'1407',
'12',
'AS',
'N315AS',
'648',
'SEA',
'TUS',
'174',
'1216',
'10',
'58',
2],
['2014',
'9',
'29',
'1003',
'58',
'1222',
'45',
'US',
'N157UW',
'630',
'PDX',
'PHX',
'125',
'1009',
'10',
'3',
2],
['2014',
'6',
'11',
'750',
'-10',
'1009',
'-11',
'AS',
'N799AS',
'568',
'PDX',
'LAX',
'118',
'834',
'7',
'50',
2],
['2014',
'3',
'13',
'2201',
'1',
'554',
'-14',
'UA',
'N37468',
'1275',
'SEA',
'EWR',
'268',
'2402',
'22',
'1',
2],
['2014',
'8',
'8',
'2011',
'11',
'2216',
'11',
'AS',
'N565AS',
'326',
'SEA',
'SJC',
'104',
'697',
'20',
'11',
2],
['2014',
'9',
'4',
'830',
'-5',
'1647',
'-23',
'AS',
'N583AS',
'12',
'SEA',
'BOS',
'285',
'2496',
'8',
'30',
2],
['2014',
'9',
'15',
'1025',
'-5',
'1259',
'-5',
'AS',
'N585AS',
'85',
'SEA',
'ANC',
'181',
'1448',
'10',
'25',
2],
['2014',
'6',
'13',
'2233',
'53',
'2359',
'38',
'AS',
'N577AS',
'372',
'SEA',
'SMF',
'68',
'605',
'22',
'33',
2],
['2014',
'5',
'2',
'1253',
'-2',
'1452',
'-3',
'AS',
'N516AS',
'324',
'SEA',
'SJC',
'107',
'697',
'12',
'53',
2],
['2014',
'12',
'9',
'936',
'-14',
'1215',
'-25',
'OO',
'N225AG',
'3492',
'PDX',
'SLC',
'82',
'630',
'9',
'36',
2],
['2014',
'5',
'22',
'1018',
'-3',
'1621',
'1',
'UA',
'N559UA',
'732',
'PDX',
'ORD',
'211',
'1739',
'10',
'18',
2],
['2014',
'3',
'20',
'1200',
'-8',
'1239',
'-7',
'OO',
'N569SW',
'5411',
'PDX',
'EUG',
'30',
'106',
'12',
'0',
2],
['2014',
'7',
'13',
'2125',
'-5',
'2216',
'-8',
'AS',
'N315AS',
'694',
'SEA',
'GEG',
'37',
'224',
'21',
'25',
2],
['2014',
'1',
'15',
'808',
'-2',
'1011',
'1',
'WN',
'N364SW',
'207',
'SEA',
'OAK',
'104',
'672',
'8',
'8',
2],
['2014',
'10',
'12',
'1836',
'-4',
'2200',
'-15',
'OO',
'N219AG',
'3498',
'SEA',
'COS',
'123',
'1068',
'18',
'36',
2],
['2014',
'2',
'18',
'554',
'-1',
'1151',
'-19',
'UA',
'N37419',
'1445',
'SEA',
'IAH',
'203',
'1874',
'5',
'54',
2],
['2014',
'12',
'11',
'1057',
'87',
'1315',
'112',
'OO',
'N918SW',
'6328',
'PDX',
'SFO',
'118',
'550',
'10',
'57',
2],
['2014',
'7',
'5',
'2224',
'-1',
'48',
'-20',
'AS',
'N459AS',
'143',
'PDX',
'ANC',
'185',
'1542',
'22',
'24',
2],
['2014',
'5',
'16',
'746',
'-4',
'1021',
'-12',
'AS',
'N622AS',
'634',
'SEA',
'PHX',
'135',
'1107',
'7',
'46',
2],
['2014',
'11',
'19',
'601',
'1',
'1129',
'-16',
'AA',
'N4YJAA',
'1534',
'PDX',
'DFW',
'189',
'1616',
'6',
'1',
2],
['2014',
'3',
'19',
'1750',
'5',
'2027',
'-5',
'US',
'N640AW',
'496',
'SEA',
'PHX',
'137',
'1107',
'17',
'50',
2],
['2014',
'7',
'7',
'602',
'2',
'806',
'5',
'AS',
'N453AS',
'200',
'SEA',
'SJC',
'104',
'697',
'6',
'2',
2],
['2014',
'12',
'17',
'2234',
'223',
'11',
'212',
'UA',
'N39450',
'1596',
'PDX',
'SFO',
'76',
'550',
'22',
'34',
2],
['2014',
'5',
'12',
'1424',
'-6',
'1631',
'-5',
'AS',
'N532AS',
'316',
'SEA',
'SFO',
'95',
'679',
'14',
'24',
2],
['2014',
'8',
'16',
'1217',
'-7',
'1356',
'-28',
'UA',
'N34282',
'1574',
'PDX',
'SFO',
'84',
'550',
'12',
'17',
2],
['2014',
'4',
'6',
'1844',
'-6',
'2104',
'-26',
'AS',
'N409AS',
'630',
'SEA',
'PHX',
'124',
'1107',
'18',
'44',
2],
['2014',
'4',
'1',
'1010',
'-5',
'1258',
'-17',
'HA',
'N381HA',
'25',
'PDX',
'HNL',
'328',
'2603',
'10',
'10',
2],
['2014',
'3',
'20',
'704',
'4',
'1033',
'-2',
'WN',
'N650SW',
'397',
'PDX',
'ABQ',
'133',
'1111',
'7',
'4',
2],
['2014',
'1',
'22',
'1528',
'-9',
'1851',
'-14',
'F9',
'N941FR',
'148',
'SEA',
'DEN',
'129',
'1024',
'15',
'28',
2],
['2014',
'9',
'28',
'2041',
'-9',
'2251',
'-7',
'AS',
'N552AS',
'624',
'PDX',
'LAS',
'106',
'763',
'20',
'41',
2],
['2014',
'2',
'14',
'2002',
'2',
'2056',
'1',
'AS',
'N788AS',
'694',
'SEA',
'GEG',
'38',
'224',
'20',
'2',
2],
['2014',
'4',
'25',
'1049',
'-6',
'1326',
'-4',
'VX',
'N853VA',
'784',
'SEA',
'LAX',
'133',
'954',
'10',
'49',
2],
['2014',
'7',
'25',
'739',
'-1',
'1020',
'-5',
'AS',
'N442AS',
'634',
'SEA',
'PHX',
'139',
'1107',
'7',
'39',
2],
['2014',
'8',
'25',
'711',
'-4',
'843',
'-27',
'WN',
'N244WN',
'159',
'PDX',
'SJC',
'77',
'569',
'7',
'11',
2],
['2014',
'12',
'26',
'2337',
'0',
'741',
'-1',
'DL',
'N3760C',
'1358',
'PDX',
'JFK',
'274',
'2454',
'23',
'37',
2],
['2014',
'11',
'25',
'559',
'-11',
'914',
'-27',
'F9',
'N208FR',
'144',
'SEA',
'DEN',
'112',
'1024',
'5',
'59',
2],
['2014',
'7',
'14',
'2009',
'44',
'2336',
'31',
'WN',
'N468WN',
'1918',
'SEA',
'DEN',
'122',
'1024',
'20',
'9',
2],
['2014',
'7',
'1',
'1959',
'-6',
'2224',
'-17',
'DL',
'N6701',
'1545',
'SEA',
'FAI',
'180',
'1533',
'19',
'59',
2],
['2014',
'6',
'29',
'1347',
'3',
'2016',
'14',
'UA',
'N848UA',
'475',
'SEA',
'IAH',
'215',
'1874',
'13',
'47',
2],
['2014',
'8',
'23',
'831',
'-4',
'1639',
'-3',
'AS',
'N435AS',
'32',
'SEA',
'PHL',
'285',
'2378',
'8',
'31',
2],
['2014',
'6',
'27',
'934',
'4',
'1139',
'9',
'AS',
'N794AS',
'330',
'SEA',
'SJC',
'105',
'697',
'9',
'34',
2],
['2014',
'1',
'6',
'758',
'-2',
'1030',
'-19',
'AS',
'N614AS',
'83',
'SEA',
'ANC',
'193',
'1448',
'7',
'58',
2],
['2014',
'4',
'23',
'1650',
'9',
'1924',
'2',
'DL',
'N814DN',
'1194',
'PDX',
'SLC',
'80',
'630',
'16',
'50',
2],
['2014',
'7',
'27',
'1020',
'-5',
'1251',
'2',
'AS',
'N587AS',
'586',
'SEA',
'LAS',
'130',
'867',
'10',
'20',
2],
['2014',
'1',
'11',
'716',
'-4',
'1059',
'-9',
'AS',
'N581AS',
'642',
'SEA',
'PHX',
'142',
'1107',
'7',
'16',
2],
['2014',
'10',
'15',
'2244',
'5',
'607',
'3',
'DL',
'N816DN',
'2497',
'PDX',
'ATL',
'233',
'2172',
'22',
'44',
2],
['2014',
'8',
'6',
'735',
'-5',
'829',
'-18',
'AS',
'N703AS',
'65',
'SEA',
'KTN',
'98',
'680',
'7',
'35',
2],
['2014',
'4',
'12',
'1248',
'-2',
'1836',
'-14',
'UA',
'N435UA',
'464',
'PDX',
'ORD',
'212',
'1739',
'12',
'48',
2],
['2014',
'12',
'1',
'2210',
'0',
'124',
'11',
'AS',
'N538AS',
'143',
'PDX',
'ANC',
'225',
'1542',
'22',
'10',
2],
['2014',
'4',
'30',
'835',
'-5',
'1040',
'-9',
'AS',
'N705AS',
'382',
'SEA',
'SFO',
'101',
'679',
'8',
'35',
2],
['2014',
'8',
'15',
'1113',
'-7',
'1355',
'-18',
'AS',
'N614AS',
'656',
'SEA',
'PHX',
'140',
'1107',
'11',
'13',
2],
['2014',
'7',
'28',
'1047',
'-8',
'1921',
'11',
'DL',
'N713TW',
'1473',
'SEA',
'JFK',
'269',
'2422',
'10',
'47',
2],
['2014',
'7',
'27',
'925',
'25',
'1232',
'27',
'AS',
'N513AS',
'875',
'SEA',
'LIH',
'343',
'2701',
'9',
'25',
2],
['2014',
'5',
'15',
'2001',
'0',
'2041',
'1',
'OO',
'N562SW',
'5340',
'PDX',
'RDM',
'29',
'116',
'20',
'1',
2],
['2014',
'9',
'12',
'1552',
'2',
'1821',
'-3',
'AS',
'N557AS',
'448',
'SEA',
'LAX',
'130',
'954',
'15',
'52',
2],
['2014',
'7',
'23',
'957',
'12',
'1215',
'-10',
'AS',
'N703AS',
'131',
'PDX',
'ANC',
'188',
'1542',
'9',
'57',
2],
['2014',
'10',
'14',
'1831',
'-9',
'2202',
'-13',
'OO',
'N218AG',
'3498',
'SEA',
'COS',
'132',
'1068',
'18',
'31',
2],
['2014',
'7',
'18',
'541',
'1',
'911',
'-1',
'UA',
'N16234',
'1578',
'SEA',
'DEN',
'131',
'1024',
'5',
'41',
2],
['2014',
'4',
'3',
'550',
'0',
'1141',
'-14',
'UA',
'N483UA',
'655',
'PDX',
'IAH',
'215',
'1825',
'5',
'50',
2],
['2014',
'2',
'17',
'901',
'-4',
'1505',
'6',
'UA',
'N407UA',
'714',
'PDX',
'ORD',
'197',
'1739',
'9',
'1',
2],
['2014',
'7',
'8',
'1301',
'14',
'1458',
'-3',
'UA',
'N441UA',
'816',
'SEA',
'SFO',
'103',
'679',
'13',
'1',
2],
['2014',
'3',
'14',
'1808',
'8',
'1936',
'-9',
'WN',
'N968WN',
'258',
'PDX',
'OAK',
'74',
'543',
'18',
'8',
2],
['2014',
'7',
'14',
'2110',
'15',
'2328',
'4',
'AS',
'N320AS',
'731',
'SEA',
'ANC',
'184',
'1448',
'21',
'10',
2],
['2014',
'7',
'31',
'1223',
'8',
'1448',
'2',
'DL',
'N3769L',
'2436',
'SEA',
'ANC',
'190',
'1448',
'12',
'23',
2],
['2014',
'8',
'6',
'1223',
'-2',
'1421',
'-14',
'OO',
'N224AG',
'3470',
'PDX',
'SBA',
'103',
'784',
'12',
'23',
2],
['2014',
'7',
'15',
'1803',
'14',
'2354',
'-5',
'UA',
'N803UA',
'463',
'SEA',
'IAH',
'215',
'1874',
'18',
'3',
2],
['2014',
'8',
'3',
'653',
'-7',
'920',
'-6',
'AS',
'N612AS',
'582',
'PDX',
'SNA',
'133',
'859',
'6',
'53',
2],
['2014',
'3',
'10',
'2222',
'-13',
'55',
'-30',
'AS',
'N431AS',
'143',
'PDX',
'ANC',
'203',
'1542',
'22',
'22',
2],
['2014',
'6',
'15',
'1840',
'0',
'2126',
'-4',
'WN',
'N498WN',
'492',
'SEA',
'SLC',
'90',
'689',
'18',
'40',
2],
['2014',
'3',
'20',
'1452',
'48',
'2039',
'22',
'UA',
'N406UA',
'326',
'SEA',
'IAH',
'207',
'1874',
'14',
'52',
2],
['2014',
'4',
'6',
'1329',
'4',
'2159',
'NA',
'DL',
'N130DL',
'1929',
'SEA',
'ATL',
'NA',
'2182',
'13',
'29',
2],
['2014',
'7',
'29',
'1',
'2',
'600',
'6',
'UA',
'N458UA',
'280',
'PDX',
'IAH',
'217',
'1825',
'0',
'1',
2],
['2014',
'7',
'17',
'2003',
'-2',
'2246',
'6',
'VX',
'N624VA',
'798',
'SEA',
'LAX',
'124',
'954',
'20',
'3',
2],
['2014',
'10',
'29',
'1730',
'-5',
'2003',
'-16',
'DL',
'N3764D',
'952',
'PDX',
'SLC',
'77',
'630',
'17',
'30',
2],
['2014',
'4',
'29',
'1610',
'60',
'1928',
'50',
'UA',
'N36207',
'1072',
'PDX',
'DEN',
'123',
'991',
'16',
'10',
2],
['2014',
'6',
'17',
'1815',
'10',
'2017',
'-3',
'OO',
'N216AG',
'3462',
'PDX',
'ONT',
'105',
'838',
'18',
'15',
2],
['2014',
'5',
'31',
'1342',
'-2',
'1434',
'-1',
'OO',
'N582SW',
'5423',
'PDX',
'SEA',
'32',
'129',
'13',
'42',
2],
['2014',
'12',
'13',
'656',
'-4',
'858',
'-19',
'B6',
'N644JB',
'1121',
'PDX',
'LGB',
'102',
'846',
'6',
'56',
2],
['2014',
'8',
'16',
'853',
'3',
'1709',
'-21',
'AS',
'N597AS',
'774',
'SEA',
'TPA',
'294',
'2520',
'8',
'53',
2],
['2014',
'8',
'18',
'2116',
'-4',
'541',
'18',
'B6',
'N536JB',
'264',
'SEA',
'JFK',
'304',
'2422',
'21',
'16',
2],
['2014',
'8',
'11',
'2233',
'33',
'45',
'17',
'DL',
'N391DA',
'1086',
'SEA',
'ANC',
'174',
'1448',
'22',
'33',
2],
['2014',
'5',
'12',
'1749',
'-8',
'1948',
'-16',
'UA',
'N831UA',
'587',
'SEA',
'SFO',
'99',
'679',
'17',
'49',
2],
['2014',
'3',
'14',
'1029',
'-6',
'1615',
'-15',
'AS',
'N323AS',
'686',
'PDX',
'ORD',
'199',
'1739',
'10',
'29',
2],
['2014',
'11',
'24',
'1204',
'24',
'1338',
'18',
'WN',
'N703SW',
'2342',
'PDX',
'SJC',
'77',
'569',
'12',
'4',
2],
['2014',
'10',
'2',
'1010',
'0',
'1345',
'13',
'F9',
'N918FR',
'788',
'PDX',
'DEN',
'120',
'991',
'10',
'10',
2],
['2014',
'2',
'9',
'837',
'7',
'1205',
'-11',
'US',
'N626AW',
'471',
'SEA',
'PHX',
'129',
'1107',
'8',
'37',
2],
['2014',
'4',
'24',
'1122',
'-3',
'1407',
'2',
'AS',
'N778AS',
'656',
'SEA',
'PHX',
'144',
'1107',
'11',
'22',
2],
['2014',
'6',
'14',
'1623',
'-7',
'2149',
'-26',
'AA',
'N3EKAA',
'1181',
'SEA',
'DFW',
'191',
'1660',
'16',
'23',
2],
['2014',
'7',
'9',
'554',
'-6',
'746',
'4',
'AS',
'N565AS',
'406',
'PDX',
'SJC',
'92',
'569',
'5',
'54',
2],
['2014',
'8',
'18',
'1559',
'-1',
'1649',
'-3',
'OO',
'N824SK',
'4500',
'PDX',
'SEA',
'27',
'129',
'15',
'59',
2],
['2014',
'5',
'7',
'2228',
'-2',
'2333',
'-5',
'OO',
'N295SW',
'5437',
'PDX',
'LMT',
'51',
'241',
'22',
'28',
2],
['2014',
'10',
'1',
'1717',
'-8',
'1819',
'4',
'OO',
'N810SK',
'4546',
'SEA',
'PDX',
'28',
'129',
'17',
'17',
2],
['2014',
'9',
'20',
'601',
'1',
'938',
'-2',
'WN',
'N8648A',
'1421',
'SEA',
'DEN',
'131',
'1024',
'6',
'1',
2],
['2014',
'3',
'13',
'1319',
'-6',
'1435',
'-15',
'WN',
'N607SW',
'3573',
'PDX',
'SMF',
'65',
'479',
'13',
'19',
2],
['2014',
'3',
'17',
'26',
'-4',
'518',
'-19',
'DL',
'N539US',
'2446',
'SEA',
'MSP',
'153',
'1399',
'0',
'26',
2],
['2014',
'9',
'10',
'1308',
'-2',
'2109',
'2',
'US',
'N558UW',
'1857',
'SEA',
'CLT',
'271',
'2279',
'13',
'8',
2],
['2014',
'10',
'2',
'658',
'-2',
'848',
'-22',
'VX',
'N521VA',
'751',
'SEA',
'SFO',
'96',
'679',
'6',
'58',
2],
['2014',
'11',
'3',
'840',
'0',
'1703',
'-17',
'AS',
'N462AS',
'38',
'SEA',
'FLL',
'307',
'2717',
'8',
'40',
2],
['2014',
'12',
'28',
'923',
'3',
'1237',
'-18',
'WN',
'N8629A',
'2195',
'SEA',
'DEN',
'117',
'1024',
'9',
'23',
2],
['2014',
'8',
'23',
'1749',
'-1',
'1923',
'-12',
'WN',
'N462WN',
'1494',
'SEA',
'SMF',
'81',
'605',
'17',
'49',
2],
['2014',
'8',
'19',
'1833',
'-7',
'2217',
'2',
'OO',
'N219AG',
'3498',
'SEA',
'COS',
'140',
'1068',
'18',
'33',
2],
['2014',
'4',
'25',
'628',
'-2',
'856',
'7',
'AS',
'N433AS',
'558',
'PDX',
'LAX',
'124',
'834',
'6',
'28',
2],
['2014',
'4',
'18',
'833',
'-7',
'1054',
'5',
'AS',
'N778AS',
'382',
'SEA',
'SFO',
'100',
'679',
'8',
'33',
2],
['2014',
'6',
'27',
'46',
'1',
'552',
'-1',
'DL',
'N126DL',
'2440',
'SEA',
'MSP',
'166',
'1399',
'0',
'46',
2],
['2014',
'9',
'23',
'900',
'-5',
'1124',
'-13',
'US',
'N553UW',
'630',
'PDX',
'PHX',
'126',
'1009',
'9',
'0',
2],
['2014',
'5',
'11',
'1039',
'-7',
'1236',
'-23',
'UA',
'N820UA',
'698',
'SEA',
'SFO',
'92',
'679',
'10',
'39',
2],
['2014',
'11',
'28',
'1852',
'-5',
'2035',
'-10',
'UA',
'N409UA',
'995',
'PDX',
'SFO',
'92',
'550',
'18',
'52',
2],
['2014',
'5',
'5',
'711',
'-1',
'1320',
'1',
'UA',
'N442UA',
'229',
'SEA',
'IAH',
'227',
'1874',
'7',
'11',
2],
['2014',
'8',
'20',
'933',
'-1',
'1645',
'5',
'DL',
'N585NW',
'1350',
'SEA',
'DTW',
'227',
'1927',
'9',
'33',
2],
['2014',
'5',
'5',
'909',
'-6',
'1151',
'6',
'AS',
'N615AS',
'554',
'SEA',
'PSP',
'142',
'987',
'9',
'9',
2],
['2014',
'8',
'18',
'2055',
'0',
'2327',
'1',
'AS',
'N464AS',
'534',
'SEA',
'ONT',
'129',
'956',
'20',
'55',
2],
['2014',
'6',
'22',
'1233',
'-7',
'2049',
'-11',
'B6',
'N632JB',
'464',
'SEA',
'JFK',
'297',
'2422',
'12',
'33',
2],
['2014',
'7',
'6',
'811',
'1',
'1550',
'-20',
'AS',
'N587AS',
'4',
'SEA',
'DCA',
'263',
'2329',
'8',
'11',
2],
['2014',
'1',
'21',
'633',
'8',
'957',
'-3',
'WN',
'N794SW',
'1631',
'SEA',
'DEN',
'118',
'1024',
'6',
'33',
2],
['2014',
'6',
'26',
'1856',
'1',
'2118',
'-11',
'AS',
'N579AS',
'133',
'SEA',
'FAI',
'182',
'1533',
'18',
'56',
2],
['2014',
'10',
'5',
'1201',
'16',
'1402',
'9',
'AS',
'N786AS',
'306',
'SEA',
'SFO',
'96',
'679',
'12',
'1',
2],
['2014',
'1',
'28',
'648',
'-2',
'808',
'-7',
'WN',
'N235WN',
'1181',
'PDX',
'SMF',
'69',
'479',
'6',
'48',
2],
['2014',
'4',
'9',
'1204',
'4',
'1400',
'0',
'WN',
'N658SW',
'3864',
'SEA',
'OAK',
'100',
'671',
'12',
'4',
2],
['2014',
'10',
'9',
'540',
'-5',
'1153',
'-7',
'UA',
'N415UA',
'428',
'SEA',
'IAH',
'222',
'1874',
'5',
'40',
2],
['2014',
'7',
'28',
'1325',
'-5',
'1606',
'-5',
'OO',
'N217AG',
'3476',
'SEA',
'LGB',
'143',
'965',
'13',
'25',
2],
['2014',
'3',
'3',
'647',
'-3',
'1007',
'-12',
'AS',
'N527AS',
'682',
'SEA',
'DEN',
'119',
'1024',
'6',
'47',
2],
['2014',
'3',
'18',
'1832',
'-3',
'2039',
'-15',
'AS',
'N320AS',
'616',
'SEA',
'LAS',
'112',
'867',
'18',
'32',
2],
['2014',
'12',
'1',
'643',
'-7',
'905',
'-5',
'AS',
'N626AS',
'582',
'PDX',
'SNA',
'126',
'859',
'6',
'43',
2],
['2014',
'6',
'28',
'1829',
'-1',
'2023',
'-17',
'WN',
'N453WN',
'2593',
'PDX',
'LAS',
'102',
'763',
'18',
'29',
2],
['2014',
'11',
'20',
'733',
'38',
'912',
'27',
'WN',
'N209WN',
'476',
'SEA',
'SMF',
'82',
'605',
'7',
'33',
2],
['2014',
'4',
'27',
'1857',
'42',
'2055',
'40',
'WN',
'N7744A',
'661',
'SEA',
'OAK',
'94',
'671',
'18',
'57',
2],
['2014',
'8',
'12',
'1151',
'6',
'1746',
'4',
'AS',
'N467AS',
'670',
'SEA',
'AUS',
'219',
'1770',
'11',
'51',
2],
['2014',
'7',
'1',
'709',
'9',
'1528',
'13',
'DL',
'N713TW',
'2115',
'SEA',
'JFK',
'284',
'2422',
'7',
'9',
2],
['2014',
'10',
'16',
'1948',
'-7',
'2130',
'-2',
'AS',
'N588AS',
'404',
'PDX',
'SJC',
'85',
'569',
'19',
'48',
2],
['2014',
'7',
'11',
'721',
'-4',
'1007',
'2',
'AS',
'N556AS',
'240',
'SEA',
'SAN',
'147',
'1050',
'7',
'21',
2],
['2014',
'7',
'5',
'1647',
'22',
'1848',
'18',
'WN',
'N358SW',
'4784',
'SEA',
'OAK',
'100',
'671',
'16',
'47',
2],
['2014',
'3',
'22',
'1311',
'1',
'1840',
'-14',
'AS',
'N318AS',
'664',
'SEA',
'DFW',
'190',
'1660',
'13',
'11',
2],
['2014',
'7',
'18',
'1120',
'-4',
'1453',
'-5',
'OO',
'N932EV',
'5576',
'PDX',
'DEN',
'129',
'991',
'11',
'20',
2],
['2014',
'7',
'5',
'1350',
'-5',
'1855',
'-14',
'DL',
'N960DN',
'2164',
'PDX',
'MSP',
'169',
'1426',
'13',
'50',
2],
['2014',
'10',
'8',
'1909',
'-6',
'2137',
'1',
'OO',
'N806SK',
'4536',
'SEA',
'LAS',
'118',
'867',
'19',
'9',
2],
['2014',
'9',
'22',
'1037',
'-3',
'1219',
'-6',
'WN',
'N756SA',
'3129',
'PDX',
'SJC',
'89',
'569',
'10',
'37',
2],
['2014',
'7',
'9',
'1521',
'-2',
'1600',
'-7',
'OO',
'N295SW',
'5403',
'PDX',
'RDM',
'28',
'116',
'15',
'21',
2],
['2014',
'5',
'30',
'1407',
'-3',
'1635',
'8',
'AS',
'N594AS',
'606',
'SEA',
'LAS',
'127',
'867',
'14',
'7',
2],
['2014',
'6',
'22',
'1315',
'-2',
'1848',
'18',
'DL',
'N138DL',
'198',
'SEA',
'MSP',
'171',
'1399',
'13',
'15',
2],
['2014',
'8',
'19',
'1347',
'-3',
'2134',
'-15',
'AS',
'N566AS',
'2',
'SEA',
'DCA',
'264',
'2329',
'13',
'47',
2],
['2014',
'3',
'31',
'1057',
'-3',
'1339',
'-16',
'WN',
'N621SW',
'168',
'SEA',
'SLC',
'90',
'689',
'10',
'57',
2],
['2014',
'1',
'28',
'1503',
'-2',
'1708',
'-14',
'AS',
'N559AS',
'528',
'SEA',
'BUR',
'114',
'937',
'15',
'3',
2],
['2014',
'4',
'3',
'2108',
'13',
'2246',
'6',
'WN',
'N779SW',
'1216',
'SEA',
'SMF',
'82',
'605',
'21',
'8',
2],
['2014',
'6',
'16',
'655',
'-10',
'912',
'-12',
'B6',
'N552JB',
'1121',
'PDX',
'LGB',
'112',
'846',
'6',
'55',
2],
['2014',
'3',
'7',
'654',
'4',
'1039',
'20',
'AS',
'N524AS',
'682',
'SEA',
'DEN',
'137',
'1024',
'6',
'54',
2],
['2014',
'8',
'18',
'2311',
'-4',
'2348',
'-5',
'AS',
'N586AS',
'410',
'SEA',
'BLI',
'20',
'93',
'23',
'11',
2],
['2014',
'9',
'2',
'705',
'-5',
'950',
'-15',
'AS',
'N442AS',
'833',
'PDX',
'HNL',
'326',
'2603',
'7',
'5',
2],
['2014',
'1',
'26',
'1445',
'0',
'1732',
'-3',
'WN',
'N600WN',
'988',
'SEA',
'SLC',
'92',
'689',
'14',
'45',
2],
['2014',
'5',
'18',
'826',
'-4',
'1428',
'-2',
'AA',
'N3DRAA',
'1236',
'SEA',
'ORD',
'204',
'1721',
'8',
'26',
2],
['2014',
'12',
'28',
'1705',
'-10',
'2046',
'-42',
'AS',
'N517AS',
'863',
'PDX',
'OGG',
'324',
'2562',
'17',
'5',
2],
['2014',
'4',
'11',
'957',
'-3',
'1317',
'-13',
'WN',
'N731SA',
'761',
'PDX',
'DEN',
'124',
'991',
'9',
'57',
2],
['2014',
'8',
'14',
'1526',
'-8',
'1800',
'-5',
'OO',
'N962SW',
'6235',
'PDX',
'LAX',
'121',
'834',
'15',
'26',
2],
['2014',
'3',
'13',
'1902',
'-3',
'2058',
'-12',
'WN',
'N785SW',
'1565',
'SEA',
'SJC',
'95',
'697',
'19',
'2',
2],
['2014',
'7',
'3',
'2247',
'-4',
'610',
'-20',
'DL',
'N666DN',
'800',
'SEA',
'ATL',
'250',
'2182',
'22',
'47',
2],
['2014',
'7',
'19',
'1038',
'4',
'1249',
'-5',
'UA',
'N13716',
'1292',
'SEA',
'SFO',
'107',
'679',
'10',
'38',
2],
['2014',
'10',
'14',
'612',
'-8',
'913',
'16',
'AS',
'N769AS',
'470',
'SEA',
'SAN',
'156',
'1050',
'6',
'12',
2],
['2014',
'8',
'31',
'1948',
'-7',
'2139',
'-17',
'OO',
'N219AG',
'3490',
'SEA',
'FAT',
'91',
'748',
'19',
'48',
2],
['2014',
'11',
'13',
'700',
'-5',
'910',
'11',
'UA',
'N413UA',
'392',
'PDX',
'SFO',
'86',
'550',
'7',
'0',
2],
['2014',
'9',
'26',
'2339',
'144',
'29',
'142',
'OO',
'N822SK',
'4612',
'SEA',
'PDX',
'29',
'129',
'23',
'39',
2],
['2014',
'10',
'12',
'2125',
'-7',
'522',
'-11',
'UA',
'N37267',
'1695',
'SEA',
'EWR',
'275',
'2402',
'21',
'25',
2],
['2014',
'4',
'10',
'829',
'-1',
'1128',
'-7',
'AS',
'N589AS',
'861',
'SEA',
'OGG',
'332',
'2640',
'8',
'29',
2],
['2014',
'4',
'14',
'1332',
'-13',
'1556',
'-39',
'AS',
'N409AS',
'123',
'SEA',
'FAI',
'185',
'1533',
'13',
'32',
2],
['2014',
'8',
'18',
'1728',
'-2',
'1822',
'0',
'OO',
'N586SW',
'5440',
'SEA',
'PDX',
'41',
'129',
'17',
'28',
2],
['2014',
'3',
'18',
'2118',
'-7',
'2312',
'-14',
'AS',
'N548AS',
'356',
'SEA',
'OAK',
'96',
'671',
'21',
'18',
2],
['2014',
'9',
'19',
'1212',
'-1',
'1806',
'-13',
'UA',
'N76514',
'1081',
'PDX',
'IAH',
'210',
'1825',
'12',
'12',
2],
['2014',
'11',
'29',
'705',
'5',
'1042',
'57',
'DL',
'N3768',
'968',
'SEA',
'LAX',
'130',
'954',
'7',
'5',
2],
['2014',
'2',
'23',
'827',
'22',
'1358',
'8',
'AA',
'N4YDAA',
'1220',
'PDX',
'DFW',
'183',
'1616',
'8',
'27',
2],
['2014',
'11',
'17',
'1752',
'-3',
'1954',
'-8',
'OO',
'N223AG',
'3488',
'PDX',
'BUR',
'105',
'817',
'17',
'52',
2],
['2014',
'2',
'4',
'2053',
'-7',
'2144',
'-4',
'OO',
'N223SW',
'5433',
'SEA',
'PDX',
'29',
'129',
'20',
'53',
2],
['2014',
'3',
'4',
'NA',
'NA',
'NA',
'NA',
'UA',
'NA',
'156',
'SEA',
'DEN',
'NA',
'1024',
'NA',
'NA',
2],
['2014',
'9',
'19',
'1039',
'-1',
'1335',
'-6',
'AS',
'N431AS',
'843',
'SEA',
'KOA',
'332',
'2688',
'10',
'39',
2],
['2014',
'1',
'20',
'657',
'2',
'935',
'10',
'AS',
'N323AS',
'470',
'SEA',
'LAX',
'131',
'954',
'6',
'57',
2],
['2014',
'6',
'10',
'936',
'1',
'1210',
'-4',
'AS',
'N612AS',
'238',
'SEA',
'SAN',
'140',
'1050',
'9',
'36',
2],
['2014',
'4',
'19',
'1356',
'-4',
'1623',
'-12',
'AS',
'N536AS',
'512',
'SEA',
'SNA',
'132',
'978',
'13',
'56',
2],
['2014',
'6',
'30',
'1736',
'6',
'1949',
'-12',
'OO',
'N805SK',
'4820',
'SEA',
'LAS',
'115',
'867',
'17',
'36',
2],
['2014',
'9',
'1',
'1749',
'-1',
'1951',
'-9',
'OO',
'N215AG',
'3488',
'PDX',
'BUR',
'108',
'817',
'17',
'49',
2],
['2014',
'9',
'10',
'1155',
'5',
'1420',
'-5',
'WN',
'N299WN',
'270',
'PDX',
'PHX',
'129',
'1009',
'11',
'55',
2],
['2014',
'6',
'4',
'1753',
'74',
'2032',
'67',
'DL',
'N363NW',
'1194',
'PDX',
'SLC',
'87',
'630',
'17',
'53',
2],
['2014',
'1',
'18',
'1453',
'-2',
'1603',
'4',
'AS',
'N706AS',
'67',
'SEA',
'KTN',
'109',
'680',
'14',
'53',
2],
['2014',
'2',
'5',
'2249',
'-11',
'2338',
'-19',
'AS',
'N644AS',
'698',
'SEA',
'GEG',
'36',
'224',
'22',
'49',
2],
['2014',
'7',
'20',
'1012',
'-8',
'1244',
'-1',
'AS',
'N626AS',
'580',
'PDX',
'SNA',
'129',
'859',
'10',
'12',
2],
['2014',
'9',
'28',
'657',
'-3',
'1557',
'34',
'DL',
'N704X',
'2588',
'SEA',
'JFK',
'311',
'2422',
'6',
'57',
2],
['2014',
'8',
'15',
'1844',
'-1',
'2104',
'-18',
'AS',
'N626AS',
'510',
'SEA',
'SNA',
'128',
'978',
'18',
'44',
2],
['2014',
'10',
'13',
'853',
'-2',
'1217',
'16',
'AS',
'N517AS',
'879',
'SEA',
'LIH',
'358',
'2701',
'8',
'53',
2],
['2014',
'11',
'2',
'911',
'6',
'1158',
'3',
'AS',
'N760AS',
'111',
'SEA',
'ANC',
'207',
'1448',
'9',
'11',
2],
['2014',
'8',
'29',
'1345',
'0',
'2056',
'8',
'DL',
'N684DA',
'2424',
'SEA',
'DTW',
'227',
'1927',
'13',
'45',
2],
['2014',
'5',
'27',
'1753',
'-4',
'2002',
'-2',
'UA',
'N440UA',
'587',
'SEA',
'SFO',
'110',
'679',
'17',
'53',
2],
['2014',
'4',
'19',
'2214',
'-6',
'2256',
'-3',
'OO',
'N584SW',
'5440',
'PDX',
'RDM',
'30',
'116',
'22',
'14',
2],
['2014',
'10',
'14',
'742',
'-8',
'1016',
'7',
'AS',
'N306AS',
'608',
'SEA',
'LAS',
'132',
'867',
'7',
'42',
2],
['2014',
'12',
'22',
'1144',
'9',
'1357',
'-8',
'B6',
'N779JB',
'107',
'SEA',
'LGB',
'115',
'965',
'11',
'44',
2],
['2014',
'9',
'5',
'1049',
'39',
'1246',
'36',
'AS',
'N609AS',
'382',
'PDX',
'SFO',
'97',
'550',
'10',
'49',
2],
['2014',
'8',
'24',
'546',
'1',
'1159',
'3',
'UA',
'N585UA',
'389',
'SEA',
'IAH',
'225',
'1874',
'5',
'46',
2],
['2014',
'9',
'23',
'1636',
'6',
'1910',
'3',
'DL',
'N663DN',
'2622',
'SEA',
'LAX',
'130',
'954',
'16',
'36',
2],
['2014',
'3',
'13',
'1240',
'5',
'1511',
'-2',
'AS',
'N788AS',
'97',
'SEA',
'ANC',
'195',
'1448',
'12',
'40',
2],
['2014',
'12',
'9',
'1647',
'-3',
'1834',
'-1',
'WN',
'N790SW',
'4877',
'PDX',
'SJC',
'95',
'569',
'16',
'47',
2],
['2014',
'10',
'8',
'921',
'51',
'1502',
'38',
'AS',
'N319AS',
'28',
'SEA',
'ORD',
'194',
'1721',
'9',
'21',
2],
['2014',
'10',
'16',
'1115',
'0',
'1719',
'-26',
'WN',
'N8318F',
'4196',
'SEA',
'BNA',
'225',
'1978',
'11',
'15',
2],
['2014',
'11',
'25',
'1226',
'6',
'1325',
'8',
'AS',
'N318AS',
'684',
'SEA',
'GEG',
'32',
'224',
'12',
'26',
2],
['2014',
'4',
'29',
'529',
'-6',
'840',
'-27',
'UA',
'N37465',
'1202',
'PDX',
'DEN',
'115',
'991',
'5',
'29',
2],
['2014',
'2',
'3',
'553',
'-7',
'836',
'-27',
'DL',
'N663DN',
'1634',
'SEA',
'SLC',
'85',
'689',
'5',
'53',
2],
['2014',
'3',
'20',
'1033',
'-2',
'1609',
'-21',
'AS',
'N407AS',
'686',
'PDX',
'ORD',
'193',
'1739',
'10',
'33',
2],
['2014',
'7',
'11',
'2043',
'-2',
'2307',
'5',
'AS',
'N585AS',
'614',
'SEA',
'LAS',
'126',
'867',
'20',
'43',
2],
['2014',
'10',
'6',
'2146',
'111',
'2350',
'115',
'AS',
'N799AS',
'336',
'SEA',
'SJC',
'104',
'697',
'21',
'46',
2],
['2014',
'5',
'16',
'731',
'-4',
'1454',
'-26',
'DL',
'N1605',
'128',
'SEA',
'ATL',
'239',
'2182',
'7',
'31',
2],
['2014',
'3',
'21',
'1729',
'-1',
'1951',
'0',
'OO',
'N822SK',
'4659',
'PDX',
'LAX',
'116',
'834',
'17',
'29',
2],
['2014',
'6',
'14',
'1833',
'8',
'2047',
'2',
'AS',
'N706AS',
'616',
'SEA',
'LAS',
'118',
'867',
'18',
'33',
2],
['2014',
'5',
'10',
'2253',
'13',
'454',
'4',
'UA',
'N16234',
'1129',
'SEA',
'IAH',
'220',
'1874',
'22',
'53',
2],
['2014',
'10',
'3',
'1313',
'-2',
'1547',
'1',
'DL',
'N750AT',
'677',
'SEA',
'LAX',
'126',
'954',
'13',
'13',
2],
['2014',
'8',
'24',
'650',
'-10',
'736',
'-18',
'OO',
'N817SK',
'4690',
'PDX',
'SEA',
'31',
'129',
'6',
'50',
2],
['2014',
'3',
'17',
'1745',
'0',
'1943',
'-11',
'OO',
'N224AG',
'3488',
'PDX',
'BUR',
'103',
'817',
'17',
'45',
2],
['2014',
'2',
'12',
'NA',
'NA',
'NA',
'NA',
'AS',
'N527AS',
'2',
'SEA',
'DCA',
'NA',
'2329',
'NA',
'NA',
2],
['2014',
'3',
'26',
'905',
'0',
'1027',
'-3',
'WN',
'N660SW',
'1921',
'PDX',
'SMF',
'69',
'479',
'9',
'5',
2],
['2014',
'7',
'1',
'NA',
'NA',
'NA',
'NA',
'WN',
'N8323C',
'2485',
'SEA',
'MDW',
'NA',
'1733',
'NA',
'NA',
2],
['2014',
'9',
'23',
'559',
'-1',
'1306',
'-8',
'DL',
'N824DN',
'822',
'SEA',
'DTW',
'226',
'1927',
'5',
'59',
2],
['2014',
'1',
'17',
'2219',
'-6',
'49',
'-36',
'AS',
'N564AS',
'145',
'PDX',
'ANC',
'186',
'1542',
'22',
'19',
2],
['2014',
'1',
'4',
'2204',
'164',
'109',
'149',
'F9',
'N924FR',
'794',
'PDX',
'DEN',
'111',
'991',
'22',
'4',
2],
['2014',
'2',
'9',
'1019',
'-1',
'1639',
'11',
'AS',
'N433AS',
'730',
'SEA',
'IAH',
'228',
'1874',
'10',
'19',
2],
['2014',
'8',
'1',
'1322',
'-4',
'1526',
'-14',
'UA',
'N822UA',
'816',
'SEA',
'SFO',
'102',
'679',
'13',
'22',
2],
['2014',
'7',
'3',
'1009',
'-4',
'1341',
'-6',
'F9',
'N214FR',
'138',
'SEA',
'DEN',
'131',
'1024',
'10',
'9',
2],
['2014',
'9',
'4',
'809',
'44',
'954',
'25',
'AS',
'N513AS',
'244',
'PDX',
'SFO',
'81',
'550',
'8',
'9',
2],
['2014',
'5',
'2',
'1022',
'-3',
'1408',
'38',
'AS',
'N508AS',
'843',
'SEA',
'KOA',
'378',
'2688',
'10',
'22',
2],
['2014',
'11',
'26',
'1830',
'25',
'2141',
'1',
'WN',
'N922WN',
'2056',
'SEA',
'DEN',
'114',
'1024',
'18',
'30',
2],
['2014',
'5',
'12',
'1324',
'-1',
'1516',
'-14',
'WN',
'N647SW',
'1716',
'SEA',
'SJC',
'100',
'697',
'13',
'24',
2],
['2014',
'11',
'25',
'1557',
'4',
'2355',
'-15',
'UA',
'N27239',
'1710',
'SEA',
'EWR',
'269',
'2402',
'15',
'57',
2],
['2014',
'12',
'21',
'1524',
'19',
'1745',
'10',
'VX',
'N529VA',
'796',
'SEA',
'LAX',
'119',
'954',
'15',
'24',
2],
['2014',
'11',
'19',
'1028',
'-1',
'1355',
'-1',
'OO',
'N782SK',
'5576',
'PDX',
'DEN',
'121',
'991',
'10',
'28',
2],
['2014',
'4',
'27',
'722',
'-3',
'935',
'-16',
'AS',
'N579AS',
'530',
'SEA',
'ONT',
'117',
'956',
'7',
'22',
2],
['2014',
'9',
'3',
'1312',
'-3',
'1803',
'-24',
'DL',
'N129DL',
'198',
'SEA',
'MSP',
'152',
'1399',
'13',
'12',
2],
['2014',
'8',
'7',
'717',
'-3',
'1044',
'-6',
'UA',
'N37462',
'1610',
'PDX',
'DEN',
'129',
'991',
'7',
'17',
2],
['2014',
'8',
'26',
'1851',
'-4',
'2137',
'9',
'AS',
'N590AS',
'133',
'SEA',
'FAI',
'199',
'1533',
'18',
'51',
2],
['2014',
'2',
'27',
'1426',
'-4',
'1645',
'-6',
'AS',
'N609AS',
'608',
'SEA',
'LAS',
'113',
'867',
'14',
'26',
2],
['2014',
'11',
'2',
'1001',
'-9',
'1520',
'-11',
'AS',
'N431AS',
'752',
'SEA',
'MCI',
'180',
'1489',
'10',
'1',
2],
['2014',
'2',
'5',
'1823',
'-2',
'2046',
'-9',
'AS',
'N524AS',
'464',
'SEA',
'LAX',
'120',
'954',
'18',
'23',
2],
['2014',
'8',
'25',
'1211',
'26',
'1423',
'29',
'AS',
'N756AS',
'306',
'SEA',
'SFO',
'94',
'679',
'12',
'11',
2],
['2014',
'3',
'2',
'1316',
'71',
'1414',
'74',
'AS',
'N516AS',
'674',
'SEA',
'GEG',
'37',
'224',
'13',
'16',
2],
['2014',
'3',
'23',
'514',
'-1',
'709',
'-20',
'OO',
'N790SK',
'5488',
'SEA',
'SFO',
'96',
'679',
'5',
'14',
2],
['2014',
'8',
'9',
'1841',
'6',
'1942',
'14',
'AS',
'N706AS',
'69',
'SEA',
'KTN',
'98',
'680',
'18',
'41',
2],
['2014',
'11',
'19',
'1100',
'5',
'1655',
'5',
'UA',
'N36469',
'1281',
'PDX',
'ORD',
'208',
'1739',
'11',
'0',
2],
['2014',
'12',
'8',
'1738',
'-7',
'2018',
'-1',
'AS',
'N577AS',
'480',
'SEA',
'SAN',
'136',
'1050',
'17',
'38',
2],
['2014',
'1',
'28',
'1545',
'-5',
'1754',
'-10',
'AS',
'N767AS',
'588',
'PDX',
'PSP',
'112',
'873',
'15',
'45',
2],
['2014',
'2',
'22',
'1348',
'46',
'1637',
'51',
'UA',
'N36444',
'1192',
'SEA',
'ANC',
'213',
'1448',
'13',
'48',
2],
['2014',
'3',
'11',
'640',
'-5',
'903',
'-23',
'AS',
'N457AS',
'550',
'SEA',
'PSP',
'125',
'987',
'6',
'40',
2],
['2014',
'6',
'25',
'1926',
'-9',
'2150',
'-5',
'AS',
'N527AS',
'524',
'SEA',
'BUR',
'127',
'937',
'19',
'26',
2],
['2014',
'6',
'5',
'837',
'-3',
'1100',
'13',
'AS',
'N703AS',
'382',
'SEA',
'SFO',
'102',
'679',
'8',
'37',
2],
['2014',
'12',
'1',
'630',
'0',
'1221',
'-9',
'WN',
'N8600F',
'3558',
'SEA',
'MDW',
'203',
'1733',
'6',
'30',
2],
['2014',
'1',
'26',
'1937',
'-8',
'2153',
'-23',
'AS',
'N622AS',
'518',
'SEA',
'SNA',
'122',
'978',
'19',
'37',
2],
['2014',
'12',
'11',
'1639',
'54',
'2221',
'51',
'AA',
'N3FDAA',
'2335',
'SEA',
'DFW',
'205',
'1660',
'16',
'39',
2],
['2014',
'12',
'7',
'821',
'61',
'1034',
'65',
'AS',
'N423AS',
'222',
'SEA',
'SFO',
'114',
'679',
'8',
'21',
2],
['2014',
'8',
'22',
'1311',
'6',
'1528',
'-4',
'AS',
'N459AS',
'578',
'SEA',
'LAS',
'108',
'867',
'13',
'11',
2],
['2014',
'4',
'4',
'559',
'-1',
'1159',
'4',
'WN',
'N707SA',
'1296',
'SEA',
'MDW',
'216',
'1733',
'5',
'59',
2],
['2014',
'2',
'9',
'1058',
'133',
'1158',
'145',
'OO',
'N580SW',
'5438',
'SEA',
'PDX',
'35',
'129',
'10',
'58',
2],
['2014',
'9',
'21',
'1817',
'46',
'2152',
'41',
'UA',
'N415UA',
'742',
'SEA',
'DEN',
'134',
'1024',
'18',
'17',
2],
['2014',
'9',
'21',
'2353',
'8',
'538',
'6',
'UA',
'N39416',
'1215',
'SEA',
'ORD',
'203',
'1721',
'23',
'53',
2],
['2014',
'3',
'30',
'1646',
'6',
'1938',
'-17',
'AS',
'N537AS',
'867',
'SEA',
'OGG',
'332',
'2640',
'16',
'46',
2],
['2014',
'4',
'19',
'828',
'-7',
'1012',
'-8',
'WN',
'N697SW',
'3172',
'SEA',
'SMF',
'85',
'605',
'8',
'28',
2],
['2014',
'2',
'12',
'602',
'-3',
'1123',
'-32',
'AA',
'N3ELAA',
'1094',
'SEA',
'DFW',
'178',
'1660',
'6',
'2',
2],
['2014',
'8',
'31',
'1647',
'15',
'1925',
'3',
'DL',
'N6713Y',
'842',
'SEA',
'SLC',
'81',
'689',
'16',
'47',
2],
['2014',
'6',
'16',
'1321',
'5',
'1543',
'14',
'UA',
'N473UA',
'816',
'SEA',
'SFO',
'94',
'679',
'13',
'21',
2],
['2014',
'6',
'22',
'1321',
'6',
'1922',
'12',
'WN',
'N965WN',
'1404',
'SEA',
'MDW',
'214',
'1733',
'13',
'21',
2],
['2014',
'5',
'23',
'1850',
'-5',
'2102',
'7',
'AS',
'N552AS',
'620',
'PDX',
'LAS',
'109',
'763',
'18',
'50',
2],
['2014',
'7',
'19',
'1739',
'-1',
'2004',
'-7',
'OO',
'N810SK',
'4738',
'SEA',
'LAS',
'121',
'867',
'17',
'39',
2],
['2014',
'7',
'3',
'1927',
'37',
'2144',
'44',
'WN',
'N491WN',
'203',
'PDX',
'LAS',
'106',
'763',
'19',
'27',
2],
['2014',
'7',
'12',
'1833',
'3',
'2035',
'-5',
'WN',
'N287WN',
'2593',
'PDX',
'LAS',
'109',
'763',
'18',
'33',
2],
['2014',
'5',
'28',
'856',
'-4',
'1103',
'-2',
'WN',
'N356SW',
'502',
'SEA',
'SJC',
'108',
'697',
'8',
'56',
2],
['2014',
'3',
'11',
'1603',
'-2',
'1828',
'-4',
'AS',
'N552AS',
'115',
'SEA',
'ANC',
'191',
'1448',
'16',
'3',
2],
['2014',
'11',
'21',
'902',
'2',
'1040',
'-3',
'AS',
'N433AS',
'370',
'SEA',
'SMF',
'76',
'605',
'9',
'2',
2],
['2014',
'1',
'18',
'1741',
'-4',
'1911',
'-19',
'WN',
'N442WN',
'2649',
'PDX',
'SJC',
'82',
'569',
'17',
'41',
2],
['2014',
'6',
'27',
'553',
'-9',
'1156',
'1',
'UA',
'N832UA',
'646',
'PDX',
'ORD',
'210',
'1739',
'5',
'53',
2],
['2014',
'2',
'8',
'1024',
'14',
'1151',
'21',
'WN',
'N728SW',
'3181',
'PDX',
'SMF',
'71',
'479',
'10',
'24',
2],
['2014',
'3',
'4',
'1934',
'-6',
'2136',
'-14',
'OO',
'N778SK',
'6426',
'SEA',
'SFO',
'100',
'679',
'19',
'34',
2],
['2014',
'9',
'25',
'739',
'-1',
'1033',
'7',
'AS',
'N615AS',
'634',
'SEA',
'PHX',
'153',
'1107',
'7',
'39',
2],
['2014',
'10',
'24',
'904',
'-6',
'1158',
'11',
'AS',
'N756AS',
'238',
'SEA',
'SAN',
'151',
'1050',
'9',
'4',
2],
['2014',
'9',
'2',
'638',
'-2',
'905',
'-15',
'DL',
'N3763D',
'1465',
'SEA',
'LAX',
'121',
'954',
'6',
'38',
2],
['2014',
'12',
'6',
'2227',
'-3',
'2304',
'-11',
'AS',
'N520AS',
'414',
'SEA',
'PDX',
'25',
'129',
'22',
'27',
2],
['2014',
'7',
'14',
'1439',
'-1',
'1723',
'-10',
'US',
'N644AW',
'500',
'SEA',
'PHX',
'143',
'1107',
'14',
'39',
2],
['2014',
'5',
'29',
'705',
'-3',
'1547',
'15',
'DL',
'N3750D',
'400',
'PDX',
'JFK',
'311',
'2454',
'7',
'5',
2],
['2014',
'11',
'2',
'1027',
'2',
'1619',
'1',
'AS',
'N318AS',
'688',
'PDX',
'ORD',
'210',
'1739',
'10',
'27',
2],
['2014',
'1',
'14',
'800',
'-5',
'1537',
'-13',
'AS',
'N403AS',
'742',
'SEA',
'ATL',
'252',
'2182',
'8',
'0',
2],
['2014',
'6',
'29',
'1949',
'-6',
'2135',
'-2',
'AS',
'N597AS',
'404',
'PDX',
'SJC',
'85',
'569',
'19',
'49',
2],
['2014',
'12',
'12',
'1146',
'-5',
'1358',
'4',
'UA',
'N528UA',
'390',
'SEA',
'SFO',
'105',
'679',
'11',
'46',
2],
['2014',
'6',
'3',
'1305',
'-10',
'1523',
'-11',
'B6',
'N503JB',
'1521',
'PDX',
'LGB',
'120',
'846',
'13',
'5',
2],
['2014',
'1',
'17',
'1120',
'-5',
'1406',
'6',
'AS',
'N626AS',
'498',
'SEA',
'SAN',
'132',
'1050',
'11',
'20',
2],
['2014',
'3',
'19',
'948',
'-2',
'1226',
'-13',
'AS',
'N796AS',
'238',
'SEA',
'SAN',
'136',
'1050',
'9',
'48',
2],
['2014',
'9',
'11',
'550',
'-10',
'833',
'-7',
'AS',
'N526AS',
'81',
'SEA',
'ANC',
'198',
'1448',
'5',
'50',
2],
['2014',
'12',
'1',
'1042',
'22',
'1237',
'17',
'AS',
'N469AS',
'346',
'SEA',
'OAK',
'98',
'671',
'10',
'42',
2],
['2014',
'11',
'15',
'1011',
'1',
'1347',
'7',
'F9',
'N927FR',
'138',
'SEA',
'DEN',
'134',
'1024',
'10',
'11',
2],
['2014',
'5',
'16',
'1155',
'-5',
'1402',
'-3',
'AS',
'N532AS',
'306',
'SEA',
'SFO',
'103',
'679',
'11',
'55',
2],
['2014',
'8',
'17',
'1313',
'3',
'1626',
'17',
'AS',
'N323AS',
'726',
'SEA',
'SLC',
'107',
'689',
'13',
'13',
2],
['2014',
'10',
'15',
'1722',
'-3',
'1816',
'1',
'OO',
'N809SK',
'4546',
'SEA',
'PDX',
'28',
'129',
'17',
'22',
2],
['2014',
'9',
'7',
'1256',
'-9',
'1447',
'0',
'AS',
'N579AS',
'400',
'PDX',
'SFO',
'88',
'550',
'12',
'56',
2],
['2014',
'10',
'15',
'29',
'-1',
'538',
'-2',
'DL',
'N3736C',
'2440',
'SEA',
'MSP',
'159',
'1399',
'0',
'29',
2],
['2014',
'3',
'13',
'1751',
'2',
'1928',
'-7',
'OO',
'N715SK',
'5553',
'PDX',
'SFO',
'78',
'550',
'17',
'51',
2],
['2014',
'5',
'12',
'853',
'-7',
'1114',
'-19',
'AS',
'N553AS',
'502',
'SEA',
'SNA',
'123',
'978',
'8',
'53',
2],
['2014',
'9',
'4',
'1841',
'1',
'2227',
'12',
'OO',
'N218AG',
'3498',
'SEA',
'COS',
'141',
'1068',
'18',
'41',
2],
['2014',
'1',
'30',
'717',
'12',
'1257',
'7',
'WN',
'N943WN',
'1987',
'SEA',
'MKE',
'189',
'1694',
'7',
'17',
2],
['2014',
'1',
'2',
'1756',
'61',
'1916',
'56',
'WN',
'N659SW',
'747',
'PDX',
'SMF',
'69',
'479',
'17',
'56',
2],
['2014',
'9',
'3',
'1306',
'1',
'1840',
'-8',
'AS',
'N319AS',
'664',
'SEA',
'DFW',
'195',
'1660',
'13',
'6',
2],
['2014',
'8',
'16',
'1014',
'-1',
'1644',
'-16',
'AS',
'N549AS',
'788',
'SEA',
'MSY',
'248',
'2086',
'10',
'14',
2],
['2014',
'11',
'29',
'1318',
'53',
'1538',
'48',
'OO',
'N631SK',
'4608',
'SEA',
'LAS',
'121',
'867',
'13',
'18',
2],
['2014',
'3',
'22',
'1007',
'-8',
'1305',
'-20',
'HA',
'N389HA',
'25',
'PDX',
'HNL',
'338',
'2603',
'10',
'7',
2],
['2014',
'8',
'16',
'1032',
'-8',
'1315',
'-20',
'HA',
'N395HA',
'25',
'PDX',
'HNL',
'304',
'2603',
'10',
'32',
2],
['2014',
'8',
'24',
'1549',
'-6',
'1839',
'4',
'AS',
'N607AS',
'135',
'PDX',
'ANC',
'214',
'1542',
'15',
'49',
2],
['2014',
'10',
'22',
'1215',
'0',
'1438',
'-15',
'DL',
'N3754A',
'2485',
'SEA',
'ANC',
'175',
'1448',
'12',
'15',
2],
['2014',
'6',
'23',
'659',
'-6',
'1255',
'0',
'AA',
'N3EJAA',
'86',
'PDX',
'ORD',
'212',
'1739',
'6',
'59',
2],
['2014',
'10',
'10',
'1956',
'16',
'2201',
'4',
'AS',
'N607AS',
'524',
'SEA',
'BUR',
'109',
'937',
'19',
'56',
2],
['2014',
'2',
'22',
'1827',
'-8',
'2027',
'-18',
'AS',
'N796AS',
'302',
'SEA',
'SFO',
'98',
'679',
'18',
'27',
2],
['2014',
'6',
'27',
'1158',
'84',
'1352',
'83',
'OO',
'N783SK',
'5196',
'PDX',
'SFO',
'85',
'550',
'11',
'58',
2],
['2014',
'10',
'23',
'805',
'0',
'1614',
'-13',
'AS',
'N537AS',
'18',
'SEA',
'MCO',
'287',
'2554',
'8',
'5',
2],
['2014',
'3',
'9',
'1206',
'-13',
'1400',
'0',
'UA',
'N834UA',
'353',
'PDX',
'SFO',
'89',
'550',
'12',
'6',
2],
['2014',
'8',
'18',
'2203',
'5',
'618',
'12',
'DL',
'N652DL',
'1542',
'SEA',
'JFK',
'294',
'2422',
'22',
'3',
2],
['2014',
'9',
'6',
'1329',
'-1',
'1939',
'-6',
'UA',
'N39415',
'1581',
'SEA',
'IAH',
'225',
'1874',
'13',
'29',
2],
['2014',
'10',
'18',
'608',
'-2',
'930',
'-5',
'WN',
'N202WN',
'4914',
'PDX',
'DEN',
'120',
'991',
'6',
'8',
2],
['2014',
'4',
'6',
'1240',
'50',
'1331',
'48',
'AS',
'N795AS',
'684',
'SEA',
'GEG',
'35',
'224',
'12',
'40',
2],
['2014',
'8',
'26',
'558',
'-2',
'852',
'2',
'DL',
'N654DL',
'1831',
'PDX',
'SLC',
'84',
'630',
'5',
'58',
2],
['2014',
'4',
'12',
'640',
'-5',
'849',
'-13',
'OO',
'N215AG',
'3460',
'PDX',
'ONT',
'111',
'838',
'6',
'40',
2],
['2014',
'12',
'27',
'727',
'-2',
'1350',
'6',
'UA',
'N463UA',
'225',
'SEA',
'IAH',
'228',
'1874',
'7',
'27',
2],
['2014',
'6',
'16',
'748',
'3',
'947',
'-3',
'WN',
'N703SW',
'1993',
'SEA',
'OAK',
'98',
'671',
'7',
'48',
2],
['2014',
'8',
'17',
'557',
'-3',
'1133',
'-12',
'AA',
'N508AA',
'1534',
'PDX',
'DFW',
'195',
'1616',
'5',
'57',
2],
['2014',
'5',
'11',
'1304',
'-6',
'1816',
'-14',
'AS',
'N615AS',
'34',
'SEA',
'MSP',
'175',
'1399',
'13',
'4',
2],
['2014',
'1',
'30',
'49',
'79',
'835',
'72',
'UA',
'N76010',
'1252',
'SEA',
'EWR',
'261',
'2402',
'0',
'49',
2],
['2014',
'12',
'27',
'1420',
'40',
'2012',
'NA',
'OO',
'N224AG',
'3452',
'SEA',
'HDN',
'NA',
'891',
'14',
'20',
2],
['2014',
'9',
'26',
'1929',
'-6',
'2106',
'7',
'AS',
'N760AS',
'79',
'SEA',
'JNU',
'133',
'909',
'19',
'29',
2],
['2014',
'9',
'17',
'2124',
'4',
'2354',
'3',
'AS',
'N317AS',
'731',
'SEA',
'ANC',
'188',
'1448',
'21',
'24',
2],
['2014',
'1',
'4',
'804',
'-1',
'1332',
'-18',
'AA',
'N438AA',
'1220',
'PDX',
'DFW',
'179',
'1616',
'8',
'4',
2],
['2014',
'4',
'14',
'656',
'-4',
'840',
'-5',
'VX',
'N847VA',
'84',
'PDX',
'SFO',
'89',
'550',
'6',
'56',
2],
['2014',
'4',
'4',
'1008',
'-7',
'1248',
'-27',
'HA',
'N385HA',
'25',
'PDX',
'HNL',
'320',
'2603',
'10',
'8',
2],
['2014',
'11',
'6',
'2015',
'0',
'2207',
'-8',
'WN',
'N638SW',
'1625',
'SEA',
'OAK',
'96',
'671',
'20',
'15',
2],
['2014',
'8',
'14',
'1215',
'-10',
'1414',
'-21',
'OO',
'N218AG',
'3470',
'PDX',
'SBA',
'105',
'784',
'12',
'15',
2],
['2014',
'11',
'5',
'656',
'-4',
'1155',
'-17',
'DL',
'N37700',
'2090',
'PDX',
'MSP',
'159',
'1426',
'6',
'56',
2],
['2014',
'3',
'23',
'702',
'-4',
'1309',
'-9',
'UA',
'N34455',
'1193',
'SEA',
'IAH',
'214',
'1874',
'7',
'2',
2],
['2014',
'3',
'14',
'1319',
'-1',
'2101',
'-9',
'US',
'N111US',
'1805',
'SEA',
'CLT',
'256',
'2279',
'13',
'19',
2],
['2014',
'9',
'28',
'838',
'-2',
'1148',
'12',
'AS',
'N799AS',
'724',
'SEA',
'SLC',
'107',
'689',
'8',
'38',
2],
['2014',
'6',
'14',
'1938',
'43',
'2202',
'33',
'AS',
'N607AS',
'133',
'SEA',
'FAI',
'189',
'1533',
'19',
'38',
2],
['2014',
'10',
'2',
'1025',
'20',
'1530',
'10',
'AS',
'N442AS',
'36',
'SEA',
'MSP',
'169',
'1399',
'10',
'25',
2],
['2014',
'3',
'20',
'818',
'-2',
'1401',
'-19',
'AA',
'N3ERAA',
'1236',
'SEA',
'ORD',
'194',
'1721',
'8',
'18',
2],
['2014',
'12',
'16',
'529',
'-6',
'849',
'-12',
'UA',
'N68805',
'1567',
'PDX',
'DEN',
'123',
'991',
'5',
'29',
2],
['2014',
'9',
'18',
'652',
'-8',
'740',
'-6',
'AS',
'N791AS',
'413',
'PDX',
'SEA',
'29',
'129',
'6',
'52',
2],
['2014',
'11',
'4',
'616',
'-4',
'743',
'-31',
'UA',
'N454UA',
'302',
'PDX',
'SFO',
'75',
'550',
'6',
'16',
2],
['2014',
'7',
'1',
'1657',
'7',
'1816',
'1',
'WN',
'N754SW',
'1669',
'PDX',
'SMF',
'68',
'479',
'16',
'57',
2],
['2014',
'4',
'30',
'600',
'0',
'1144',
'4',
'AA',
'N4XSAA',
'1650',
'PDX',
'DFW',
'196',
'1616',
'6',
'0',
2],
['2014',
'8',
'22',
'1442',
'37',
'2032',
'22',
'WN',
'N8310C',
'336',
'SEA',
'MDW',
'211',
'1733',
'14',
'42',
2],
['2014',
'11',
'16',
'1603',
'10',
'2',
'-8',
'UA',
'N87531',
'1710',
'SEA',
'EWR',
'274',
'2402',
'16',
'3',
2],
['2014',
'4',
'25',
'1734',
'-3',
'2116',
'2',
'OO',
'N760SK',
'6459',
'SEA',
'DEN',
'138',
'1024',
'17',
'34',
2],
['2014',
'8',
'5',
'1530',
'0',
'1856',
'-14',
'WN',
'N253WN',
'4713',
'SEA',
'DEN',
'126',
'1024',
'15',
'30',
2],
['2014',
'3',
'3',
'717',
'-3',
'923',
'-2',
'WN',
'N281WN',
'1366',
'SEA',
'SJC',
'107',
'697',
'7',
'17',
2],
['2014',
'6',
'1',
'754',
'-6',
'1614',
'-15',
'AS',
'N589AS',
'18',
'SEA',
'MCO',
'306',
'2554',
'7',
'54',
2],
['2014',
'8',
'7',
'1426',
'11',
'1643',
'2',
'OO',
'N216AG',
'3482',
'SEA',
'SBA',
'119',
'908',
'14',
'26',
2],
['2014',
'3',
'31',
'624',
'-6',
'853',
'-2',
'AS',
'N779AS',
'558',
'PDX',
'LAX',
'119',
'834',
'6',
'24',
2],
['2014',
'3',
'3',
'1720',
'-8',
'1810',
'-6',
'OO',
'N295SW',
'5305',
'SEA',
'PDX',
'34',
'129',
'17',
'20',
2],
['2014',
'12',
'22',
'1033',
'18',
'1345',
'2',
'F9',
'N941FR',
'138',
'SEA',
'DEN',
'111',
'1024',
'10',
'33',
2],
['2014',
'5',
'16',
'1256',
'-4',
'1525',
'-13',
'OO',
'N806SK',
'4677',
'SEA',
'LAX',
'124',
'954',
'12',
'56',
2],
['2014',
'4',
'10',
'1123',
'-7',
'1340',
'-9',
'AS',
'N530AS',
'572',
'PDX',
'SAN',
'124',
'933',
'11',
'23',
2],
['2014',
'8',
'18',
'1459',
'-1',
'1728',
'-7',
'VX',
'N522VA',
'796',
'SEA',
'LAX',
'130',
'954',
'14',
'59',
2],
['2014',
'5',
'7',
'1341',
'-4',
'1518',
'-8',
'AS',
'N563AS',
'362',
'SEA',
'SMF',
'75',
'605',
'13',
'41',
2],
['2014',
'4',
'30',
'NA',
'NA',
'NA',
'NA',
'AS',
'N526AS',
'566',
'PDX',
'LAX',
'NA',
'834',
'NA',
'NA',
2],
['2014',
'3',
'29',
'1049',
'-6',
'1322',
'13',
'AS',
'N793AS',
'564',
'PDX',
'LAX',
'124',
'834',
'10',
'49',
2],
['2014',
'10',
'23',
'1004',
'-6',
'1211',
'1',
'AS',
'N585AS',
'382',
'PDX',
'SFO',
'95',
'550',
'10',
'4',
2],
['2014',
'10',
'23',
'2103',
'-2',
'2235',
'5',
'WN',
'N725SW',
'4816',
'PDX',
'SMF',
'79',
'479',
'21',
'3',
2],
['2014',
'8',
'21',
'654',
'-1',
'939',
'-6',
'WN',
'N737JW',
'4503',
'SEA',
'PHX',
'142',
'1107',
'6',
'54',
2],
['2014',
'6',
'1',
'1541',
'6',
'1756',
'3',
'AS',
'N769AS',
'596',
'SEA',
'LAS',
'116',
'867',
'15',
'41',
2],
['2014',
'10',
'5',
'743',
'-12',
'1009',
'-7',
'AS',
'N552AS',
'522',
'SEA',
'BUR',
'119',
'937',
'7',
'43',
2],
['2014',
'7',
'16',
'2324',
'-4',
'459',
'-16',
'UA',
'N430UA',
'601',
'SEA',
'ORD',
'197',
'1721',
'23',
'24',
2],
['2014',
'4',
'7',
'1926',
'11',
'2242',
'4',
'F9',
'N926FR',
'794',
'PDX',
'DEN',
'118',
'991',
'19',
'26',
2],
['2014',
'10',
'10',
'628',
'-2',
'1407',
'7',
'DL',
'N820DN',
'1156',
'PDX',
'ATL',
'261',
'2172',
'6',
'28',
2],
['2014',
'7',
'7',
'822',
'22',
'1042',
'22',
'AS',
'N795AS',
'568',
'PDX',
'LAX',
'115',
'834',
'8',
'22',
2],
['2014',
'4',
'15',
'24',
'34',
'300',
'31',
'AS',
'N764AS',
'121',
'SEA',
'ANC',
'203',
'1448',
'0',
'24',
2],
['2014',
'3',
'14',
'2231',
'96',
'42',
'78',
'AS',
'N706AS',
'534',
'SEA',
'ONT',
'116',
'956',
'22',
'31',
2],
['2014',
'11',
'17',
'904',
'-6',
'1139',
'-7',
'AS',
'N596AS',
'442',
'SEA',
'LAX',
'118',
'954',
'9',
'4',
2],
['2014',
'2',
'19',
'2048',
'43',
'2257',
'22',
'WN',
'N959WN',
'126',
'SEA',
'LAS',
'106',
'867',
'20',
'48',
2],
['2014',
'11',
'19',
'1426',
'11',
'1558',
'3',
'WN',
'N447WN',
'781',
'PDX',
'OAK',
'78',
'543',
'14',
'26',
2],
['2014',
'4',
'8',
'2207',
'72',
'2329',
'64',
'WN',
'N650SW',
'32',
'PDX',
'SMF',
'74',
'479',
'22',
'7',
2],
['2014',
'12',
'6',
'1327',
'-3',
'1710',
'-5',
'WN',
'N8301J',
'1121',
'SEA',
'ABQ',
'143',
'1180',
'13',
'27',
2],
['2014',
'2',
'23',
'2050',
'-10',
'2140',
'-8',
'OO',
'N221SW',
'5433',
'SEA',
'PDX',
'34',
'129',
'20',
'50',
2],
['2014',
'2',
'9',
'1844',
'4',
'2104',
'1',
'OO',
'N692CA',
'4745',
'SEA',
'LAS',
'116',
'867',
'18',
'44',
2],
['2014',
'6',
'13',
'15',
'-5',
'800',
'-16',
'US',
'N151UW',
'1818',
'SEA',
'CLT',
'261',
'2279',
'0',
'15',
2],
['2014',
'5',
'23',
'2357',
'7',
'231',
'13',
'AS',
'N765AS',
'121',
'SEA',
'ANC',
'201',
'1448',
'23',
'57',
2],
['2014',
'6',
'18',
'1742',
'-1',
'2131',
'11',
'OO',
'N988CA',
'5233',
'PDX',
'DEN',
'145',
'991',
'17',
'42',
2],
['2014',
'9',
'23',
'1843',
'23',
'2100',
'35',
'WN',
'N467WN',
'2586',
'SEA',
'SJC',
'116',
'697',
'18',
'43',
2],
['2014',
'4',
'4',
'1829',
'-6',
'2101',
'-21',
'AS',
'N612AS',
'464',
'SEA',
'LAX',
'122',
'954',
'18',
'29',
2],
['2014',
'8',
'30',
'1024',
'-6',
'1243',
'-4',
'AS',
'N518AS',
'564',
'PDX',
'LAX',
'109',
'834',
'10',
'24',
2],
['2014',
'1',
'14',
'1328',
'-2',
'1513',
'-17',
'WN',
'N279WN',
'3030',
'SEA',
'OAK',
'92',
'672',
'13',
'28',
2],
['2014',
'3',
'11',
'1119',
'-1',
'1709',
'-11',
'WN',
'N447WN',
'671',
'SEA',
'MDW',
'212',
'1733',
'11',
'19',
2],
['2014',
'7',
'26',
'1827',
'-3',
'2049',
'19',
'AS',
'N756AS',
'328',
'SEA',
'SJC',
'106',
'697',
'18',
'27',
2],
['2014',
'8',
'27',
'1330',
'25',
'2100',
'-2',
'US',
'N560UW',
'1857',
'SEA',
'CLT',
'255',
'2279',
'13',
'30',
2],
['2014',
'8',
'20',
'1500',
'12',
'1657',
'-3',
'UA',
'N569UA',
'720',
'SEA',
'SFO',
'92',
'679',
'15',
'0',
2],
['2014',
'4',
'27',
'1214',
'63',
'1400',
'57',
'OO',
'N913SW',
'5197',
'PDX',
'SFO',
'80',
'550',
'12',
'14',
2],
['2014',
'12',
'31',
'1719',
'-6',
'2130',
'-15',
'AS',
'N590AS',
'875',
'SEA',
'KOA',
'342',
'2688',
'17',
'19',
2],
['2014',
'5',
'9',
'1030',
'0',
'1546',
'-3',
'AS',
'N309AS',
'758',
'SEA',
'MCI',
'177',
'1489',
'10',
'30',
2],
['2014',
'3',
'7',
'703',
'-7',
'939',
'-11',
'WN',
'N767SW',
'230',
'PDX',
'SLC',
'82',
'630',
'7',
'3',
2],
['2014',
'12',
'11',
'1004',
'-4',
'1325',
'-5',
'F9',
'N919FR',
'788',
'PDX',
'DEN',
'126',
'991',
'10',
'4',
2],
['2014',
'8',
'6',
'1454',
'-6',
'1720',
'-15',
'VX',
'N527VA',
'796',
'SEA',
'LAX',
'122',
'954',
'14',
'54',
2],
['2014',
'11',
'29',
'1435',
'30',
'1656',
'42',
'AS',
'N626AS',
'316',
'SEA',
'SFO',
'105',
'679',
'14',
'35',
2],
['2014',
'4',
'15',
'115',
'121',
'910',
'101',
'B6',
'N569JB',
'498',
'SEA',
'BOS',
'275',
'2496',
'1',
'15',
2],
['2014',
'4',
'8',
'1546',
'-4',
'2115',
'-10',
'AA',
'N3DEAA',
'2248',
'SEA',
'DFW',
'193',
'1660',
'15',
'46',
2],
['2014',
'10',
'28',
'905',
'-5',
'1151',
'4',
'AS',
'N795AS',
'238',
'SEA',
'SAN',
'139',
'1050',
'9',
'5',
2],
['2014',
'8',
'22',
'704',
'4',
'957',
'22',
'AS',
'N768AS',
'115',
'SEA',
'ANC',
'206',
'1448',
'7',
'4',
2],
['2014',
'7',
'5',
'724',
'-6',
'909',
'-20',
'AS',
'N788AS',
'244',
'PDX',
'SFO',
'88',
'550',
'7',
'24',
2],
['2014',
'11',
'26',
'1038',
'-2',
'1440',
'0',
'AS',
'N609AS',
'794',
'SEA',
'ABQ',
'155',
'1180',
'10',
'38',
2],
['2014',
'9',
'1',
'1041',
'-4',
'1328',
'-10',
'AS',
'N512AS',
'648',
'SEA',
'TUS',
'147',
'1216',
'10',
'41',
2],
['2014',
'1',
'14',
'1159',
'-7',
'1754',
'-11',
'UA',
'N460UA',
'217',
'PDX',
'IAH',
'207',
'1825',
'11',
'59',
2],
['2014',
'3',
'21',
'1606',
'1',
'1832',
'0',
'AS',
'N433AS',
'115',
'SEA',
'ANC',
'189',
'1448',
'16',
'6',
2],
['2014',
'3',
'25',
'2050',
'-10',
'2148',
'1',
'OO',
'N294SW',
'5433',
'SEA',
'PDX',
'34',
'129',
'20',
'50',
2],
['2014',
'8',
'31',
'1134',
'-6',
'1348',
'-13',
'AS',
'N534AS',
'572',
'PDX',
'SAN',
'121',
'933',
'11',
'34',
2],
['2014',
'1',
'3',
'517',
'-8',
'840',
'-15',
'US',
'N828AW',
'649',
'PDX',
'PHX',
'123',
'1009',
'5',
'17',
2],
['2014',
'11',
'3',
'651',
'-9',
'841',
'-23',
'OO',
'N614SK',
'4608',
'SEA',
'SJC',
'93',
'697',
'6',
'51',
2],
['2014',
'4',
'11',
'1755',
'-10',
'2334',
'-14',
'AS',
'N323AS',
'26',
'SEA',
'ORD',
'201',
'1721',
'17',
'55',
2],
['2014',
'10',
'29',
'958',
'-2',
'1503',
'-17',
'AS',
'N320AS',
'756',
'SEA',
'MCI',
'167',
'1489',
'9',
'58',
2],
['2014',
'4',
'5',
'716',
'-4',
'948',
'-12',
'AS',
'N435AS',
'480',
'SEA',
'LAX',
'115',
'954',
'7',
'16',
2],
['2014',
'9',
'19',
'2253',
'-7',
'555',
'-18',
'DL',
'N3761R',
'761',
'SEA',
'DTW',
'213',
'1927',
'22',
'53',
2],
['2014',
'11',
'14',
'1741',
'-4',
'1929',
'-21',
'VX',
'N622VA',
'759',
'SEA',
'SFO',
'95',
'679',
'17',
'41',
2],
['2014',
'9',
'2',
'2300',
'0',
'543',
'-30',
'DL',
'N3730B',
'761',
'SEA',
'DTW',
'200',
'1927',
'23',
'0',
2],
['2014',
'2',
'24',
'1808',
'-7',
'2042',
'-13',
'WN',
'N492WN',
'495',
'PDX',
'SLC',
'81',
'630',
'18',
'8',
2],
['2014',
'2',
'7',
'2013',
'18',
'2148',
'3',
'WN',
'N791SW',
'741',
'SEA',
'SMF',
'84',
'605',
'20',
'13',
2],
['2014',
'1',
'4',
'829',
'-6',
'1102',
'-12',
'AS',
'N614AS',
'502',
'SEA',
'SNA',
'128',
'978',
'8',
'29',
2],
['2014',
'2',
'7',
'719',
'-4',
'1054',
'2',
'OO',
'N925SW',
'6219',
'PDX',
'DEN',
'111',
'991',
'7',
'19',
2],
['2014',
'7',
'14',
'1421',
'0',
'2026',
'16',
'UA',
'N562UA',
'961',
'SEA',
'ORD',
'196',
'1721',
'14',
'21',
2],
['2014',
'1',
'1',
'550',
'0',
'837',
'-12',
'DL',
'N660DL',
'1634',
'SEA',
'SLC',
'82',
'689',
'5',
'50',
2],
['2014',
'1',
'2',
'1141',
'-1',
'1226',
'4',
'OO',
'N585SW',
'5438',
'PDX',
'EUG',
'29',
'106',
'11',
'41',
2],
['2014',
'10',
'19',
'1303',
'13',
'1909',
'3',
'UA',
'N69824',
'1214',
'SEA',
'IAH',
'226',
'1874',
'13',
'3',
2],
['2014',
'3',
'12',
'648',
'-12',
'843',
'-2',
'VX',
'N846VA',
'84',
'PDX',
'SFO',
'92',
'550',
'6',
'48',
2],
['2014',
'11',
'26',
'1204',
'-6',
'1414',
'0',
'AS',
'N793AS',
'324',
'SEA',
'SJC',
'106',
'697',
'12',
'4',
2],
['2014',
'4',
'14',
'1054',
'7',
'1422',
'-2',
'UA',
'N87512',
'156',
'SEA',
'DEN',
'124',
'1024',
'10',
'54',
2],
['2014',
'6',
'16',
'659',
'-1',
'1523',
'7',
'DL',
'N712TW',
'2115',
'SEA',
'JFK',
'289',
'2422',
'6',
'59',
2],
['2014',
'8',
'28',
'542',
'-3',
'1147',
'-13',
'UA',
'N73270',
'1101',
'SEA',
'IAH',
'224',
'1874',
'5',
'42',
2],
['2014',
'4',
'9',
'1209',
'-2',
'1246',
'-4',
'OO',
'N297SW',
'5411',
'PDX',
'EUG',
'28',
'106',
'12',
'9',
2],
['2014',
'6',
'27',
'2124',
'14',
'2356',
'-3',
'AS',
'N612AS',
'145',
'PDX',
'FAI',
'202',
'1640',
'21',
'24',
2],
['2014',
'4',
'1',
'1522',
'-8',
'2052',
'-23',
'AA',
'N564AA',
'157',
'PDX',
'DFW',
'187',
'1616',
'15',
'22',
2],
['2014',
'6',
'11',
'1550',
'-3',
'2048',
'-12',
'DL',
'N6701',
'1770',
'SEA',
'MSP',
'158',
'1399',
'15',
'50',
2],
['2014',
'5',
'20',
'537',
'-8',
'719',
'-13',
'OO',
'N908SW',
'6332',
'PDX',
'SFO',
'82',
'550',
'5',
'37',
2],
['2014',
'3',
'4',
'1427',
'-3',
'1645',
'-6',
'AS',
'N453AS',
'608',
'SEA',
'LAS',
'111',
'867',
'14',
'27',
2],
['2014',
'3',
'12',
'2102',
'12',
'2320',
'6',
'AS',
'N536AS',
'598',
'PDX',
'SAN',
'125',
'933',
'21',
'2',
2],
['2014',
'5',
'25',
'1145',
'-5',
'1742',
'7',
'AS',
'N319AS',
'748',
'SEA',
'STL',
'213',
'1709',
'11',
'45',
2],
['2014',
'7',
'10',
'1736',
'-4',
'1959',
'-12',
'OO',
'N809SK',
'4738',
'SEA',
'LAS',
'127',
'867',
'17',
'36',
2],
['2014',
'5',
'4',
'655',
'-5',
'1500',
'-20',
'DL',
'N711ZX',
'418',
'SEA',
'JFK',
'271',
'2422',
'6',
'55',
2],
['2014',
'9',
'18',
'1135',
'-5',
'1746',
'11',
'AA',
'N3FBAA',
'1628',
'SEA',
'ORD',
'200',
'1721',
'11',
'35',
2],
['2014',
'2',
'21',
'1224',
'105',
'1549',
'101',
'F9',
'N201FR',
'240',
'SEA',
'DEN',
'121',
'1024',
'12',
'24',
2],
['2014',
'5',
'16',
'700',
'-5',
'930',
'-10',
'VX',
'N625VA',
'1780',
'SEA',
'LAX',
'131',
'954',
'7',
'0',
2],
['2014',
'4',
'24',
'630',
'0',
'1228',
'-2',
'WN',
'N8327A',
'1012',
'SEA',
'MDW',
'216',
'1733',
'6',
'30',
2],
['2014',
'4',
'30',
'1126',
'1',
'1402',
'-3',
'AS',
'N779AS',
'656',
'SEA',
'PHX',
'140',
'1107',
'11',
'26',
2],
['2014',
'8',
'5',
'1922',
'2',
'2123',
'-10',
'UA',
'N81449',
'1298',
'SEA',
'SFO',
'101',
'679',
'19',
'22',
2],
['2014',
'10',
'13',
'554',
'-6',
'1300',
'-13',
'DL',
'N685DA',
'1350',
'SEA',
'DTW',
'218',
'1927',
'5',
'54',
2],
['2014',
'5',
'18',
'1140',
'-5',
'1908',
'-25',
'DL',
'N811DZ',
'1962',
'SEA',
'ATL',
'239',
'2182',
'11',
'40',
2],
['2014',
'4',
'16',
'2145',
'10',
'547',
'2',
'B6',
'N608JB',
'264',
'SEA',
'JFK',
'275',
'2422',
'21',
'45',
2],
['2014',
'4',
'22',
'1042',
'-3',
'1254',
'-18',
'OO',
'N219AG',
'3482',
'SEA',
'SBA',
'114',
'908',
'10',
'42',
2],
['2014',
'3',
'23',
'1011',
'-4',
'1250',
'-5',
'AS',
'N622AS',
'87',
'SEA',
'ANC',
'202',
'1448',
'10',
'11',
2],
['2014',
'2',
'22',
'608',
'-7',
'1405',
'-26',
'UA',
'N470UA',
'604',
'PDX',
'EWR',
'278',
'2434',
'6',
'8',
2],
['2014',
'8',
'12',
'1032',
'7',
'1142',
'19',
'AS',
'N794AS',
'414',
'SEA',
'GEG',
'37',
'224',
'10',
'32',
2],
['2014',
'2',
'3',
'2303',
'-2',
'144',
'-14',
'AS',
'N558AS',
'125',
'SEA',
'FAI',
'206',
'1533',
'23',
'3',
2],
['2014',
'7',
'21',
'845',
'75',
'1107',
'101',
'AS',
'N767AS',
'244',
'PDX',
'SFO',
'92',
'550',
'8',
'45',
2],
['2014',
'7',
'21',
'1520',
'0',
'1808',
'8',
'AS',
'N531AS',
'494',
'SEA',
'SAN',
'150',
'1050',
'15',
'20',
2],
['2014',
'5',
'26',
'1139',
'1',
'1902',
'69',
'UA',
'N69806',
'1502',
'SEA',
'IAH',
'292',
'1874',
'11',
'39',
2],
['2014',
'5',
'20',
'623',
'3',
'1231',
'6',
'WN',
'N8606C',
'2163',
'PDX',
'MDW',
'227',
'1751',
'6',
'23',
2],
['2014',
'11',
'14',
'1154',
'-6',
'1728',
'-39',
'UA',
'N480UA',
'453',
'PDX',
'IAH',
'202',
'1825',
'11',
'54',
2],
['2014',
'2',
'9',
'620',
'15',
'823',
'16',
'AS',
'N593AS',
'344',
'SEA',
'OAK',
'97',
'671',
'6',
'20',
2],
['2014',
'7',
'9',
'1628',
'-2',
'1908',
'-9',
'DL',
'N3743H',
'1363',
'SEA',
'LAX',
'130',
'954',
'16',
'28',
2],
['2014',
'8',
'29',
'1403',
'3',
'2221',
'24',
'AS',
'N526AS',
'2',
'SEA',
'DCA',
'283',
'2329',
'14',
'3',
2],
['2014',
'1',
'3',
'NA',
'NA',
'NA',
'NA',
'US',
'NA',
'553',
'SEA',
'PHL',
'NA',
'2378',
'NA',
'NA',
2],
['2014',
'10',
'8',
'1735',
'0',
'1940',
'0',
'AS',
'N703AS',
'302',
'SEA',
'SFO',
'104',
'679',
'17',
'35',
2],
['2014',
'3',
'9',
'1401',
'-3',
'2002',
'-15',
'UA',
'N414UA',
'282',
'SEA',
'IAH',
'217',
'1874',
'14',
'1',
2],
['2014',
'7',
'7',
'2212',
'-3',
'605',
'-7',
'US',
'N672AW',
'685',
'SEA',
'PHL',
'263',
'2378',
'22',
'12',
2],
['2014',
'8',
'12',
'1739',
'-1',
'1922',
'-3',
'WN',
'N368SW',
'484',
'PDX',
'SJC',
'92',
'569',
'17',
'39',
2],
['2014',
'10',
'7',
'2207',
'-3',
'625',
'27',
'US',
'N535UW',
'624',
'SEA',
'CLT',
'281',
'2279',
'22',
'7',
2],
['2014',
'12',
'6',
'849',
'-6',
'1317',
'-1',
'AS',
'N577AS',
'861',
'SEA',
'OGG',
'362',
'2640',
'8',
'49',
2],
['2014',
'10',
'9',
'1304',
'15',
'2104',
'-3',
'B6',
'N789JB',
'464',
'SEA',
'JFK',
'274',
'2422',
'13',
'4',
2],
['2014',
'2',
'10',
'1621',
'16',
'1755',
'10',
'WN',
'N405WN',
'1071',
'PDX',
'SJC',
'84',
'569',
'16',
'21',
2],
['2014',
'3',
'28',
'722',
'2',
'1017',
'17',
'AS',
'N797AS',
'480',
'SEA',
'LAX',
'139',
'954',
'7',
'22',
2],
['2014',
'4',
'30',
'1732',
'202',
'1958',
'198',
'AS',
'N767AS',
'538',
'SEA',
'ONT',
'127',
'956',
'17',
'32',
2],
['2014',
'2',
'1',
'1945',
'13',
'2147',
'5',
'OO',
'N708SK',
'6367',
'SEA',
'SFO',
'100',
'679',
'19',
'45',
2],
['2014',
'5',
'17',
'642',
'-1',
'1028',
'12',
'UA',
'N494UA',
'328',
'PDX',
'DEN',
'133',
'991',
'6',
'42',
2],
['2014',
'1',
'8',
'1607',
'2',
'1747',
'2',
'WN',
'N409WN',
'1071',
'PDX',
'SJC',
'90',
'569',
'16',
'7',
2],
['2014',
'9',
'8',
'945',
'-5',
'1043',
'3',
'OO',
'N161PQ',
'4608',
'PDX',
'SEA',
'33',
'129',
'9',
'45',
2],
['2014',
'11',
'24',
'1849',
'-6',
'2033',
'-22',
'AS',
'N786AS',
'386',
'PDX',
'SFO',
'81',
'550',
'18',
'49',
2],
['2014',
'9',
'24',
'2025',
'-5',
'2317',
'12',
'AS',
'N705AS',
'534',
'SEA',
'ONT',
'143',
'956',
'20',
'25',
2],
['2014',
'5',
'25',
'2311',
'-4',
'136',
'-16',
'AS',
'N563AS',
'127',
'SEA',
'FAI',
'191',
'1533',
'23',
'11',
2],
['2014',
'1',
'28',
'748',
'-9',
'1523',
'-21',
'UA',
'N553UA',
'419',
'SEA',
'IAD',
'249',
'2306',
'7',
'48',
2],
['2014',
'8',
'28',
'2138',
'28',
'5',
'6',
'AS',
'N518AS',
'145',
'PDX',
'FAI',
'197',
'1640',
'21',
'38',
2],
['2014',
'2',
'17',
'1300',
'0',
'1803',
'-17',
'AS',
'N619AS',
'38',
'SEA',
'MSP',
'166',
'1399',
'13',
'0',
2],
['2014',
'5',
'13',
'1757',
'-3',
'1939',
'-11',
'OO',
'N958SW',
'6471',
'PDX',
'SFO',
'84',
'550',
'17',
'57',
2],
['2014',
'6',
'9',
'838',
'-2',
'1120',
'-15',
'AS',
'N755AS',
'728',
'SEA',
'SLC',
'88',
'689',
'8',
'38',
2],
['2014',
'7',
'16',
'759',
'-1',
'923',
'-2',
'AS',
'N765AS',
'61',
'SEA',
'JNU',
'124',
'909',
'7',
'59',
2],
['2014',
'1',
'21',
'1037',
'2',
'1259',
'-31',
'AS',
'N558AS',
'127',
'SEA',
'ANC',
'182',
'1448',
'10',
'37',
2],
['2014',
'6',
'8',
'1331',
'1',
'1607',
'-1',
'OO',
'N215AG',
'3476',
'SEA',
'LGB',
'130',
'965',
'13',
'31',
2],
['2014',
'9',
'11',
'1428',
'-2',
'1640',
'-5',
'AS',
'N570AS',
'570',
'PDX',
'LAX',
'110',
'834',
'14',
'28',
2],
['2014',
'4',
'19',
'1842',
'-3',
'1940',
'3',
'OO',
'N581SW',
'5424',
'SEA',
'PDX',
'35',
'129',
'18',
'42',
2],
['2014',
'2',
'23',
'755',
'-5',
'1546',
'-34',
'AS',
'N552AS',
'16',
'SEA',
'MCO',
'275',
'2554',
'7',
'55',
2],
['2014',
'7',
'2',
'901',
'-4',
'1045',
'-3',
'AS',
'N597AS',
'360',
'SEA',
'SMF',
'87',
'605',
'9',
'1',
2],
['2014',
'10',
'2',
'631',
'-4',
'854',
'-16',
'WN',
'N253WN',
'1927',
'PDX',
'PHX',
'123',
'1009',
'6',
'31',
2],
['2014',
'9',
'28',
'557',
'-3',
'1208',
'18',
'AA',
'N3GUAA',
'1094',
'SEA',
'DFW',
'220',
'1660',
'5',
'57',
2],
['2014',
'10',
'25',
'1906',
'21',
'2144',
'21',
'AS',
'N546AS',
'171',
'SEA',
'ANC',
'191',
'1448',
'19',
'6',
2],
['2014',
'9',
'26',
'1231',
'-10',
'1340',
'5',
'OO',
'N803SK',
'4623',
'PDX',
'SEA',
'40',
'129',
'12',
'31',
2],
['2014',
'6',
'1',
'2235',
'0',
'116',
'-2',
'AS',
'N457AS',
'143',
'PDX',
'ANC',
'201',
'1542',
'22',
'35',
2],
['2014',
'2',
'20',
'2148',
'36',
'27',
'32',
'UA',
'N81449',
'1603',
'SEA',
'ANC',
'198',
'1448',
'21',
'48',
2],
['2014',
'9',
'11',
'711',
'4',
'1401',
'-22',
'DL',
'N679DA',
'2509',
'PDX',
'DTW',
'206',
'1953',
'7',
'11',
2],
['2014',
'5',
'29',
'824',
'-6',
'1042',
'-53',
'AS',
'N562AS',
'861',
'SEA',
'OGG',
'299',
'2640',
'8',
'24',
2],
['2014',
'10',
'21',
'803',
'-2',
'1626',
'-1',
'AS',
'N413AS',
'18',
'SEA',
'MCO',
'301',
'2554',
'8',
'3',
2],
['2014',
'9',
'8',
'1634',
'5',
'1925',
'0',
'DL',
'N690DL',
'568',
'SEA',
'SLC',
'88',
'689',
'16',
'34',
2],
['2014',
'5',
'4',
'807',
'-3',
'1328',
'-7',
'WN',
'N633SW',
'381',
'PDX',
'MCI',
'174',
'1482',
'8',
'7',
2],
['2014',
'4',
'1',
'1501',
'-4',
'1722',
'-2',
'AS',
'N622AS',
'520',
'SEA',
'BUR',
'125',
'937',
'15',
'1',
2],
['2014',
'3',
'19',
'1954',
'24',
'2312',
'14',
'F9',
'N910FR',
'142',
'SEA',
'DEN',
'115',
'1024',
'19',
'54',
2],
['2014',
'7',
'15',
'1033',
'-2',
'1234',
'-10',
'AS',
'N619AS',
'318',
'SEA',
'SFO',
'97',
'679',
'10',
'33',
2],
['2014',
'3',
'30',
'801',
'-4',
'1425',
'40',
'AA',
'N4YTAA',
'1220',
'PDX',
'DFW',
'202',
'1616',
'8',
'1',
2],
['2014',
'8',
'17',
'1534',
'0',
'1801',
'-4',
'OO',
'N978SW',
'6235',
'PDX',
'LAX',
'120',
'834',
'15',
'34',
2],
['2014',
'7',
'4',
'1921',
'11',
'2153',
'-7',
'WN',
'N766SW',
'268',
'SEA',
'PHX',
'140',
'1107',
'19',
'21',
2],
['2014',
'5',
'10',
'1826',
'-4',
'2019',
'-23',
'AS',
'N755AS',
'302',
'SEA',
'SFO',
'89',
'679',
'18',
'26',
2],
['2014',
'10',
'4',
'626',
'-4',
'1334',
'-26',
'DL',
'N816DN',
'1156',
'PDX',
'ATL',
'229',
'2172',
'6',
'26',
2],
['2014',
'3',
'9',
'2219',
'-1',
'644',
'-11',
'AA',
'N5CNAA',
'1070',
'SEA',
'MIA',
'303',
'2724',
'22',
'19',
2],
['2014',
'5',
'10',
'2309',
'-1',
'140',
'5',
'AS',
'N596AS',
'125',
'SEA',
'ANC',
'193',
'1448',
'23',
'9',
2],
['2014',
'6',
'11',
'1054',
'-9',
'1624',
'NA',
'OO',
'N926SW',
'5576',
'PDX',
'DEN',
'NA',
'991',
'10',
'54',
2],
['2014',
'12',
'5',
'1518',
'13',
'1752',
'22',
'WN',
'N932WN',
'2963',
'SEA',
'LAS',
'127',
'867',
'15',
'18',
2],
['2014',
'7',
'28',
'1804',
'14',
'2007',
'12',
'AS',
'N559AS',
'358',
'SEA',
'SFO',
'104',
'679',
'18',
'4',
2],
['2014',
'11',
'28',
'1850',
'0',
'2127',
'8',
'AS',
'N622AS',
'510',
'SEA',
'SNA',
'136',
'978',
'18',
'50',
2],
['2014',
'8',
'28',
'1809',
'-1',
'11',
'17',
'AS',
'N302AS',
'26',
'SEA',
'ORD',
'200',
'1721',
'18',
'9',
2],
['2014',
'8',
'19',
'713',
'-7',
'938',
'-9',
'AS',
'N794AS',
'530',
'SEA',
'ONT',
'128',
'956',
'7',
'13',
2],
['2014',
'7',
'6',
'617',
'-3',
'821',
'-19',
'WN',
'N8329B',
'4135',
'PDX',
'LAS',
'108',
'763',
'6',
'17',
2],
['2014',
'9',
'5',
'1436',
'-4',
'1718',
'-2',
'AS',
'N795AS',
'494',
'SEA',
'SAN',
'140',
'1050',
'14',
'36',
2],
['2014',
'6',
'29',
'2031',
'36',
'2227',
'31',
'OO',
'N227AG',
'3490',
'SEA',
'FAT',
'97',
'748',
'20',
'31',
2],
['2014',
'5',
'6',
'553',
'-7',
'1143',
'-17',
'AA',
'N3DLAA',
'2240',
'SEA',
'ORD',
'206',
'1721',
'5',
'53',
2],
['2014',
'6',
'28',
'1126',
'1',
'1340',
'-6',
'AS',
'N546AS',
'638',
'SEA',
'LAS',
'110',
'867',
'11',
'26',
2],
['2014',
'2',
'22',
'1328',
'8',
'2041',
'-13',
'DL',
'N821NW',
'1227',
'SEA',
'ATL',
'228',
'2182',
'13',
'28',
2],
['2014',
'7',
'1',
'654',
'-6',
'918',
'-2',
'AS',
'N306AS',
'608',
'SEA',
'LAS',
'122',
'867',
'6',
'54',
2],
['2014',
'10',
'14',
'2034',
'-16',
'2247',
'-11',
'AS',
'N524AS',
'624',
'PDX',
'LAS',
'117',
'763',
'20',
'34',
2],
['2014',
'9',
'7',
'1648',
'3',
'1922',
'-13',
'WN',
'N7745A',
'573',
'SEA',
'PHX',
'140',
'1107',
'16',
'48',
2],
['2014',
'9',
'18',
'658',
'-7',
'1201',
'-21',
'DL',
'N3754A',
'954',
'PDX',
'MSP',
'163',
'1426',
'6',
'58',
2],
['2014',
'6',
'7',
'911',
'-9',
'1727',
'-18',
'AS',
'N553AS',
'30',
'PDX',
'BOS',
'286',
'2537',
'9',
'11',
2],
['2014',
'1',
'26',
'1013',
'-2',
'1446',
'11',
'AS',
'N535AS',
'843',
'SEA',
'KOA',
'378',
'2688',
'10',
'13',
2],
['2014',
'7',
'29',
'1007',
'132',
'1850',
'135',
'AS',
'N568AS',
'18',
'SEA',
'MCO',
'305',
'2554',
'10',
'7',
2],
['2014',
'3',
'23',
'835',
'-5',
'1714',
'-1',
'AS',
'N518AS',
'38',
'SEA',
'FLL',
'312',
'2717',
'8',
'35',
2],
['2014',
'9',
'2',
'625',
'-10',
'854',
'-16',
'AS',
'N769AS',
'576',
'PDX',
'SAN',
'127',
'933',
'6',
'25',
2],
['2014',
'1',
'5',
'1535',
'0',
'1806',
'-14',
'AS',
'N754AS',
'101',
'SEA',
'ANC',
'196',
'1448',
'15',
'35',
2],
['2014',
'11',
'19',
'1517',
'17',
'1720',
'-17',
'DL',
'N3750D',
'2066',
'SEA',
'ANC',
'168',
'1448',
'15',
'17',
2],
['2014',
'6',
'19',
'711',
'-4',
'943',
'-27',
'AS',
'N459AS',
'833',
'PDX',
'HNL',
'319',
'2603',
'7',
'11',
2],
['2014',
'4',
'8',
'926',
'-9',
'1710',
'-30',
'AS',
'N526AS',
'764',
'PDX',
'DCA',
'268',
'2350',
'9',
'26',
2],
['2014',
'5',
'4',
'706',
'-6',
'1305',
'-14',
'UA',
'N852UA',
'591',
'SEA',
'IAH',
'218',
'1874',
'7',
'6',
2],
['2014',
'12',
'20',
'726',
'1',
'1050',
'-21',
'AS',
'N464AS',
'634',
'SEA',
'PHX',
'126',
'1107',
'7',
'26',
2],
['2014',
'8',
'25',
'1211',
'11',
'1450',
'-5',
'WN',
'N225WN',
'4395',
'SEA',
'PHX',
'144',
'1107',
'12',
'11',
2],
['2014',
'12',
'7',
'1205',
'-5',
'1420',
'6',
'AS',
'N705AS',
'324',
'SEA',
'SJC',
'117',
'697',
'12',
'5',
2],
['2014',
'5',
'9',
'645',
'-5',
'922',
'-18',
'WN',
'N622SW',
'476',
'PDX',
'SLC',
'85',
'630',
'6',
'45',
2],
['2014',
'7',
'22',
'1540',
'-10',
'1800',
'-12',
'AS',
'N609AS',
'596',
'SEA',
'LAS',
'124',
'867',
'15',
'40',
2],
['2014',
'8',
'3',
'2019',
'-6',
'2308',
'3',
'AS',
'N626AS',
'640',
'PDX',
'PHX',
'149',
'1009',
'20',
'19',
2],
['2014',
'5',
'7',
'712',
'-3',
'956',
'-9',
'AS',
'N581AS',
'833',
'PDX',
'HNL',
'329',
'2603',
'7',
'12',
2],
['2014',
'2',
'26',
'1738',
'-7',
'2122',
'-10',
'US',
'N672AW',
'496',
'SEA',
'PHX',
'144',
'1107',
'17',
'38',
2],
['2014',
'3',
'19',
'1848',
'-2',
'2133',
'0',
'AS',
'N423AS',
'630',
'SEA',
'PHX',
'139',
'1107',
'18',
'48',
2],
['2014',
'8',
'9',
'1339',
'-1',
'1530',
'5',
'AS',
'N517AS',
'362',
'SEA',
'SMF',
'85',
'605',
'13',
'39',
2],
['2014',
'4',
'27',
'1013',
'-2',
'1224',
'-29',
'AS',
'N566AS',
'87',
'SEA',
'ANC',
'178',
'1448',
'10',
'13',
2],
['2014',
'12',
'8',
'600',
'0',
'1150',
'-14',
'UA',
'N69826',
'1173',
'PDX',
'IAH',
'210',
'1825',
'6',
'0',
2],
['2014',
'3',
'22',
'1627',
'-13',
'1931',
'-24',
'AS',
'N562AS',
'867',
'SEA',
'OGG',
'347',
'2640',
'16',
'27',
2],
['2014',
'6',
'2',
'2018',
'3',
'2252',
'2',
'AS',
'N461AS',
'103',
'SEA',
'ANC',
'190',
'1448',
'20',
'18',
2],
['2014',
'8',
'22',
'1333',
'33',
'1421',
'27',
'OO',
'N804SK',
'4697',
'PDX',
'SEA',
'30',
'129',
'13',
'33',
2],
['2014',
'8',
'15',
'601',
'1',
'1210',
'17',
'UA',
'N37408',
'1425',
'SEA',
'ORD',
'210',
'1721',
'6',
'1',
2],
['2014',
'1',
'2',
'1233',
'23',
'1415',
'20',
'WN',
'N908WN',
'3252',
'PDX',
'SJC',
'87',
'569',
'12',
'33',
2],
['2014',
'3',
'4',
'928',
'-7',
'1026',
'3',
'OO',
'N563SW',
'5438',
'SEA',
'PDX',
'34',
'129',
'9',
'28',
2],
['2014',
'2',
'14',
'2354',
'-5',
'630',
'-38',
'DL',
'N386DA',
'1823',
'SEA',
'DTW',
'198',
'1927',
'23',
'54',
2],
['2014',
'4',
'9',
'1500',
'-5',
'1747',
'1',
'AS',
'N799AS',
'650',
'SEA',
'PHX',
'146',
'1107',
'15',
'0',
2],
['2014',
'3',
'16',
'1439',
'-6',
'1753',
'-17',
'F9',
'N208FR',
'792',
'PDX',
'DEN',
'117',
'991',
'14',
'39',
2],
['2014',
'11',
'19',
'2009',
'41',
'2229',
'49',
'UA',
'N79279',
'1532',
'SEA',
'SFO',
'115',
'679',
'20',
'9',
2],
['2014',
'9',
'16',
'949',
'-6',
'1147',
'-18',
'AS',
'N703AS',
'318',
'SEA',
'SFO',
'103',
'679',
'9',
'49',
2],
['2014',
'10',
'9',
'756',
'-4',
'1138',
'1',
'UA',
'N66831',
'1578',
'SEA',
'DEN',
'134',
'1024',
'7',
'56',
2],
['2014',
'11',
'30',
'1133',
'-4',
'1627',
'-18',
'DL',
'N343NW',
'1109',
'PDX',
'MSP',
'157',
'1426',
'11',
'33',
2],
['2014',
'11',
'19',
'516',
'-4',
'851',
'1',
'US',
'N912UY',
'425',
'PDX',
'PHX',
'136',
'1009',
'5',
'16',
2],
['2014',
'12',
'10',
'1955',
'10',
'2212',
'-18',
'AS',
'N471AS',
'99',
'SEA',
'ANC',
'178',
'1448',
'19',
'55',
2],
['2014',
'9',
'17',
'1445',
'0',
'1705',
'-16',
'DL',
'N392DA',
'1349',
'SEA',
'ANC',
'182',
'1448',
'14',
'45',
2],
['2014',
'2',
'16',
'1405',
'-5',
'2142',
'-15',
'AS',
'N524AS',
'2',
'SEA',
'DCA',
'256',
'2329',
'14',
'5',
2],
['2014',
'6',
'10',
'1545',
'35',
'1801',
'26',
'WN',
'N213WN',
'4252',
'SEA',
'LAS',
'117',
'867',
'15',
'45',
2],
['2014',
'2',
'14',
'617',
'-3',
'1136',
'-29',
'AA',
'N4WJAA',
'1650',
'PDX',
'DFW',
'174',
'1616',
'6',
'17',
2],
['2014',
'11',
'5',
'1521',
'-4',
'1834',
'-16',
'WN',
'N905WN',
'4295',
'PDX',
'DEN',
'116',
'991',
'15',
'21',
2],
['2014',
'8',
'3',
'1119',
'-6',
'1359',
'-1',
'US',
'N755US',
'634',
'PDX',
'PHX',
'144',
'1009',
'11',
'19',
2],
['2014',
'6',
'9',
'1302',
'12',
'1539',
'20',
'AS',
'N557AS',
'105',
'SEA',
'ANC',
'191',
'1448',
'13',
'2',
2],
['2014',
'3',
'11',
'1442',
'-3',
'1634',
'-16',
'VX',
'N855VA',
'755',
'SEA',
'SFO',
'99',
'679',
'14',
'42',
2],
['2014',
'7',
'18',
'642',
'2',
'1237',
'2',
'WN',
'N8316H',
'2485',
'SEA',
'MDW',
'215',
'1733',
'6',
'42',
2],
['2014',
'2',
'20',
'1635',
'20',
'2001',
'1',
'WN',
'N948WN',
'567',
'SEA',
'PHX',
'131',
'1107',
'16',
'35',
2],
['2014',
'11',
'24',
'1710',
'0',
'1904',
'-11',
'VX',
'N839VA',
'755',
'SEA',
'SFO',
'97',
'679',
'17',
'10',
2],
['2014',
'11',
'16',
'949',
'-7',
'1141',
'-32',
'UA',
'N819UA',
'390',
'SEA',
'SFO',
'98',
'679',
'9',
'49',
2],
['2014',
'5',
'20',
'1250',
'-5',
'1441',
'-11',
'AS',
'N564AS',
'324',
'SEA',
'SJC',
'95',
'697',
'12',
'50',
2],
['2014',
'7',
'7',
'1949',
'104',
'2153',
'93',
'OO',
'N225AG',
'3462',
'PDX',
'ONT',
'109',
'838',
'19',
'49',
2],
['2014',
'1',
'11',
'2303',
'-2',
'202',
'-8',
'AS',
'N627AS',
'125',
'SEA',
'FAI',
'219',
'1533',
'23',
'3',
2],
['2014',
'2',
'27',
'1024',
'-1',
'1402',
'4',
'AS',
'N323AS',
'640',
'PDX',
'PHX',
'127',
'1009',
'10',
'24',
2],
['2014',
'8',
'27',
'1112',
'-3',
'1349',
'2',
'AS',
'N506AS',
'476',
'SEA',
'LAX',
'129',
'954',
'11',
'12',
2],
['2014',
'1',
'15',
'1433',
'-6',
'1528',
'1',
'OO',
'N297SW',
'5417',
'SEA',
'PDX',
'40',
'129',
'14',
'33',
2],
['2014',
'10',
'27',
'1138',
'-2',
'1724',
'-11',
'AA',
'N3HRAA',
'1628',
'SEA',
'ORD',
'198',
'1721',
'11',
'38',
2],
['2014',
'12',
'21',
'1347',
'17',
'1557',
'-12',
'AS',
'N579AS',
'494',
'SEA',
'SAN',
'117',
'1050',
'13',
'47',
2],
['2014',
'5',
'11',
'2230',
'-5',
'45',
'-17',
'AS',
'N552AS',
'450',
'SEA',
'LAX',
'116',
'954',
'22',
'30',
2],
['2014',
'7',
'15',
'1033',
'-2',
'1400',
'-14',
'AS',
'N622AS',
'672',
'SEA',
'DEN',
'125',
'1024',
'10',
'33',
2],
['2014',
'8',
'6',
'1826',
'2',
'2107',
'-5',
'UA',
'N87513',
'1192',
'SEA',
'LAX',
'129',
'954',
'18',
'26',
2],
['2014',
'7',
'16',
'927',
'-3',
'1132',
'-1',
'AS',
'N536AS',
'330',
'SEA',
'SJC',
'106',
'697',
'9',
'27',
2],
['2014',
'2',
'8',
'1156',
'5',
'1431',
'21',
'OO',
'N616QX',
'4698',
'PDX',
'LAX',
'116',
'834',
'11',
'56',
2],
['2014',
'3',
'10',
'1132',
'-3',
'1716',
'-13',
'AS',
'N306AS',
'670',
'SEA',
'AUS',
'204',
'1770',
'11',
'32',
2],
['2014',
'8',
'4',
'1158',
'18',
'1453',
'13',
'WN',
'N655WN',
'203',
'SEA',
'SLC',
'98',
'689',
'11',
'58',
2],
['2014',
'2',
'13',
'810',
'10',
'1023',
'0',
'AS',
'N408AS',
'568',
'PDX',
'LAX',
'112',
'834',
'8',
'10',
2],
['2014',
'12',
'28',
'723',
'-2',
'944',
'-2',
'AS',
'N419AS',
'612',
'SEA',
'LAS',
'110',
'867',
'7',
'23',
2],
['2014',
'8',
'30',
'1311',
'-3',
'1553',
'-3',
'DL',
'N752AT',
'314',
'SEA',
'LAX',
'118',
'954',
'13',
'11',
2],
['2014',
'4',
'1',
'934',
'-1',
'1207',
'-5',
'OO',
'N224AG',
'3472',
'SEA',
'LGB',
'137',
'965',
'9',
'34',
2],
['2014',
'1',
'30',
'1359',
'10',
'2008',
'5',
'UA',
'N465UA',
'408',
'SEA',
'IAH',
'215',
'1874',
'13',
'59',
2],
['2014',
'4',
'12',
'555',
'-5',
'843',
'0',
'DL',
'N397DA',
'1831',
'PDX',
'SLC',
'91',
'630',
'5',
'55',
2],
['2014',
'7',
'1',
'1152',
'-3',
'1427',
'-3',
'AS',
'N513AS',
'508',
'SEA',
'SNA',
'136',
'978',
'11',
'52',
2],
['2014',
'1',
'2',
'44',
'49',
'641',
'51',
'UA',
'N423UA',
'758',
'PDX',
'IAH',
'215',
'1825',
'0',
'44',
2],
['2014',
'3',
'1',
'1525',
'115',
'1720',
'105',
'VX',
'N846VA',
'755',
'SEA',
'SFO',
'96',
'679',
'15',
'25',
2],
['2014',
'2',
'6',
'1851',
'-4',
'2031',
'-5',
'AS',
'N570AS',
'381',
'SEA',
'SMF',
'78',
'605',
'18',
'51',
2],
['2014',
'3',
'7',
'1659',
'-1',
'1917',
'-13',
'VX',
'N839VA',
'796',
'SEA',
'LAX',
'119',
'954',
'16',
'59',
2],
['2014',
'11',
'12',
'1942',
'14',
'2145',
'5',
'UA',
'N35260',
'1532',
'SEA',
'SFO',
'103',
'679',
'19',
'42',
2],
['2014',
'11',
'28',
'1601',
'88',
'1701',
'101',
'OO',
'N632SK',
'4820',
'PDX',
'SEA',
'31',
'129',
'16',
'1',
2],
['2014',
'9',
'22',
'2326',
'-4',
'505',
'-13',
'UA',
'N12238',
'1538',
'PDX',
'ORD',
'203',
'1739',
'23',
'26',
2],
['2014',
'1',
'9',
'1315',
'-5',
'1555',
'-30',
'AS',
'N592AS',
'724',
'SEA',
'SLC',
'83',
'689',
'13',
'15',
2],
['2014',
'5',
'22',
'645',
'0',
'923',
'3',
'WN',
'N356SW',
'1927',
'PDX',
'PHX',
'139',
'1009',
'6',
'45',
2],
['2014',
'8',
'7',
'NA',
'NA',
'NA',
'NA',
'AS',
'N579AS',
'867',
'SEA',
'OGG',
'NA',
'2640',
'NA',
'NA',
2],
['2014',
'11',
'4',
'1218',
'-7',
'1443',
'-7',
'OO',
'N633SK',
'4789',
'SEA',
'LAS',
'117',
'867',
'12',
'18',
2],
['2014',
'4',
'8',
'1136',
'11',
'1423',
'18',
'AS',
'N767AS',
'656',
'SEA',
'PHX',
'144',
'1107',
'11',
'36',
2],
['2014',
'5',
'16',
'1850',
'-5',
'2032',
'-1',
'AS',
'N506AS',
'370',
'SEA',
'SMF',
'82',
'605',
'18',
'50',
2],
['2014',
'5',
'5',
'1732',
'-5',
'2108',
'-6',
'OO',
'N760SK',
'6459',
'SEA',
'DEN',
'134',
'1024',
'17',
'32',
2],
['2014',
'8',
'24',
'1516',
'-4',
'1756',
'-12',
'AS',
'N596AS',
'714',
'PDX',
'SLC',
'84',
'630',
'15',
'16',
2],
['2014',
'11',
'1',
'1930',
'0',
'2205',
'-38',
'AS',
'N597AS',
'859',
'SEA',
'HNL',
'318',
'2677',
'19',
'30',
2],
['2014',
'12',
'16',
'1751',
'-9',
'2017',
'-6',
'OO',
'N810SK',
'4546',
'SEA',
'LAS',
'121',
'867',
'17',
'51',
2],
['2014',
'1',
'22',
'700',
'-4',
'848',
'-11',
'UA',
'N73291',
'1001',
'PDX',
'SFO',
'77',
'550',
'7',
'0',
2],
['2014',
'6',
'9',
'1225',
'10',
'1453',
'8',
'DL',
'N3766',
'2436',
'SEA',
'ANC',
'188',
'1448',
'12',
'25',
2],
['2014',
'9',
'23',
'945',
'-5',
'1044',
'4',
'OO',
'N549CA',
'4608',
'PDX',
'SEA',
'33',
'129',
'9',
'45',
2],
['2014',
'10',
'3',
'1819',
'-10',
'2050',
'-28',
'UA',
'N840UA',
'436',
'SEA',
'LAX',
'127',
'954',
'18',
'19',
2],
['2014',
'11',
'8',
'601',
'1',
'927',
'-8',
'WN',
'N7750A',
'4120',
'SEA',
'DEN',
'118',
'1024',
'6',
'1',
2],
['2014',
'5',
'19',
'1820',
'-5',
'2102',
'-7',
'DL',
'N313US',
'952',
'PDX',
'SLC',
'87',
'630',
'18',
'20',
2],
['2014',
'12',
'30',
'540',
'0',
'718',
'-9',
'UA',
'N68452',
'1212',
'PDX',
'SFO',
'72',
'550',
'5',
'40',
2],
['2014',
'7',
'2',
'829',
'-1',
'1427',
'12',
'AS',
'N532AS',
'28',
'SEA',
'ORD',
'212',
'1721',
'8',
'29',
2],
['2014',
'4',
'1',
'608',
'-2',
'902',
'7',
'AS',
'N506AS',
'476',
'SEA',
'SAN',
'144',
'1050',
'6',
'8',
2],
['2014',
'6',
'27',
'2317',
'-5',
'712',
'-5',
'UA',
'N38454',
'1422',
'PDX',
'IAD',
'279',
'2327',
'23',
'17',
2],
['2014',
'7',
'9',
'604',
'-1',
'1339',
'-21',
'UA',
'N36444',
'1193',
'PDX',
'IAD',
'260',
'2327',
'6',
'4',
2],
['2014',
'11',
'9',
'1605',
'5',
'1705',
'7',
'AS',
'N706AS',
'696',
'SEA',
'GEG',
'36',
'224',
'16',
'5',
2],
['2014',
'6',
'18',
'1149',
'-1',
'1310',
'0',
'AS',
'N797AS',
'63',
'SEA',
'SIT',
'123',
'861',
'11',
'49',
2],
['2014',
'3',
'22',
'1253',
'-2',
'1444',
'-12',
'AS',
'N558AS',
'324',
'SEA',
'SJC',
'98',
'697',
'12',
'53',
2],
['2014',
'9',
'23',
'1320',
'0',
'1523',
'-2',
'WN',
'N248WN',
'2615',
'SEA',
'OAK',
'104',
'671',
'13',
'20',
2],
['2014',
'3',
'26',
'1017',
'-3',
'1314',
'3',
'DL',
'N370NW',
'1857',
'SEA',
'SLC',
'98',
'689',
'10',
'17',
2],
['2014',
'9',
'14',
'1245',
'-5',
'1834',
'-11',
'AS',
'N513AS',
'22',
'SEA',
'ORD',
'196',
'1721',
'12',
'45',
2],
['2014',
'5',
'6',
'2129',
'-1',
'521',
'-26',
'B6',
'N643JB',
'264',
'SEA',
'JFK',
'276',
'2422',
'21',
'29',
2],
['2014',
'11',
'25',
'2155',
'15',
'537',
'-1',
'B6',
'N635JB',
'264',
'SEA',
'JFK',
'267',
'2422',
'21',
'55',
2],
['2014',
'2',
'6',
'550',
'-15',
'745',
'-20',
'AS',
'N527AS',
'344',
'SEA',
'OAK',
'92',
'671',
'5',
'50',
2],
['2014',
'4',
'18',
'2214',
'4',
'544',
'-24',
'UA',
'N67815',
'1091',
'SEA',
'IAD',
'254',
'2306',
'22',
'14',
2],
['2014',
'10',
'20',
'1744',
'4',
'2035',
'42',
'AS',
'N795AS',
'562',
'PDX',
'LAX',
'132',
'834',
'17',
'44',
2],
['2014',
'6',
'27',
'1328',
'8',
'2112',
'8',
'DL',
'N695DL',
'898',
'SEA',
'ATL',
'254',
'2182',
'13',
'28',
2],
['2014',
'4',
'7',
'920',
'-10',
'1144',
'-19',
'AS',
'N795AS',
'640',
'PDX',
'PHX',
'125',
'1009',
'9',
'20',
2],
['2014',
'1',
'7',
'2050',
'55',
'2223',
'48',
'WN',
'N452WN',
'741',
'SEA',
'SMF',
'75',
'605',
'20',
'50',
2],
['2014',
'2',
'4',
'1414',
'44',
'1600',
'30',
'WN',
'N765SW',
'3030',
'SEA',
'OAK',
'90',
'671',
'14',
'14',
2],
['2014',
'9',
'1',
'848',
'-7',
'1110',
'-14',
'US',
'N640AW',
'507',
'PDX',
'PHX',
'128',
'1009',
'8',
'48',
2],
['2014',
'3',
'30',
'1646',
'6',
'1927',
'2',
'WN',
'N964WN',
'392',
'SEA',
'PHX',
'142',
'1107',
'16',
'46',
2],
['2014',
'6',
'21',
'1749',
'-1',
'1942',
'-17',
'AS',
'N560AS',
'358',
'SEA',
'SFO',
'97',
'679',
'17',
'49',
2],
['2014',
'8',
'3',
'1144',
'-6',
'1418',
'-17',
'AS',
'N530AS',
'809',
'PDX',
'OGG',
'315',
'2562',
'11',
'44',
2],
['2014',
'3',
'25',
'2036',
'-4',
'2320',
'-5',
'AS',
'N713AS',
'636',
'SEA',
'PHX',
'150',
'1107',
'20',
'36',
2],
['2014',
'6',
'30',
'1815',
'10',
'2055',
'5',
'WN',
'N931WN',
'4628',
'PDX',
'SLC',
'85',
'630',
'18',
'15',
2],
['2014',
'2',
'6',
'2025',
'-5',
'2225',
'-3',
'AS',
'N583AS',
'226',
'SEA',
'SJC',
'98',
'697',
'20',
'25',
2],
['2014',
'6',
'8',
'942',
'-5',
'1024',
'-3',
'OO',
'N217SW',
'5344',
'PDX',
'EUG',
'27',
'106',
'9',
'42',
2],
['2014',
'5',
'8',
'2010',
'-5',
'2124',
'-13',
'AS',
'N795AS',
'79',
'SEA',
'JNU',
'118',
'909',
'20',
'10',
2],
['2014',
'6',
'20',
'538',
'-2',
'906',
'-4',
'UA',
'N37293',
'1072',
'SEA',
'DEN',
'126',
'1024',
'5',
'38',
2],
['2014',
'12',
'20',
'1346',
'-4',
'1613',
'-5',
'AS',
'N612AS',
'512',
'SEA',
'SNA',
'129',
'978',
'13',
'46',
2],
['2014',
'6',
'16',
'544',
'-1',
'903',
'-22',
'WN',
'N716SW',
'1945',
'SEA',
'DEN',
'126',
'1024',
'5',
'44',
2],
['2014',
'5',
'11',
'1850',
'-10',
'1938',
'-14',
'OO',
'N564SW',
'5424',
'SEA',
'PDX',
'35',
'129',
'18',
'50',
2],
['2014',
'4',
'16',
'2038',
'23',
'2208',
'3',
'WN',
'N464WN',
'130',
'PDX',
'OAK',
'77',
'543',
'20',
'38',
2],
['2014',
'5',
'26',
'1803',
'5',
'2126',
'-11',
'UA',
'N68805',
'1246',
'SEA',
'DEN',
'121',
'1024',
'18',
'3',
2],
['2014',
'5',
'20',
'826',
'-4',
'1117',
'3',
'US',
'N621AW',
'612',
'SEA',
'PHX',
'152',
'1107',
'8',
'26',
2],
['2014',
'3',
'28',
'1851',
'-4',
'2041',
'4',
'AS',
'N553AS',
'370',
'SEA',
'SMF',
'88',
'605',
'18',
'51',
2],
['2014',
'10',
'2',
'643',
'-2',
'841',
'-14',
'WN',
'N8600F',
'351',
'PDX',
'LAS',
'100',
'763',
'6',
'43',
2],
['2014',
'8',
'10',
'604',
'-1',
'1400',
'0',
'UA',
'N68802',
'1207',
'PDX',
'IAD',
'278',
'2327',
'6',
'4',
2],
['2014',
'5',
'5',
'752',
'-1',
'1529',
'-22',
'UA',
'N539UA',
'419',
'SEA',
'IAD',
'249',
'2306',
'7',
'52',
2],
['2014',
'10',
'8',
'2349',
'-10',
'533',
'-34',
'UA',
'N24706',
'1455',
'PDX',
'IAH',
'210',
'1825',
'23',
'49',
2],
['2014',
'7',
'27',
'600',
'0',
'1129',
'-22',
'UA',
'N849UA',
'682',
'SEA',
'ORD',
'186',
'1721',
'6',
'0',
2],
['2014',
'8',
'8',
'2024',
'-6',
'2243',
'-19',
'OO',
'N812SK',
'4789',
'SEA',
'LAS',
'122',
'867',
'20',
'24',
2],
['2014',
'6',
'20',
'706',
'1',
'1313',
'18',
'AA',
'N3GNAA',
'86',
'PDX',
'ORD',
'204',
'1739',
'7',
'6',
2],
['2014',
'5',
'9',
'1419',
'1',
'1638',
'-11',
'B6',
'N643JB',
'407',
'SEA',
'LGB',
'124',
'965',
'14',
'19',
2],
['2014',
'4',
'23',
'1910',
'-4',
'2003',
'-2',
'OO',
'N237SW',
'5305',
'PDX',
'SEA',
'40',
'129',
'19',
'10',
2],
['2014',
'5',
'7',
'1004',
'-1',
'1218',
'-12',
'WN',
'N8303R',
'318',
'SEA',
'LAS',
'107',
'867',
'10',
'4',
2],
['2014',
'9',
'16',
'816',
'-4',
'1422',
'-7',
'UA',
'N543UA',
'749',
'SEA',
'IAH',
'220',
'1874',
'8',
'16',
2],
['2014',
'11',
'10',
'852',
'-3',
'1111',
'-9',
'WN',
'N610WN',
'4215',
'PDX',
'SAN',
'121',
'933',
'8',
'52',
2],
['2014',
'5',
'7',
'1735',
'-10',
'1933',
'-22',
'OO',
'N216AG',
'3488',
'PDX',
'BUR',
'104',
'817',
'17',
'35',
2],
['2014',
'6',
'15',
'1020',
'-5',
'1241',
'-3',
'AS',
'N530AS',
'586',
'SEA',
'LAS',
'115',
'867',
'10',
'20',
2],
['2014',
'4',
'13',
'1112',
'22',
'1306',
'11',
'WN',
'N262WN',
'4016',
'PDX',
'LAS',
'99',
'763',
'11',
'12',
2],
['2014',
'1',
'30',
'1755',
'-4',
'1946',
'-4',
'OO',
'N929SW',
'5553',
'PDX',
'SFO',
'90',
'550',
'17',
'55',
2],
['2014',
'8',
'27',
'2027',
'-3',
'2245',
'-17',
'OO',
'N823SK',
'4789',
'SEA',
'LAS',
'118',
'867',
'20',
'27',
2],
['2014',
'8',
'27',
'705',
'-5',
'1302',
'2',
'AA',
'N3HVAA',
'1507',
'SEA',
'DFW',
'204',
'1660',
'7',
'5',
2],
['2014',
'10',
'15',
'1555',
'10',
'2130',
'0',
'AA',
'N3HYAA',
'2361',
'SEA',
'DFW',
'191',
'1660',
'15',
'55',
2],
['2014',
'1',
'12',
'655',
'-5',
'1029',
'-46',
'AS',
'N560AS',
'833',
'PDX',
'HNL',
'318',
'2603',
'6',
'55',
2],
['2014',
'4',
'12',
'1407',
'-3',
'1621',
'-6',
'AS',
'N546AS',
'606',
'SEA',
'LAS',
'116',
'867',
'14',
'7',
2],
['2014',
'11',
'24',
'2227',
'-3',
'2309',
'-6',
'AS',
'N468AS',
'414',
'SEA',
'PDX',
'30',
'129',
'22',
'27',
2],
['2014',
'11',
'7',
'1335',
'-6',
'1610',
'-12',
'DL',
'N376NW',
'1208',
'PDX',
'SLC',
'80',
'630',
'13',
'35',
2],
['2014',
'4',
'1',
'531',
'-9',
'740',
'-1',
'UA',
'N806UA',
'807',
'SEA',
'SFO',
'99',
'679',
'5',
'31',
2],
['2014',
'10',
'9',
'2108',
'3',
'2228',
'-2',
'WN',
'N759GS',
'4816',
'PDX',
'SMF',
'66',
'479',
'21',
'8',
2],
['2014',
'12',
'13',
'809',
'-6',
'1612',
'2',
'AS',
'N536AS',
'4',
'SEA',
'DCA',
'285',
'2329',
'8',
'9',
2],
['2014',
'1',
'16',
'2018',
'41',
'2339',
'37',
'F9',
'N204FR',
'142',
'SEA',
'DEN',
'119',
'1024',
'20',
'18',
2],
['2014',
'8',
'25',
'1152',
'82',
'1654',
'79',
'OO',
'N218AG',
'3468',
'SEA',
'OMA',
'165',
'1368',
'11',
'52',
2],
['2014',
'9',
'28',
'735',
'-5',
'1028',
'1',
'AS',
'N627AS',
'634',
'SEA',
'PHX',
'154',
'1107',
'7',
'35',
2],
['2014',
'8',
'11',
'NA',
'NA',
'NA',
'NA',
'OO',
'N689CA',
'4528',
'PDX',
'SEA',
'NA',
'129',
'NA',
'NA',
2],
['2014',
'2',
'22',
'1450',
'-5',
'1544',
'1',
'OO',
'N229SW',
'5417',
'SEA',
'PDX',
'30',
'129',
'14',
'50',
2],
['2014',
'5',
'12',
'1240',
'0',
'1825',
'-5',
'AS',
'N551AS',
'692',
'SEA',
'SAT',
'210',
'1774',
'12',
'40',
2],
['2014',
'4',
'30',
'953',
'-2',
'1210',
'10',
'AS',
'N794AS',
'318',
'SEA',
'SFO',
'100',
'679',
'9',
'53',
2],
['2014',
'4',
'8',
'1354',
'9',
'1548',
'16',
'AS',
'N792AS',
'362',
'SEA',
'SMF',
'85',
'605',
'13',
'54',
2],
['2014',
'12',
'18',
'1834',
'-6',
'2040',
'-45',
'AS',
'N530AS',
'109',
'SEA',
'ANC',
'171',
'1448',
'18',
'34',
2],
['2014',
'10',
'30',
'1334',
'-1',
'1549',
'14',
'OO',
'N227AG',
'3474',
'SEA',
'FAT',
'104',
'748',
'13',
'34',
2],
['2014',
'6',
'27',
'1920',
'14',
'2129',
'10',
'UA',
'N14231',
'1414',
'SEA',
'SFO',
'100',
'679',
'19',
'20',
2],
['2014',
'9',
'14',
'757',
'2',
'1535',
'-16',
'UA',
'N33284',
'1201',
'PDX',
'IAD',
'257',
'2327',
'7',
'57',
2],
['2014',
'2',
'21',
'1406',
'-9',
'2203',
'-15',
'B6',
'N524JB',
'598',
'SEA',
'BOS',
'277',
'2496',
'14',
'6',
2],
['2014',
'9',
'26',
'1004',
'4',
'1542',
'23',
'AS',
'N323AS',
'756',
'SEA',
'MCI',
'188',
'1489',
'10',
'4',
2],
['2014',
'11',
'20',
'657',
'-3',
'1503',
'-13',
'DL',
'N393DA',
'400',
'PDX',
'JFK',
'286',
'2454',
'6',
'57',
2],
['2014',
'2',
'3',
'551',
'-9',
'844',
'-4',
'DL',
'N693DL',
'1831',
'PDX',
'SLC',
'74',
'630',
'5',
'51',
2],
['2014',
'11',
'10',
'1350',
'0',
'1620',
'0',
'AS',
'N584AS',
'512',
'SEA',
'SNA',
'133',
'978',
'13',
'50',
2],
['2014',
'5',
'30',
'1055',
'-5',
'1903',
'5',
'US',
'N579UW',
'643',
'SEA',
'CLT',
'270',
'2279',
'10',
'55',
2],
['2014',
'8',
'6',
'844',
'14',
'1118',
'3',
'WN',
'N277WN',
'1532',
'SEA',
'SAN',
'136',
'1050',
'8',
'44',
2],
['2014',
'7',
'20',
'1946',
'36',
'2241',
'41',
'WN',
'N932WN',
'887',
'SEA',
'PHX',
'149',
'1107',
'19',
'46',
2],
['2014',
'10',
'29',
'718',
'-2',
'941',
'-5',
'AS',
'N760AS',
'530',
'SEA',
'ONT',
'128',
'956',
'7',
'18',
2],
['2014',
'12',
'11',
'2142',
'-3',
'606',
'23',
'B6',
'N589JB',
'264',
'SEA',
'JFK',
'289',
'2422',
'21',
'42',
2],
['2014',
'1',
'4',
'558',
'-2',
'1147',
'-23',
'AA',
'N3KVAA',
'2240',
'SEA',
'ORD',
'201',
'1721',
'5',
'58',
2],
['2014',
'6',
'23',
'909',
'9',
'1701',
'16',
'DL',
'N139DL',
'108',
'SEA',
'ATL',
'270',
'2182',
'9',
'9',
2],
['2014',
'1',
'14',
'718',
'-2',
'1055',
'-15',
'WN',
'N646SW',
'1008',
'SEA',
'PHX',
'139',
'1107',
'7',
'18',
2],
['2014',
'7',
'15',
'1430',
'45',
'1714',
'46',
'AS',
'N403AS',
'123',
'SEA',
'FAI',
'209',
'1533',
'14',
'30',
2],
['2014',
'10',
'21',
'1300',
'-5',
'1844',
'-4',
'AS',
'N318AS',
'664',
'SEA',
'DFW',
'198',
'1660',
'13',
'0',
2],
['2014',
'4',
'22',
'833',
'-7',
'1712',
'-11',
'AS',
'N524AS',
'38',
'SEA',
'FLL',
'319',
'2717',
'8',
'33',
2],
['2014',
'1',
'28',
'2012',
'-8',
'2338',
'-21',
'AS',
'N319AS',
'632',
'SEA',
'PHX',
'125',
'1107',
'20',
'12',
2],
['2014',
'5',
'22',
'512',
'-3',
'709',
'-14',
'UA',
'N66803',
'1424',
'SEA',
'SFO',
'93',
'679',
'5',
'12',
2],
['2014',
'8',
'31',
'1048',
'3',
'1400',
'-18',
'AS',
'N526AS',
'672',
'SEA',
'DEN',
'116',
'1024',
'10',
'48',
2],
['2014',
'5',
'16',
'856',
'1',
'1612',
'-23',
'DL',
'N808DN',
'2505',
'PDX',
'ATL',
'234',
'2172',
'8',
'56',
2],
['2014',
'6',
'20',
'1224',
'-1',
'1422',
'-13',
'OO',
'N216AG',
'3470',
'PDX',
'SBA',
'106',
'784',
'12',
'24',
2],
['2014',
'12',
'18',
'749',
'59',
'1010',
'61',
'AS',
'N615AS',
'582',
'PDX',
'SNA',
'118',
'859',
'7',
'49',
2],
['2014',
'3',
'19',
'1009',
'-6',
'1309',
'-16',
'HA',
'N388HA',
'25',
'PDX',
'HNL',
'341',
'2603',
'10',
'9',
2],
['2014',
'2',
'24',
'657',
'-3',
'936',
'-29',
'AS',
'N319AS',
'726',
'SEA',
'SLC',
'83',
'689',
'6',
'57',
2],
['2014',
'4',
'15',
'629',
'9',
'1204',
'-12',
'UA',
'N36280',
'1460',
'SEA',
'ORD',
'192',
'1721',
'6',
'29',
2],
['2014',
'9',
'17',
'1036',
'-2',
'1635',
'-4',
'UA',
'N466UA',
'278',
'SEA',
'ORD',
'200',
'1721',
'10',
'36',
2],
['2014',
'9',
'18',
'1304',
'-1',
'1842',
'-6',
'AS',
'N433AS',
'664',
'SEA',
'DFW',
'197',
'1660',
'13',
'4',
2],
['2014',
'7',
'8',
'807',
'-3',
'1625',
'8',
'US',
'N559UW',
'669',
'PDX',
'PHL',
'292',
'2406',
'8',
'7',
2],
['2014',
'9',
'26',
'802',
'-3',
'1710',
'40',
'AS',
'N408AS',
'18',
'SEA',
'MCO',
'338',
'2554',
'8',
'2',
2],
['2014',
'5',
'3',
'715',
'15',
'908',
'23',
'VX',
'N849VA',
'805',
'PDX',
'SFO',
'95',
'550',
'7',
'15',
2],
['2014',
'12',
'18',
'1131',
'23',
'1339',
'29',
'UA',
'N444UA',
'390',
'SEA',
'SFO',
'100',
'679',
'11',
'31',
2],
['2014',
'2',
'12',
'1243',
'-2',
'1506',
'-4',
'OO',
'N689CA',
'4741',
'SEA',
'LAS',
'118',
'867',
'12',
'43',
2],
['2014',
'5',
'9',
'1900',
'30',
'2104',
'22',
'AS',
'N791AS',
'302',
'SEA',
'SFO',
'98',
'679',
'19',
'0',
2],
['2014',
'7',
'23',
'1009',
'-6',
'1258',
'8',
'VX',
'N522VA',
'784',
'SEA',
'LAX',
'140',
'954',
'10',
'9',
2],
['2014',
'5',
'19',
'1225',
'0',
'2016',
'-14',
'WN',
'N950WN',
'1291',
'SEA',
'BWI',
'278',
'2335',
'12',
'25',
2],
['2014',
'3',
'30',
'1139',
'-1',
'1318',
'-7',
'VX',
'N526VA',
'817',
'PDX',
'SFO',
'86',
'550',
'11',
'39',
2],
['2014',
'5',
'23',
'555',
'-5',
'926',
'-1',
'F9',
'N202FR',
'796',
'PDX',
'DEN',
'136',
'991',
'5',
'55',
2],
['2014',
'6',
'15',
'1325',
'-4',
'1841',
'1',
'DL',
'N326US',
'2164',
'PDX',
'MSP',
'179',
'1426',
'13',
'25',
2],
['2014',
'7',
'29',
'724',
'-2',
'808',
'-12',
'OO',
'N291SW',
'5379',
'PDX',
'SEA',
'30',
'129',
'7',
'24',
2],
['2014',
'10',
'21',
'1137',
'-11',
'1739',
'4',
'AS',
'N611AS',
'670',
'SEA',
'AUS',
'223',
'1770',
'11',
'37',
2],
['2014',
'12',
'7',
'1017',
'2',
'1424',
'9',
'HA',
'N388HA',
'25',
'PDX',
'HNL',
'342',
'2603',
'10',
'17',
2],
['2014',
'3',
'26',
'1149',
'-1',
'1248',
'5',
'AS',
'N644AS',
'684',
'SEA',
'GEG',
'42',
'224',
'11',
'49',
2],
['2014',
'10',
'12',
'21',
'36',
'537',
'12',
'AA',
'N3LAAA',
'1230',
'SEA',
'DFW',
'180',
'1660',
'0',
'21',
2],
['2014',
'6',
'27',
'640',
'0',
'851',
'-12',
'AS',
'N552AS',
'232',
'PDX',
'SAN',
'115',
'933',
'6',
'40',
2],
['2014',
'10',
'17',
'1518',
'28',
'2050',
'20',
'AA',
'N200AA',
'157',
'PDX',
'DFW',
'193',
'1616',
'15',
'18',
2],
['2014',
'12',
'2',
'1726',
'-4',
'2125',
'-25',
'AS',
'N592AS',
'875',
'SEA',
'KOA',
'346',
'2688',
'17',
'26',
2],
['2014',
'4',
'29',
'1316',
'-4',
'1548',
'-15',
'DL',
'N3768',
'642',
'PDX',
'SLC',
'79',
'630',
'13',
'16',
2],
['2014',
'11',
'20',
'1555',
'95',
'1831',
'83',
'AS',
'N795AS',
'97',
'SEA',
'ANC',
'195',
'1448',
'15',
'55',
2],
['2014',
'5',
'21',
'2241',
'26',
'631',
'9',
'US',
'N509AY',
'685',
'SEA',
'PHL',
'268',
'2378',
'22',
'41',
2],
['2014',
'2',
'15',
'1318',
'1',
'1500',
'1',
'UA',
'N34282',
'1699',
'PDX',
'SFO',
'90',
'550',
'13',
'18',
2],
['2014',
'1',
'30',
'1011',
'-4',
'1355',
'-25',
'HA',
'N381HA',
'25',
'PDX',
'HNL',
'319',
'2603',
'10',
'11',
2],
['2014',
'9',
'17',
'1205',
'-5',
'1443',
'-2',
'AS',
'N622AS',
'500',
'SEA',
'SNA',
'141',
'978',
'12',
'5',
2],
['2014',
'6',
'15',
'604',
'-5',
'1214',
'-12',
'UA',
'N806UA',
'661',
'SEA',
'IAH',
'227',
'1874',
'6',
'4',
2],
['2014',
'8',
'20',
'1122',
'-8',
'1328',
'-27',
'AS',
'N512AS',
'572',
'PDX',
'SAN',
'115',
'933',
'11',
'22',
2],
['2014',
'10',
'28',
'803',
'-2',
'1542',
'-19',
'AS',
'N512AS',
'4',
'SEA',
'DCA',
'255',
'2329',
'8',
'3',
2],
['2014',
'1',
'26',
'1442',
'22',
'1557',
'12',
'WN',
'N294WN',
'877',
'PDX',
'SMF',
'65',
'479',
'14',
'42',
2],
['2014',
'4',
'25',
'1448',
'49',
'2052',
'39',
'UA',
'N78511',
'1581',
'SEA',
'IAH',
'227',
'1874',
'14',
'48',
2],
['2014',
'3',
'31',
'1146',
'-9',
'1433',
'-1',
'OO',
'N958SW',
'6371',
'SEA',
'LAX',
'137',
'954',
'11',
'46',
2],
['2014',
'2',
'17',
'1614',
'-1',
'1947',
'-13',
'WN',
'N8607M',
'567',
'SEA',
'PHX',
'132',
'1107',
'16',
'14',
2],
['2014',
'8',
'5',
'822',
'72',
'1029',
'62',
'AS',
'N464AS',
'222',
'SEA',
'SFO',
'103',
'679',
'8',
'22',
2],
['2014',
'11',
'15',
'1840',
'-5',
'1930',
'-17',
'AS',
'N796AS',
'69',
'SEA',
'KTN',
'91',
'680',
'18',
'40',
2],
['2014',
'9',
'6',
'600',
'-5',
'807',
'-3',
'AS',
'N622AS',
'200',
'SEA',
'SJC',
'108',
'697',
'6',
'0',
2],
['2014',
'12',
'21',
'1335',
'0',
'1625',
'-10',
'AS',
'N440AS',
'123',
'SEA',
'FAI',
'209',
'1533',
'13',
'35',
2],
['2014',
'8',
'9',
'611',
'-4',
'850',
'-5',
'AS',
'N320AS',
'454',
'SEA',
'LAX',
'131',
'954',
'6',
'11',
2],
['2014',
'6',
'30',
'645',
'-5',
'842',
'-13',
'OO',
'N807SK',
'4501',
'SEA',
'SJC',
'99',
'697',
'6',
'45',
2],
['2014',
'5',
'22',
'2306',
'-4',
'500',
'-5',
'UA',
'N39416',
'1617',
'SEA',
'ORD',
'206',
'1721',
'23',
'6',
2],
['2014',
'11',
'25',
'702',
'2',
'1158',
'-17',
'DL',
'N584NW',
'2314',
'SEA',
'MSP',
'154',
'1399',
'7',
'2',
2],
['2014',
'5',
'8',
'1047',
'-3',
'1239',
'-16',
'WN',
'N453WN',
'4016',
'PDX',
'LAS',
'98',
'763',
'10',
'47',
2],
['2014',
'12',
'28',
'2057',
'2',
'2343',
'7',
'DL',
'N382DA',
'1760',
'SEA',
'ANC',
'207',
'1448',
'20',
'57',
2],
['2014',
'5',
'21',
'1140',
'5',
'1740',
'12',
'AS',
'N302AS',
'670',
'SEA',
'AUS',
'223',
'1770',
'11',
'40',
2],
['2014',
'3',
'28',
'921',
'-5',
'1023',
'10',
'OO',
'N565SW',
'5411',
'SEA',
'PDX',
'40',
'129',
'9',
'21',
2],
['2014',
'6',
'13',
'1040',
'55',
'1919',
'66',
'AS',
'N517AS',
'12',
'SEA',
'BOS',
'302',
'2496',
'10',
'40',
2],
['2014',
'9',
'15',
'1225',
'-5',
'1456',
'-9',
'AS',
'N792AS',
'105',
'SEA',
'ANC',
'192',
'1448',
'12',
'25',
2],
['2014',
'10',
'17',
'633',
'-2',
'909',
'-1',
'WN',
'N943WN',
'1927',
'PDX',
'PHX',
'137',
'1009',
'6',
'33',
2],
['2014',
'12',
'5',
'1601',
'1',
'1826',
'-22',
'AS',
'N622AS',
'103',
'SEA',
'ANC',
'189',
'1448',
'16',
'1',
2],
['2014',
'9',
'14',
'1646',
'1',
'1925',
'-10',
'WN',
'N215WN',
'573',
'SEA',
'PHX',
'142',
'1107',
'16',
'46',
2],
['2014',
'8',
'16',
'1622',
'22',
'1710',
'18',
'OO',
'N810SK',
'4500',
'PDX',
'SEA',
'26',
'129',
'16',
'22',
2],
['2014',
'5',
'8',
'2204',
'-1',
'602',
'-4',
'US',
'N152UW',
'624',
'SEA',
'CLT',
'273',
'2279',
'22',
'4',
2],
['2014',
'6',
'10',
'1440',
'-5',
'1805',
'-5',
'F9',
'N211FR',
'792',
'PDX',
'DEN',
'124',
'991',
'14',
'40',
2],
['2014',
'8',
'11',
'2207',
'72',
'51',
'85',
'AS',
'N788AS',
'534',
'SEA',
'ONT',
'148',
'956',
'22',
'7',
2],
['2014',
'8',
'2',
'639',
'-1',
'926',
'6',
'AS',
'N323AS',
'466',
'SEA',
'LAX',
'137',
'954',
'6',
'39',
2],
['2014',
'3',
'17',
'2235',
'10',
'612',
'1',
'UA',
'N558UA',
'751',
'SEA',
'IAD',
'260',
'2306',
'22',
'35',
2],
['2014',
'8',
'30',
'1022',
'9',
'1347',
'0',
'F9',
'N209FR',
'138',
'SEA',
'DEN',
'123',
'1024',
'10',
'22',
2],
['2014',
'10',
'11',
'1333',
'5',
'1506',
'-10',
'UA',
'N815UA',
'367',
'PDX',
'SFO',
'79',
'550',
'13',
'33',
2],
['2014',
'11',
'22',
'658',
'-2',
'1252',
'2',
'AA',
'N3GAAA',
'1507',
'SEA',
'DFW',
'198',
'1660',
'6',
'58',
2],
['2014',
'10',
'22',
'1940',
'-5',
'2155',
'-27',
'DL',
'N3750D',
'2146',
'SEA',
'ANC',
'176',
'1448',
'19',
'40',
2],
['2014',
'6',
'3',
'853',
'-7',
'1145',
'-24',
'AS',
'N530AS',
'875',
'SEA',
'LIH',
'334',
'2701',
'8',
'53',
2],
['2014',
'8',
'13',
'1235',
'18',
'1503',
'3',
'AS',
'N402AS',
'490',
'SEA',
'SAN',
'137',
'1050',
'12',
'35',
2],
['2014',
'2',
'9',
'1617',
'9',
'1717',
'17',
'OO',
'N563SW',
'5404',
'PDX',
'SEA',
'48',
'129',
'16',
'17',
2],
['2014',
'11',
'16',
'629',
'-6',
'922',
'-13',
'AS',
'N546AS',
'724',
'SEA',
'SLC',
'93',
'689',
'6',
'29',
2],
['2014',
'2',
'4',
'1542',
'5',
'1901',
'-4',
'F9',
'N920FR',
'148',
'SEA',
'DEN',
'128',
'1024',
'15',
'42',
2],
['2014',
'10',
'21',
'1751',
'-4',
'1947',
'-5',
'AS',
'N778AS',
'328',
'SEA',
'SJC',
'99',
'697',
'17',
'51',
2],
['2014',
'8',
'3',
'1606',
'26',
'1815',
'30',
'AS',
'N309AS',
'322',
'SEA',
'SJC',
'106',
'697',
'16',
'6',
2],
['2014',
'1',
'10',
'634',
'-6',
'832',
'-16',
'OO',
'N218AG',
'3456',
'PDX',
'BUR',
'102',
'817',
'6',
'34',
2],
['2014',
'1',
'13',
'1148',
'-3',
'1359',
'-11',
'OO',
'N633SK',
'4698',
'PDX',
'LAX',
'110',
'834',
'11',
'48',
2],
['2014',
'9',
'20',
'1313',
'-2',
'1548',
'6',
'DL',
'N378DA',
'716',
'SEA',
'LAS',
'141',
'867',
'13',
'13',
2],
['2014',
'6',
'23',
'1356',
'31',
'2018',
'33',
'WN',
'N207WN',
'299',
'SEA',
'HOU',
'236',
'1894',
'13',
'56',
2],
['2014',
'4',
'18',
'1831',
'-4',
'2101',
'-7',
'AS',
'N619AS',
'464',
'SEA',
'LAX',
'125',
'954',
'18',
'31',
2],
['2014',
'4',
'18',
'653',
'-7',
'1459',
'-12',
'DL',
'N624AG',
'2550',
'SEA',
'JFK',
'281',
'2422',
'6',
'53',
2],
['2014',
'9',
'26',
'1459',
'-1',
'1735',
'0',
'VX',
'N528VA',
'796',
'SEA',
'LAX',
'143',
'954',
'14',
'59',
2],
['2014',
'9',
'11',
'1452',
'-8',
'1719',
'-16',
'VX',
'N526VA',
'796',
'SEA',
'LAX',
'129',
'954',
'14',
'52',
2],
['2014',
'9',
'14',
'1132',
'-3',
'1502',
'-13',
'WN',
'N358SW',
'3677',
'SEA',
'DEN',
'131',
'1024',
'11',
'32',
2],
['2014',
'6',
'6',
'657',
'-8',
'1234',
'-21',
'AA',
'N4YJAA',
'1458',
'PDX',
'DFW',
'195',
'1616',
'6',
'57',
2],
['2014',
'1',
'26',
'2019',
'24',
'2151',
'6',
'WN',
'N482WN',
'327',
'SEA',
'SMF',
'76',
'605',
'20',
'19',
2],
['2014',
'7',
'4',
'633',
'23',
'1230',
'0',
'WN',
'N201LV',
'766',
'SEA',
'HOU',
'224',
'1894',
'6',
'33',
2],
['2014',
'3',
'25',
'1515',
'274',
'1608',
'279',
'OO',
'N580SW',
'5325',
'SEA',
'PDX',
'36',
'129',
'15',
'15',
2],
['2014',
'12',
'1',
'1916',
'21',
'2139',
'35',
'AS',
'N471AS',
'300',
'SEA',
'SFO',
'103',
'679',
'19',
'16',
2],
['2014',
'3',
'2',
'1926',
'21',
'2038',
'13',
'WN',
'N905WN',
'623',
'PDX',
'RNO',
'60',
'444',
'19',
'26',
2],
['2014',
'5',
'7',
'559',
'-1',
'944',
'9',
'WN',
'N916WN',
'1279',
'SEA',
'DEN',
'142',
'1024',
'5',
'59',
2],
['2014',
'3',
'24',
'2100',
'-5',
'2339',
'-11',
'AS',
'N419AS',
'470',
'SEA',
'LAX',
'134',
'954',
'21',
'0',
2],
['2014',
'5',
'22',
'1140',
'5',
'1852',
'-6',
'DL',
'N581NW',
'2424',
'SEA',
'DTW',
'230',
'1927',
'11',
'40',
2],
['2014',
'7',
'1',
'706',
'1',
'922',
'-11',
'AS',
'N713AS',
'115',
'SEA',
'ANC',
'177',
'1448',
'7',
'6',
2],
['2014',
'6',
'10',
'1150',
'-5',
'1423',
'-7',
'AS',
'N557AS',
'508',
'SEA',
'SNA',
'134',
'978',
'11',
'50',
2],
['2014',
'2',
'3',
'829',
'-1',
'1411',
'-14',
'AS',
'N320AS',
'28',
'SEA',
'ORD',
'199',
'1721',
'8',
'29',
2],
['2014',
'8',
'2',
'1037',
'-5',
'1422',
'5',
'OO',
'N765SK',
'6509',
'SEA',
'DEN',
'134',
'1024',
'10',
'37',
2],
['2014',
'6',
'8',
'555',
'-5',
'827',
'-3',
'AS',
'N589AS',
'81',
'SEA',
'ANC',
'190',
'1448',
'5',
'55',
2],
['2014',
'2',
'16',
'2324',
'4',
'445',
'-15',
'AA',
'N3LCAA',
'1230',
'SEA',
'DFW',
'183',
'1660',
'23',
'24',
2],
['2014',
'5',
'11',
'834',
'-6',
'1042',
'-5',
'AS',
'N760AS',
'382',
'SEA',
'SFO',
'93',
'679',
'8',
'34',
2],
['2014',
'8',
'25',
'1838',
'8',
'2006',
'-9',
'WN',
'N618WN',
'767',
'PDX',
'OAK',
'75',
'543',
'18',
'38',
2],
['2014',
'5',
'13',
'611',
'1',
'749',
'-6',
'WN',
'N440LV',
'1015',
'PDX',
'SJC',
'84',
'569',
'6',
'11',
2],
['2014',
'10',
'22',
'1407',
'-8',
'1643',
'-1',
'B6',
'N630JB',
'407',
'SEA',
'LGB',
'131',
'965',
'14',
'7',
2],
['2014',
'9',
'24',
'1136',
'-4',
'1403',
'2',
'AS',
'N536AS',
'572',
'PDX',
'SAN',
'134',
'933',
'11',
'36',
2],
['2014',
'9',
'19',
'2011',
'76',
'2242',
'74',
'AS',
'N469AS',
'133',
'SEA',
'FAI',
'195',
'1533',
'20',
'11',
2],
['2014',
'6',
'29',
'1509',
'-1',
'1752',
'-8',
'AS',
'N703AS',
'714',
'PDX',
'SLC',
'82',
'630',
'15',
'9',
2],
['2014',
'1',
'29',
'727',
'2',
'958',
'3',
'AS',
'N705AS',
'478',
'SEA',
'LAX',
'129',
'954',
'7',
'27',
2],
['2014',
'6',
'10',
'1952',
'76',
'2227',
'117',
'UA',
'N471UA',
'353',
'PDX',
'SFO',
'78',
'550',
'19',
'52',
2],
['2014',
'10',
'25',
'717',
'-3',
'923',
'26',
'AS',
'N529AS',
'805',
'SEA',
'SMF',
'98',
'605',
'7',
'17',
2],
['2014',
'9',
'26',
'1528',
'-7',
'2',
'7',
'AS',
'N560AS',
'734',
'SEA',
'BOS',
'309',
'2496',
'15',
'28',
2],
['2014',
'2',
'1',
'714',
'-1',
'904',
'7',
'AS',
'N530AS',
'805',
'SEA',
'SMF',
'82',
'605',
'7',
'14',
2],
['2014',
'9',
'7',
'1420',
'5',
'2143',
'-12',
'DL',
'N815DN',
'1223',
'SEA',
'ATL',
'236',
'2182',
'14',
'20',
2],
['2014',
'8',
'1',
'1844',
'19',
'2137',
'45',
'AS',
'N549AS',
'616',
'SEA',
'LAS',
'151',
'867',
'18',
'44',
2],
['2014',
'6',
'2',
'1136',
'-2',
'1743',
'-10',
'UA',
'N68801',
'1502',
'SEA',
'IAH',
'224',
'1874',
'11',
'36',
2],
['2014',
'8',
'10',
'1232',
'52',
'1421',
'51',
'WN',
'N8641B',
'339',
'SEA',
'SMF',
'89',
'605',
'12',
'32',
2],
['2014',
'5',
'7',
'1311',
'6',
'2115',
'2',
'US',
'N102UW',
'1971',
'SEA',
'CLT',
'274',
'2279',
'13',
'11',
2],
['2014',
'5',
'30',
'1320',
'5',
'1834',
'4',
'DL',
'N651DL',
'198',
'SEA',
'MSP',
'170',
'1399',
'13',
'20',
2],
['2014',
'8',
'6',
'2118',
'28',
'2326',
'31',
'WN',
'N297WN',
'1204',
'SEA',
'OAK',
'101',
'671',
'21',
'18',
2],
['2014',
'1',
'5',
'651',
'-9',
'934',
'13',
'AS',
'N624AS',
'582',
'PDX',
'SNA',
'120',
'859',
'6',
'51',
2],
['2014',
'7',
'15',
'1953',
'15',
'2316',
'13',
'F9',
'N208FR',
'794',
'PDX',
'DEN',
'118',
'991',
'19',
'53',
2],
['2014',
'8',
'22',
'1840',
'10',
'2057',
'-18',
'WN',
'N360SW',
'187',
'SEA',
'SAN',
'127',
'1050',
'18',
'40',
2],
['2014',
'1',
'17',
'1012',
'9',
'1209',
'18',
'OO',
'N920SW',
'5243',
'PDX',
'SFO',
'85',
'550',
'10',
'12',
2],
['2014',
'10',
'28',
'1153',
'-7',
'1745',
'-22',
'UA',
'N416UA',
'390',
'PDX',
'IAH',
'201',
'1825',
'11',
'53',
2],
['2014',
'12',
'28',
'652',
'-8',
'802',
'2',
'OO',
'N817SK',
'4608',
'SEA',
'PDX',
'32',
'129',
'6',
'52',
2],
['2014',
'5',
'18',
'1215',
'0',
'1757',
'-13',
'AA',
'N3GBAA',
'73',
'SEA',
'DFW',
'198',
'1660',
'12',
'15',
2],
['2014',
'12',
'15',
'1327',
'55',
'1548',
'88',
'UA',
'N827UA',
'353',
'PDX',
'SFO',
'113',
'550',
'13',
'27',
2],
['2014',
'9',
'11',
'1408',
'-7',
'1638',
'-6',
'B6',
'N537JB',
'407',
'SEA',
'LGB',
'130',
'965',
'14',
'8',
2],
['2014',
'6',
'17',
'944',
'-6',
'1248',
'8',
'OO',
'N223AG',
'3492',
'PDX',
'SLC',
'91',
'630',
'9',
'44',
2],
['2014',
'7',
'7',
'929',
'-6',
'1728',
'-12',
'AS',
'N534AS',
'764',
'PDX',
'DCA',
'259',
'2350',
'9',
'29',
2],
['2014',
'9',
'24',
'2005',
'-10',
'2237',
'-4',
'OO',
'N805SK',
'4789',
'SEA',
'LAS',
'130',
'867',
'20',
'5',
2],
['2014',
'5',
'27',
'810',
'0',
'1023',
'8',
'WN',
'N395SW',
'599',
'SEA',
'OAK',
'112',
'671',
'8',
'10',
2],
['2014',
'6',
'11',
'1121',
'1',
'1350',
'-4',
'AS',
'N538AS',
'460',
'SEA',
'LAX',
'125',
'954',
'11',
'21',
2],
['2014',
'10',
'15',
'851',
'-4',
'1124',
'-2',
'AS',
'N553AS',
'548',
'SEA',
'PSP',
'128',
'987',
'8',
'51',
2],
['2014',
'11',
'29',
'1545',
'35',
'1824',
'30',
'AS',
'N305AS',
'101',
'SEA',
'ANC',
'201',
'1448',
'15',
'45',
2],
['2014',
'8',
'3',
'1946',
'1',
'2222',
'3',
'AS',
'N613AS',
'518',
'SEA',
'SNA',
'138',
'978',
'19',
'46',
2],
['2014',
'6',
'13',
'1105',
'25',
'1948',
'38',
'B6',
'N646JB',
'598',
'SEA',
'BOS',
'298',
'2496',
'11',
'5',
2],
['2014',
'6',
'9',
'854',
'-6',
'1625',
'-15',
'DL',
'N372DA',
'1510',
'PDX',
'ATL',
'253',
'2172',
'8',
'54',
2],
['2014',
'2',
'24',
'827',
'-3',
'1218',
'2',
'US',
'N620AW',
'471',
'SEA',
'PHX',
'138',
'1107',
'8',
'27',
2],
['2014',
'5',
'14',
'1251',
'76',
'1852',
'77',
'AA',
'N3BFAA',
'1628',
'SEA',
'ORD',
'209',
'1721',
'12',
'51',
2],
['2014',
'5',
'7',
'1053',
'-7',
'1852',
'-16',
'US',
'N126UW',
'2092',
'SEA',
'CLT',
'273',
'2279',
'10',
'53',
2],
['2014',
'7',
'28',
'1512',
'6',
'1839',
'-2',
'UA',
'N509UA',
'457',
'SEA',
'DEN',
'125',
'1024',
'15',
'12',
2],
['2014',
'11',
'1',
'1555',
'-10',
'1752',
'-5',
'AS',
'N705AS',
'344',
'SEA',
'OAK',
'96',
'671',
'15',
'55',
2],
['2014',
'4',
'8',
'2317',
'2',
'453',
'-11',
'UA',
'N847UA',
'700',
'PDX',
'ORD',
'199',
'1739',
'23',
'17',
2],
['2014',
'4',
'3',
'937',
'53',
'1546',
'61',
'UA',
'N815UA',
'722',
'PDX',
'ORD',
'210',
'1739',
'9',
'37',
2],
['2014',
'2',
'27',
'522',
'2',
'856',
'5',
'US',
'N535UW',
'649',
'PDX',
'PHX',
'132',
'1009',
'5',
'22',
2],
['2014',
'12',
'4',
'1855',
'5',
'2122',
'17',
'AS',
'N315AS',
'616',
'SEA',
'LAS',
'116',
'867',
'18',
'55',
2],
['2014',
'7',
'15',
'1210',
'6',
'1932',
'-21',
'DL',
'N3753',
'282',
'SEA',
'ATL',
'242',
'2182',
'12',
'10',
2],
['2014',
'1',
'14',
'1756',
'-9',
'1933',
'-12',
'VX',
'N521VA',
'948',
'PDX',
'SFO',
'83',
'550',
'17',
'56',
2],
['2014',
'2',
'27',
'554',
'-6',
'1312',
'-16',
'DL',
'N3744F',
'2547',
'PDX',
'ATL',
'244',
'2172',
'5',
'54',
2],
['2014',
'7',
'4',
'1455',
'-5',
'1723',
'-12',
'VX',
'N524VA',
'796',
'SEA',
'LAX',
'134',
'954',
'14',
'55',
2],
['2014',
'10',
'9',
'702',
'2',
'845',
'0',
'VX',
'N839VA',
'84',
'PDX',
'SFO',
'88',
'550',
'7',
'2',
2],
['2014',
'6',
'8',
'735',
'65',
'1521',
'51',
'WN',
'N743SW',
'2004',
'SEA',
'BWI',
'267',
'2335',
'7',
'35',
2],
['2014',
'6',
'6',
'821',
'-9',
'1356',
'-24',
'AA',
'N4WKAA',
'1220',
'PDX',
'DFW',
'189',
'1616',
'8',
'21',
2],
['2014',
'9',
'14',
'1852',
'-3',
'2115',
'-13',
'AS',
'N303AS',
'133',
'SEA',
'FAI',
'187',
'1533',
'18',
'52',
2],
['2014',
'10',
'29',
'1009',
'-6',
'1613',
'-47',
'AS',
'N532AS',
'788',
'SEA',
'MSY',
'224',
'2086',
'10',
'9',
2],
['2014',
'4',
'25',
'1019',
'-6',
'1305',
'0',
'DL',
'N332NB',
'2189',
'PDX',
'SLC',
'85',
'630',
'10',
'19',
2],
['2014',
'9',
'1',
'1149',
'4',
'1323',
'-2',
'WN',
'N439WN',
'3400',
'PDX',
'OAK',
'79',
'543',
'11',
'49',
2],
['2014',
'5',
'23',
'1859',
'-6',
'2041',
'-19',
'AS',
'N625AS',
'386',
'PDX',
'SFO',
'82',
'550',
'18',
'59',
2],
['2014',
'2',
'28',
'1940',
'0',
'2227',
'10',
'AS',
'N793AS',
'476',
'SEA',
'LAX',
'141',
'954',
'19',
'40',
2],
['2014',
'11',
'25',
'1338',
'13',
'1652',
'-3',
'AS',
'N613AS',
'682',
'SEA',
'DEN',
'114',
'1024',
'13',
'38',
2],
['2014',
'10',
'21',
'610',
'-5',
'930',
'-9',
'F9',
'N210FR',
'796',
'PDX',
'DEN',
'122',
'991',
'6',
'10',
2],
['2014',
'5',
'11',
'1501',
'1',
'1550',
'0',
'OO',
'N564SW',
'5417',
'SEA',
'PDX',
'34',
'129',
'15',
'1',
2],
['2014',
'12',
'27',
'612',
'-3',
'745',
'-24',
'UA',
'N75425',
'1721',
'PDX',
'SFO',
'79',
'550',
'6',
'12',
2],
['2014',
'8',
'24',
'1300',
'0',
'1440',
'-5',
'WN',
'N670SW',
'775',
'PDX',
'SJC',
'80',
'569',
'13',
'0',
2],
['2014',
'7',
'30',
'631',
'-9',
'915',
'-5',
'AS',
'N525AS',
'466',
'SEA',
'LAX',
'132',
'954',
'6',
'31',
2],
['2014',
'7',
'3',
'2147',
'2',
'8',
'-7',
'AS',
'N585AS',
'111',
'SEA',
'ANC',
'182',
'1448',
'21',
'47',
2],
['2014',
'12',
'1',
'822',
'-3',
'1159',
'-11',
'US',
'N578UW',
'1898',
'SEA',
'PHX',
'136',
'1107',
'8',
'22',
2],
['2014',
'6',
'10',
'629',
'-1',
'1407',
'2',
'DL',
'N801DZ',
'1156',
'PDX',
'ATL',
'259',
'2172',
'6',
'29',
2],
['2014',
'11',
'9',
'2203',
'-7',
'59',
'-14',
'AS',
'N560AS',
'143',
'PDX',
'ANC',
'220',
'1542',
'22',
'3',
2],
['2014',
'3',
'24',
'1354',
'-11',
'1625',
'1',
'AS',
'N569AS',
'570',
'PDX',
'LAX',
'126',
'834',
'13',
'54',
2],
['2014',
'1',
'15',
'2024',
'4',
'2359',
'0',
'AS',
'N549AS',
'632',
'SEA',
'PHX',
'137',
'1107',
'20',
'24',
2],
['2014',
'12',
'20',
'1025',
'-5',
'1401',
'-14',
'AS',
'N532AS',
'656',
'SEA',
'PHX',
'125',
'1107',
'10',
'25',
2],
['2014',
'11',
'9',
'1032',
'2',
'1413',
'-5',
'AS',
'N461AS',
'656',
'SEA',
'PHX',
'139',
'1107',
'10',
'32',
2],
['2014',
'3',
'28',
'959',
'-1',
'1208',
'9',
'AS',
'N442AS',
'344',
'SEA',
'OAK',
'101',
'671',
'9',
'59',
2],
['2014',
'4',
'19',
'1438',
'-7',
'1824',
'14',
'F9',
'N912FR',
'234',
'PDX',
'DEN',
'146',
'991',
'14',
'38',
2],
['2014',
'6',
'24',
'1321',
'-4',
'1549',
'-10',
'AS',
'N558AS',
'472',
'SEA',
'LAX',
'124',
'954',
'13',
'21',
2],
['2014',
'7',
'28',
'1536',
'-4',
'1744',
'-1',
'AS',
'N705AS',
'322',
'SEA',
'SJC',
'109',
'697',
'15',
'36',
2],
['2014',
'9',
'23',
'742',
'12',
'1523',
'7',
'DL',
'N125DL',
'1808',
'SEA',
'ATL',
'252',
'2182',
'7',
'42',
2],
['2014',
'5',
'7',
'954',
'-1',
'1235',
'2',
'AS',
'N788AS',
'131',
'PDX',
'ANC',
'200',
'1542',
'9',
'54',
2],
['2014',
'8',
'4',
'1054',
'-1',
'1339',
'-1',
'WN',
'N627SW',
'1998',
'PDX',
'SLC',
'89',
'630',
'10',
'54',
2],
['2014',
'10',
'31',
'741',
'61',
'958',
'69',
'OO',
'N224AG',
'3456',
'PDX',
'BUR',
'124',
'817',
'7',
'41',
2],
['2014',
'7',
'10',
'631',
'-4',
'813',
'-12',
'WN',
'N659SW',
'1997',
'SEA',
'SMF',
'87',
'605',
'6',
'31',
2],
['2014',
'7',
'20',
'1630',
'20',
'1827',
'12',
'WN',
'N631SW',
'186',
'SEA',
'OAK',
'102',
'671',
'16',
'30',
2],
['2014',
'5',
'23',
'1729',
'-6',
'1947',
'-8',
'AS',
'N754AS',
'562',
'PDX',
'LAX',
'118',
'834',
'17',
'29',
2],
['2014',
'12',
'12',
'1054',
'44',
'1310',
'60',
'AS',
'N760AS',
'382',
'PDX',
'SFO',
'94',
'550',
'10',
'54',
2],
['2014',
'6',
'4',
'1831',
'33',
'2150',
'15',
'UA',
'N579UA',
'742',
'SEA',
'DEN',
'123',
'1024',
'18',
'31',
2],
['2014',
'4',
'16',
'654',
'-6',
'920',
'-15',
'VX',
'N634VA',
'1780',
'SEA',
'LAX',
'122',
'954',
'6',
'54',
2],
['2014',
'4',
'30',
'613',
'-4',
'834',
'-21',
'AS',
'N413AS',
'454',
'SEA',
'LAX',
'124',
'954',
'6',
'13',
2],
['2014',
'8',
'7',
'759',
'-1',
'1031',
'11',
'AS',
'N795AS',
'568',
'PDX',
'LAX',
'117',
'834',
'7',
'59',
2],
['2014',
'8',
'25',
'2325',
'15',
'156',
'4',
'AS',
'N315AS',
'127',
'SEA',
'FAI',
'193',
'1533',
'23',
'25',
2],
['2014',
'2',
'23',
'1054',
'-6',
'1147',
'-6',
'OO',
'N223SW',
'5397',
'PDX',
'SEA',
'38',
'129',
'10',
'54',
2],
['2014',
'3',
'27',
'1231',
'14',
'1512',
'7',
'AS',
'N440AS',
'658',
'SEA',
'TUS',
'148',
'1216',
'12',
'31',
2],
['2014',
'11',
'4',
'1442',
'-8',
'1706',
'-16',
'OO',
'N225AG',
'3476',
'SEA',
'LGB',
'127',
'965',
'14',
'42',
2],
['2014',
'2',
'19',
'1431',
'-6',
'1751',
'-14',
'F9',
'N932FR',
'140',
'SEA',
'DEN',
'121',
'1024',
'14',
'31',
2],
['2014',
'3',
'26',
'703',
'-7',
'947',
'-8',
'AS',
'N597AS',
'240',
'SEA',
'SAN',
'136',
'1050',
'7',
'3',
2],
['2014',
'2',
'23',
'1513',
'8',
'1634',
'4',
'WN',
'N776WN',
'400',
'PDX',
'SMF',
'70',
'479',
'15',
'13',
2],
['2014',
'8',
'31',
'1025',
'-5',
'1158',
'-17',
'WN',
'N960WN',
'2974',
'PDX',
'SJC',
'82',
'569',
'10',
'25',
2],
['2014',
'8',
'4',
'1344',
'-3',
'1623',
'14',
'B6',
'N509JB',
'1521',
'PDX',
'LGB',
'120',
'846',
'13',
'44',
2],
['2014',
'5',
'3',
'1036',
'6',
'1817',
'-23',
'WN',
'N778SW',
'3420',
'SEA',
'BWI',
'259',
'2335',
'10',
'36',
2],
['2014',
'1',
'17',
'633',
'-2',
'823',
'3',
'WN',
'N621SW',
'563',
'SEA',
'SMF',
'90',
'605',
'6',
'33',
2],
['2014',
'12',
'26',
'2122',
'-3',
'2319',
'-1',
'AS',
'N594AS',
'350',
'SEA',
'OAK',
'92',
'671',
'21',
'22',
2],
['2014',
'4',
'14',
'1718',
'-2',
'1944',
'-8',
'B6',
'N531JB',
'1007',
'SEA',
'LGB',
'131',
'965',
'17',
'18',
2],
['2014',
'8',
'12',
'620',
'0',
'825',
'2',
'AS',
'N534AS',
'342',
'SEA',
'OAK',
'106',
'671',
'6',
'20',
2],
['2014',
'8',
'21',
'1302',
'-3',
'2058',
'-4',
'US',
'N508AY',
'1857',
'SEA',
'CLT',
'262',
'2279',
'13',
'2',
2],
['2014',
'11',
'1',
'1823',
'-12',
'2055',
'-13',
'AS',
'N625AS',
'510',
'SEA',
'SNA',
'131',
'978',
'18',
'23',
2],
['2014',
'5',
'30',
'1418',
'56',
'1557',
'47',
'UA',
'N829UA',
'367',
'PDX',
'SFO',
'84',
'550',
'14',
'18',
2],
['2014',
'7',
'10',
'758',
'-7',
'1536',
'-29',
'AS',
'N309AS',
'742',
'SEA',
'ATL',
'248',
'2182',
'7',
'58',
2],
['2014',
'8',
'8',
'850',
'-5',
'1648',
'10',
'DL',
'N394DA',
'902',
'PDX',
'ATL',
'266',
'2172',
'8',
'50',
2],
['2014',
'3',
'15',
'1743',
'-2',
'2006',
'-24',
'WN',
'N357SW',
'2722',
'SEA',
'PHX',
'127',
'1107',
'17',
'43',
2],
['2014',
'8',
'28',
'1659',
'-1',
'1857',
'-8',
'VX',
'N628VA',
'755',
'SEA',
'SFO',
'99',
'679',
'16',
'59',
2],
['2014',
'1',
'25',
'1303',
'-7',
'1544',
'-5',
'OO',
'N607SK',
'4480',
'SEA',
'LAX',
'129',
'954',
'13',
'3',
2],
['2014',
'11',
'2',
'1009',
'-1',
'1145',
'-27',
'AS',
'N779AS',
'382',
'PDX',
'SFO',
'81',
'550',
'10',
'9',
2],
['2014',
'2',
'23',
'1824',
'-1',
'2049',
'1',
'OO',
'N641CA',
'4824',
'SEA',
'LAS',
'121',
'867',
'18',
'24',
2],
['2014',
'1',
'21',
'1132',
'-8',
'1400',
'-14',
'B6',
'N603JB',
'107',
'SEA',
'LGB',
'133',
'965',
'11',
'32',
2],
['2014',
'2',
'26',
'635',
'-5',
'1007',
'0',
'AS',
'N769AS',
'646',
'PDX',
'PHX',
'138',
'1009',
'6',
'35',
2],
['2014',
'10',
'31',
'1304',
'-6',
'1813',
'-9',
'DL',
'N331NW',
'548',
'PDX',
'MSP',
'172',
'1426',
'13',
'4',
2],
['2014',
'1',
'11',
'2242',
'57',
'626',
'39',
'B6',
'N633JB',
'264',
'SEA',
'JFK',
'260',
'2422',
'22',
'42',
2],
['2014',
'11',
'16',
'1748',
'-7',
'1948',
'-14',
'OO',
'N223AG',
'3488',
'PDX',
'BUR',
'105',
'817',
'17',
'48',
2],
['2014',
'6',
'14',
'1322',
'37',
'1655',
'30',
'WN',
'N8313F',
'4243',
'PDX',
'DEN',
'135',
'991',
'13',
'22',
2],
['2014',
'9',
'7',
'745',
'-5',
'1003',
'-6',
'AS',
'N305AS',
'608',
'SEA',
'LAS',
'115',
'867',
'7',
'45',
2],
['2014',
'8',
'7',
'1120',
'-5',
'1257',
'-11',
'AS',
'N467AS',
'364',
'SEA',
'SMF',
'80',
'605',
'11',
'20',
2],
['2014',
'1',
'3',
'1547',
'52',
'1856',
'36',
'WN',
'N488WN',
'735',
'PDX',
'DEN',
'115',
'991',
'15',
'47',
2],
['2014',
'9',
'29',
'1405',
'0',
'2236',
'40',
'AS',
'N569AS',
'2',
'SEA',
'DCA',
'308',
'2329',
'14',
'5',
2],
['2014',
'5',
'21',
'558',
'-7',
'1145',
'-20',
'AA',
'N3AUAA',
'2240',
'SEA',
'ORD',
'201',
'1721',
'5',
'58',
2],
['2014',
'1',
'3',
'710',
'-5',
'955',
'1',
'AS',
'N307AS',
'478',
'SEA',
'LAX',
'127',
'954',
'7',
'10',
2],
['2014',
'7',
'20',
'1135',
'0',
'1421',
'-9',
'WN',
'N8303R',
'4583',
'SEA',
'PHX',
'148',
'1107',
'11',
'35',
2],
['2014',
'4',
'29',
'2324',
'-1',
'513',
'-7',
'UA',
'N30401',
'1617',
'SEA',
'ORD',
'213',
'1721',
'23',
'24',
2],
['2014',
'8',
'18',
'25',
'0',
'535',
'3',
'DL',
'N323US',
'1403',
'PDX',
'MSP',
'174',
'1426',
'0',
'25',
2],
['2014',
'9',
'20',
'1025',
'10',
'1633',
'18',
'WN',
'N275WN',
'4386',
'SEA',
'MDW',
'211',
'1733',
'10',
'25',
2],
['2014',
'9',
'17',
'1507',
'27',
'1848',
'28',
'WN',
'N907WN',
'3588',
'SEA',
'DEN',
'142',
'1024',
'15',
'7',
2],
['2014',
'9',
'15',
'1526',
'-4',
'2324',
'-13',
'AS',
'N552AS',
'14',
'SEA',
'EWR',
'277',
'2402',
'15',
'26',
2],
['2014',
'12',
'9',
'653',
'-7',
'746',
'-4',
'AS',
'N320AS',
'415',
'PDX',
'SEA',
'31',
'129',
'6',
'53',
2],
['2014',
'4',
'25',
'1640',
'-1',
'1937',
'15',
'DL',
'N815DN',
'1194',
'PDX',
'SLC',
'99',
'630',
'16',
'40',
2],
['2014',
'12',
'20',
'958',
'-2',
'1546',
'6',
'WN',
'N425LV',
'1890',
'SEA',
'MKE',
'198',
'1694',
'9',
'58',
2],
['2014',
'7',
'9',
'1331',
'6',
'1616',
'17',
'AS',
'N305AS',
'472',
'SEA',
'LAX',
'127',
'954',
'13',
'31',
2],
['2014',
'1',
'26',
'2050',
'-10',
'2142',
'-6',
'OO',
'N229SW',
'5433',
'SEA',
'PDX',
'31',
'129',
'20',
'50',
2],
['2014',
'10',
'10',
'2324',
'-6',
'505',
'-13',
'UA',
'N28457',
'1538',
'PDX',
'ORD',
'201',
'1739',
'23',
'24',
2],
['2014',
'8',
'23',
'2358',
'-1',
'719',
'8',
'DL',
'N124DE',
'910',
'SEA',
'DTW',
'243',
'1927',
'23',
'58',
2],
['2014',
'6',
'18',
'1101',
'1',
'1339',
'-14',
'AS',
'N517AS',
'648',
'SEA',
'TUS',
'143',
'1216',
'11',
'1',
2],
['2014',
'2',
'7',
'1535',
'0',
'1805',
'-22',
'AS',
'N791AS',
'101',
'SEA',
'ANC',
'194',
'1448',
'15',
'35',
2],
...]
In [ ]:

filamentRDDCSV.
In [7]:

filamentRDDCSV.(filamentRDDCSV).take(5)
Out[7]:
[('2014', ('12', '12')),
('2014', ('12', '1')),
('2014', ('12', '3')),
('2014', ('12', '4')),
('2014', ('12', '3'))]
In [5]:

filamentRDDCSV.take(5)
Out[5]:
[['year',
'month',
'day',
'dep_time',
'dep_delay',
'arr_time',
'arr_delay',
'carrier',
'tailnum',
'flight',
'origin',
'dest',
'air_time',
'distance',
'hour',
'minute'],
['2014',
'12',
'8',
'658',
'-7',
'935',
'-5',
'VX',
'N846VA',
'1780',
'SEA',
'LAX',
'132',
'954',
'6',
'58'],
['2014',
'1',
'22',
'1040',
'5',
'1505',
'5',
'AS',
'N559AS',
'851',
'SEA',
'HNL',
'360',
'2677',
'10',
'40'],
['2014',
'3',
'9',
'1443',
'-2',
'1652',
'2',
'VX',
'N847VA',
'755',
'SEA',
'SFO',
'111',
'679',
'14',
'43'],
['2014',
'4',
'9',
'1705',
'45',
'1839',
'34',
'WN',
'N360SW',
'344',
'PDX',
'SJC',
'83',
'569',
'17',
'5']]
In [22]:

# Understanding Partitioning in PySpark

# A partition is a logical division of a large distributed data set

# parallelize() method

numRDD = sc.parallelize(range(10), numSlices = 3)

#textFile() method

fileRDD = sc.textFile("example_text.txt", minPartitions = 6)

#The number of partitions in an RDD can be found by using getNumPartitions()


method

print (fileRDD.getNumPartitions())

print (numRDD.getNumPartitions())
6
3

anonymous functions in Python


Lambda functions are anonymous functions in Python

Very powerful and used in Python. Quite efficient with map() and filter()

Lambda functions create functions to be called later similar to def

It returns the functions without any name (i.e anonymous)

Inline a function definition or to defer execution of a code

In [23]:

## Transformations (lazy evaluation)

# map() Transformation

# map() transformation applies a function to all elements in the RDD

RDD = sc.parallelize([1,2,3,4])
RDD_map = RDD.map(lambda x: x * x)

RDD_map.collect()
Out[23]:
[1, 4, 9, 16]
In [24]:

# filter() Transformation
# Filter transformation returns a new RDD with only the elements that pass the
condition

RDD = sc.parallelize([1,2,3,4])

RDD_filter = RDD.filter(lambda x: x > 2)

RDD_filter.collect()
Out[24]:
[3, 4]
In [25]:

# flatMap() Transformation

# flatMap() transformation returns multiple values for each element in the


original RDD

"""
Why are we using flatMap, rather than map?

The reason is that the operation line.split(" ") generates a list of strings,
so had we used map the result would be an RDD of lists of words. Not an RDD of
words.

The difference between map and flatMap is that the second expects to get a
list as the result
from the map and it concatenates the lists to form the RDD.
"""

RDD = sc.parallelize(["hello world", "how are you"])

RDD_flatmap = RDD.flatMap(lambda x: x.split(" "))

RDD_flatmap.collect()
Out[25]:
['hello', 'world', 'how', 'are', 'you']
In [5]:

# union() Transformation

inputRDD = sc.textFile("example_text.txt")

money_RDD = inputRDD.filter(lambda x: "money" in x.split())


biscuit_RDD = inputRDD.filter(lambda x: "biscuit" in x.split())
combinedRDD =money_RDD.union(biscuit_RDD)

combinedRDD.collect()[:10]
Out[5]:
['with money and indigestion. Because he comes from Oxford. You know,',
'downstairs and touch him for a guinea. He’s stinking with money and',
'—Would I make any money by it? Stephen asked.',
'moved over the shells heaped in the cold stone mortar: whelks and money',
'—Thank you, sir, Stephen said, gathering the money together with shy',
'don’t know yet what money is. Money is power. When you have lived',
'Shakespeare say? Put but money in thy purse.',
'—He knew what money was, Mr Deasy said. He made money. A poet, yes,',
'of the canteen, over the motley slush. Even money Fair Rebel. Ten to one',
'twelve. By the way go easy with that money like a good young imbecile.']
In [8]:

# RDD actions

# Operation return a value after running a computation on the RDD

# Basic RDD Actions:


# collect () : collect() return all the elements of the dataset as an array

# take() : take(N) returns an array with the first N elements of the dataset

combinedRDD.take(3)
Out[8]:
['with money and indigestion. Because he comes from Oxford. You know,',
'downstairs and touch him for a guinea. He’s stinking with money and',
'—Would I make any money by it? Stephen asked.']
In [29]:

# first(), top() and count() Actions

# first() prints the first element of the RDD

combinedRDD.first()
Out[29]:
'with money and indigestion. Because he comes from Oxford. You know,'
In [12]:

combinedRDD.collect()[-1]
Out[12]:
'So he went over to the biscuit tin Bob Doran left to see if there was'
In [13]:

# Take top elements


# This method should only be used if the resulting array is expected
# to be small, as all the data is loaded into the driver's memory.

# It returns the list sorted in descending order.

print (sc.parallelize([10, 4, 2, 12, 3]).top(1))

#print (combinedRDD.top(2)) # the first two lines in a descending order


[12]
In [14]:

# count() return the number of elements in the RDD

combinedRDD.count()
Out[14]:
67
In [33]:

numbRDD = sc.parallelize([1,2,3,4])

# Create map() transformation to cube numbers


cubedRDD = numbRDD.map(lambda x: x**3)

# Collect the results


numbers_all = cubedRDD.collect ()

# Print the numbers from numbers_all


for numb in numbers_all:
print(numb)
1
8
27
64
In [302]:

# glom () - return an RDD created by coalescing all elements within each


partition into a list.

# https://medium.com/parrot-prediction/partitioning-in-apache-spark-
8134ad840b0

rdd=sc.parallelize(range(10), 4)

print("Number of partitions: {}".format(rdd.getNumPartitions()))


print("Partitions structure: {}".format(rdd.glom().collect()))
Number of partitions: 4
Partitions structure: [[0, 1], [2, 3, 4], [5, 6], [7, 8, 9]]
In [305]:

rdd=sc.parallelize(range(10))

print("Number of partitions: {}".format(rdd.getNumPartitions()))


print("Partitions structure: {}".format(rdd.glom().collect()))
Number of partitions: 8
Partitions structure: [[0], [1], [2], [3, 4], [5], [6], [7], [8, 9]]

Introduction to pair RDDs in PySpark


Real life datasets are usually key/value pairs

Each row is a key and maps to one or more values

Pair RDD is a special data structure to work with this kind of datasets

Pair RDD: Key is the identifier and value is data

Creating pair RDDs

Two common ways to create pair RDDs

From a list of key-value tuple

From a regular RDD

Get the data into key/value form for paired RDD

In [169]:

my_tuple = [('Sam', 23), ('Mary', 34), ('Peter', 25)]

pairRDD_tuple = sc.parallelize(my_tuple)

my_list = ['Sam 23', 'Mary 34', 'Peter 25']

regularRDD = sc.parallelize(my_list)

pairRDD_RDD = regularRDD.map(lambda s: (s.split(' ')[0], s.split(' ')[1]))

pairRDD_RDD.collect()
Out[169]:
[('Sam', '23'), ('Mary', '34'), ('Peter', '25')]
In [170]:

# Fetching Values from a Paired RDD


pairRDD_RDD_Values = pairRDD_RDD.values()
pairRDD_RDD_Values.collect()
Out[170]:
['23', '34', '25']
In [171]:

# Fetching Keys from a Paired RDD


pairRDD_RDD_Keys = pairRDD_RDD.keys()
pairRDD_RDD_Keys.collect()
Out[171]:
['Sam', 'Mary', 'Peter']
Transformations on pair RDDs

All regular transformations work on pair RDD

Have to pass functions that operate on tuples rather than on individual elements

Examples of paired RDD Transformations

reduceByKey(func): Combine values with the same key


groupByKey(): Group values with the same key

sortByKey(): Return an RDD sorted by the key

join(): Join two pair RDDs based on their key

In [141]:

# we can use user functions to map on RDD

def get_Squares(num):
return num**2

numbRDD = sc.parallelize([1,2,3,4,2,5,1])

numbRDD.map(get_Squares).collect()
Out[141]:
[1, 4, 9, 16, 4, 25, 1]
In [143]:

# finding the distinct numbers

numbRDD.distinct().collect()
Out[143]:
[1, 2, 3, 4, 5]
In [144]:

# Subract

numbRDD2 = sc.parallelize([1, 2, 3])

numbRDD.subtract(numbRDD2).collect()
Out[144]:
[4, 5]
In [145]:

# intersection

numbRDD.intersection(numbRDD2).collect()
Out[145]:
[1, 2, 3]
In [183]:

# calculating basic stats

numbRDD = sc.parallelize([1,2,3,4,2,5,1])

print (numRDD.min())

print (numRDD.max())

print (numRDD.sum())

print (numRDD.mean())

print (numRDD.variance())

print (numRDD.stdev())

print (numRDD.stats())

print (numRDD.stats().asDict())
1
4
10
2.5
1.25
1.118033988749895
(count: 4, mean: 2.5, stdev: 1.118033988749895, max: 4.0, min: 1.0)
{'count': 4, 'mean': 2.5, 'sum': 10.0, 'min': 1.0, 'max': 4.0, 'stdev': 1.2909944487358056, 'variance': 1.6666666666666667}
In [35]:

# reduceByKey() transformation
# reduceByKey() transformation combines values with the same key

# It runs parallel operations for each key in the dataset

# It is a transformation and not action

regularRDD = sc.parallelize([("Messi", 23), ("Ronaldo", 34), ("Neymar", 22),


("Messi", 24)])

pairRDD_reducebykey = regularRDD.reduceByKey(lambda x,y : x + y)

pairRDD_reducebykey.collect()
Out[35]:
[('Ronaldo', 34), ('Neymar', 22), ('Messi', 47)]
In [36]:

# sortByKey() transformation

# sortByKey() operation orders pair RDD by key

#It returns an RDD sorted by key in ascending or descending order

pairRDD_reducebykey_rev = pairRDD_reducebykey.map(lambda x: (x[1], x[0]))

pairRDD_reducebykey_rev.sortByKey(ascending=False).collect()
Out[36]:
[(47, 'Messi'), (34, 'Ronaldo'), (22, 'Neymar')]
In [37]:

# groupByKey() transformation

# groupbykey() groups all the values with the same key in the pair RDD

airports = [("US", "JFK"),("UK", "LHR"),("FR", "CDG"),("US", "SFO")]

regularRDD = sc.parallelize(airports)

pairRDD_group = regularRDD.groupByKey().collect()

for cont, air in pairRDD_group:


print(cont, list(air))
FR ['CDG']
UK ['LHR']
US ['JFK', 'SFO']
In [38]:

# join() transformation

# join() transformation joins the two pair RDDs based on their key

RDD1 = sc.parallelize([("Messi", 34),("Ronaldo", 32),("Neymar", 24)])

RDD2 = sc.parallelize([("Ronaldo", 80),("Neymar", 120),("Messi", 100)])

RDD1.join(RDD2).collect()
Out[38]:
[('Neymar', (24, 120)), ('Ronaldo', (32, 80)), ('Messi', (34, 100))]
In [39]:

# reduce() action

# reduce(func) action is used for aggregating the elements of a regular RDD

# The function should be commutative and associative

# An example of reduce() action in PySpark


x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
Out[39]:
14
In [43]:

# saveAsTextFile() action
# saveAsTextFile() action saves RDD into a text file inside a directory with
each partition as a separate file

RDD.saveAsTextFile("tempFile")

! cd tempFile && ls -l
total 32
-rw-r--r-- 1 vkocaman staff 0 Jan 3 14:34 _SUCCESS
-rw-r--r-- 1 vkocaman staff 0 Jan 3 14:34 part-00000
-rw-r--r-- 1 vkocaman staff 2 Jan 3 14:34 part-00001
-rw-r--r-- 1 vkocaman staff 0 Jan 3 14:34 part-00002
-rw-r--r-- 1 vkocaman staff 2 Jan 3 14:34 part-00003
-rw-r--r-- 1 vkocaman staff 0 Jan 3 14:34 part-00004
-rw-r--r-- 1 vkocaman staff 2 Jan 3 14:34 part-00005
-rw-r--r-- 1 vkocaman staff 0 Jan 3 14:34 part-00006
-rw-r--r-- 1 vkocaman staff 2 Jan 3 14:34 part-00007
In [44]:

# coalesce() method can be used to save RDD as a single text file

! rm -r tempFile # we remove the folder at first

RDD.coalesce(1).saveAsTextFile("tempFile")

! cd tempFile && ls -l
total 8
-rw-r--r-- 1 vkocaman staff 0 Jan 3 14:35 _SUCCESS
-rw-r--r-- 1 vkocaman staff 8 Jan 3 14:35 part-00000
Action Operations on pair RDDs

RDD actions available for PySpark pair RDDs

Pair RDD actions leverage the key-value data

Few examples of pair RDD actions include

 countByKey()

 collectAsMap()

In [47]:

# countByKey() action

# countByKey() only available for type (K, V)

# countByKey() action counts the number of elements for each key

# Example of countByKey() on a simple list

rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])

for key, val in rdd.countByKey().items():


print(key, val)
a 2
b 1
In [263]:

# collectAsMap() action

# collectAsMap() return the key-value pairs in the RDD as a dictionary


# Example of collectAsMap() on a simple tuple

sc.parallelize([(1, 2), (3, 4)]).collectAsMap()


Out[263]:
{1: 2, 3: 4}
In [290]:

# word count example

text_file = sc.textFile("example_text.txt")
counts_rdd = text_file.flatMap(lambda line: line.split(" ")) \
.map(lambda word: (word, 1)) \
.reduceByKey(lambda a, b: a + b)

# print the word frequencies in descending order

counts_rdd.map(lambda x: (x[1], x[0])) \


.sortByKey(ascending=False)\
.collect()[:20]
Out[290]:
[(13609, 'the'),
(10549, ''),
(8134, 'of'),
(6551, 'and'),
(5841, 'a'),
(4788, 'to'),
(4619, 'in'),
(3034, 'his'),
(2712, 'he'),
(2430, 'I'),
(2391, 'with'),
(2169, 'that'),
(2006, 'was'),
(1894, 'on'),
(1791, 'for'),
(1680, 'it'),
(1505, 'her'),
(1363, 'you'),
(1246, 'is'),
(1217, 'at')]
Spark can also be used for compute-intensive tasks. This code estimates π by "throwing darts" at a circle. We pick random points in the unit square ((0, 0) to (1,1)) and see how many
fall in the unit circle. The fraction should be π / 4, so we use this to get our estimate. So four times this fraction is equal to π.

Note: If a circle of radius R is inscribed inside a square with side length 2R, then the area of the circle will be piR^2 and the area of the square will be (2R)^2. So the ratio of the area of
the circle to the area of the square will be pi/4. This means that, if you pick N points at random inside the square, approximately N pi/4 of those points should fall inside the circle.

The "Monte Carlo Method" is a method of solving problems using statistics. Given the probability, P, that an event will occur in certain conditions, a computer can be used to generate
those conditions repeatedly. The number of times the event occurs divided by the number of times the conditions are generated should be approximately equal to P.

In [284]:

# how to find pi
import random

def inside_circle(p):
x, y = random.random(), random.random()
return x*x + y*y < 1

NUM_SAMPLES = 100000

count = sc.parallelize(range(0, NUM_SAMPLES)) \


.filter(inside_circle).count()

print ("Pi is roughly %f" % (4.0 * count / NUM_SAMPLES))


Pi is roughly 3.135040

bigrams and word frequencies


For a slightly more complicated task, lets look into splitting up sentences from our documents into word bigrams. A bigram is pair of successive tokens in some sequence. We will look at
building bigrams from the sequences of words in each sentence, and then try to find the most frequently occuring ones.

The first problem is that values in each partition of our initial RDD describe lines from the file rather than sentences. Sentences may be split over multiple lines. The glom() RDD method
is used to create a single entry for each document containing the list of all lines, we can then join the lines up, then resplit them into sentences using "." as the separator, using flatMap
so that every object in our RDD is now a sentence.

Now we have isolated each sentence we can split it into a list of words and extract the word bigrams from it. Our new RDD contains tuples containing the word bigram (itself a tuple
containing the first and second word) as the first value and the number 1 as the second value.
Finally we can apply the same reduceByKey and sort steps that we used in the wordcount example, to count up the bigrams and sort them in order of descending frequency. In
reduceByKey the key is not an individual word but a bigram.

In [9]:

# bigrams and word frequencies

sentences = sc.textFile("example_text.txt") \
.glom() \
.map(lambda x: " ".join(x)) \
.flatMap(lambda x: x.split("."))

bigrams = sentences.map(lambda x:x.split()) \


.flatMap(lambda x: [((x[i],x[i+1]),1) for i in range(0,len(x)-1)])

freq_bigrams = bigrams.reduceByKey(lambda x,y:x+y) \


.map(lambda x:(x[1],x[0])) \
.sortByKey(False)

freq_bigrams.take(10)

# http://www.mccarroll.net/blog/pyspark2/index.html
Out[9]:
[(1635, ('of', 'the')),
(1384, ('in', 'the')),
(657, ('on', 'the')),
(609, ('to', 'the')),
(460, ('and', 'the')),
(401, ('of', 'a')),
(360, ('at', 'the')),
(345, ('for', 'the')),
(325, ('from', 'the')),
(323, ('with', 'the'))]
In [10]:

sentences.take(3)
Out[10]:
[' The Project Gutenberg EBook of Ulysses, by James Joyce This eBook is for the use of anyone anywhere at no cost and with almost no restrictions whatsoever',
' You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www',
'gutenberg']

PySpark DataFrames
If you’re used to working with Pandas or data frames in R, you’ll have probably also expected to see a header, but there is none. To make your life easier, you will move on from the RDD
and convert it to a DataFrame. Dataframes are preferred over RDDs whenever you can use them. Especially when you’re working with Python, the performance of DataFrames is better
than RDDs.

But what is the difference between the two?

You can use RDDs when you want to perform low-level transformations and actions on your unstructured data. This means that you don’t care about imposing a schema while processing
or accessing the attributes by name or column. Tying in to what was said before about performance, by using RDDs, you don’t necessarily want the performance benefits that
DataFrames can offer for (semi-) structured data. Use RDDs when you want to manipulate the data with functional programming constructs rather than domain specific expressions.

To recapitulate, you’ll switch to DataFrames now to use high-level expressions, to perform SQL queries to explore your data further and to gain columnar access.

In Apache Spark, a DataFrame is a distributed collection of rows under named columns. It is conceptually equivalent to a table in a relational database, an Excel sheet with Column
headers, or a data frame in R/Python, but with richer optimizations under the hood. DataFrames can be constructed from a wide array of sources such as: structured data files, tables in
Hive, external databases, or existing RDDs.

It also shares some common characteristics with RDD:

Immutable in nature : We can create DataFrame / RDD once but can’t change it. And we can transform a DataFrame / RDD after applying transformations.

Lazy Evaluations: Which means that a task is not executed until an action is performed.

Distributed: RDD and DataFrame both are distributed in nature.

Advantages of the DataFrame:

DataFrames are designed for processing large collection of structured or semi-structured data.

Observations in Spark DataFrame are organised under named columns, which helps Apache Spark to understand the schema of a DataFrame. This helps Spark optimize execution plan
on these queries.

DataFrame in Apache Spark has the ability to handle petabytes of data.

DataFrame has a support for wide range of data format and sources.

It has API support for different languages like Python, R, Scala, Java.
Using DataFrames
The Spark DataFrame was designed to behave a lot like a SQL table (a table with variables in the columns and observations in the rows). Not only are they easier to understand,
DataFrames are also more optimized for complicated operations than RDDs.

When you start modifying and combining columns and rows of data, there are many ways to arrive at the same result, but some often take much longer than others. When using RDDs,
it's up to the data scientist to figure out the right way to optimize the query, but the DataFrame implementation has much of this optimization built in!

To start working with Spark DataFrames, you first have to create a SparkSession object from your SparkContext. You can think of the SparkContext as your connection to the cluster and
the SparkSession as your interface with that connection.

PySpark SQL is a Spark library for structured data. It provides more information about the structure of data and computation

DataFrame is immutable distributed collection of data with named columns

Designed for processing both structured (e.g relational database) and unstructured data (e.g JSON)

Dataframe API is available in Java, Scala, Python, and R

DataFrames in PySpark support both SQL queries (SELECT * from table) or expression methods (df.select())

SparkSession - Entry point for DataFrame API


SparkContext is the main entry point for creating RDDs

SparkSession provides a single point of entry to interact with Spark DataFrames

SparkSession is used to create DataFrame, register DataFrames, execute SQL queries

In [49]:

from pyspark.sql import SparkSession

ss = SparkSession.builder.appName('SDDM_2').getOrCreate()
In [50]:

ss.version
Out[50]:
'2.4.0'

Creating DataFrames in PySpark


Two different methods of creating DataFrames in PySpark

From existing RDDs using SparkSession's createDataFrame() method

From various data sources (CSV, JSON, TXT) using SparkSession's read method

Schema controls the data and helps DataFrames to optimize queries

Schema provides information about column name, type of data in the column, empty values etc.,

In [260]:

# Create a DataFrame from RDDD

iphones_RDD = sc.parallelize([
("XS", 2018, 5.65, 2.79, 6.24),
("XR", 2018, 5.94, 2.98, 6.84),
("X10", 2017, 5.65, 2.79, 6.13),
("8Plus", 2017, 6.23, 3.07, 7.12)
])

names = [ 'Model',
'Year',
'Height',
'Width',
'Weight'
]

iphones_df = ss.createDataFrame(iphones_RDD, schema=names)

type(iphones_df)
Out[260]:
pyspark.sql.dataframe.DataFrame
In [5]:
wget -q -O - https://s3.amazonaws.com/nyc-tlc/trip+data/fhv_tripdata_2017-
06.csv | head -n 5000 > tmp.csv
Out[5]:

Country Region

0 Algeria AFRICA

1 Angola AFRICA

2 Benin AFRICA

3 Botswana AFRICA

4 Burkina AFRICA

5 Burundi AFRICA

6 Cameroon AFRICA

7 Cape Verde AFRICA

8 Central African Republic AFRICA

9 Chad AFRICA

10 Comoros AFRICA

11 Congo AFRICA

12 Congo, Democratic Republic of AFRICA

13 Djibouti AFRICA

14 Egypt AFRICA

15 Equatorial Guinea AFRICA

16 Eritrea AFRICA

17 Ethiopia AFRICA

18 Gabon AFRICA

19 Gambia AFRICA
Country Region

20 Ghana AFRICA

21 Guinea AFRICA

22 Guinea-Bissau AFRICA

23 Ivory Coast AFRICA

24 Kenya AFRICA

25 Lesotho AFRICA

26 Liberia AFRICA

27 Libya AFRICA

28 Madagascar AFRICA

29 Malawi AFRICA

... ... ...

16
Saint Lucia NORTH AMERICA
4

16
Saint Vincent and the Grenadines NORTH AMERICA
5

16
Trinidad and Tobago NORTH AMERICA
6

16
United States NORTH AMERICA
7

16
Australia OCEANIA
8

16
Fiji OCEANIA
9

17
Kiribati OCEANIA
0

17
Marshall Islands OCEANIA
1
Country Region

17
Micronesia OCEANIA
2

17
Nauru OCEANIA
3

17
New Zealand OCEANIA
4

17
Palau OCEANIA
5

17
Papua New Guinea OCEANIA
6

17
Samoa OCEANIA
7

17
Solomon Islands OCEANIA
8

17
Tonga OCEANIA
9

18
Tuvalu OCEANIA
0

18
Vanuatu OCEANIA
1

18
Argentina SOUTH AMERICA
2

18
Bolivia SOUTH AMERICA
3

18
Brazil SOUTH AMERICA
4

18
Chile SOUTH AMERICA
5

18
Colombia SOUTH AMERICA
6

18
Ecuador SOUTH AMERICA
7

18
Guyana SOUTH AMERICA
8
Country Region

18
Paraguay SOUTH AMERICA
9

19
Peru SOUTH AMERICA
0

19
Suriname SOUTH AMERICA
1

19
Uruguay SOUTH AMERICA
2

19
Venezuela SOUTH AMERICA
3

194 rows × 2 columns

In [ ]:

# Create a DataFrame from reading a CSV/JSON/TXT

df_csv = spark.read.csv("people.csv",
header=True, inferSchema=True)

df_json = spark.read.json("people.json",
header=True, inferSchema=True)

df_txt = spark.read.txt("people.txt",
header=True, inferSchema=True)

# Path to the file and two optional parameters

# Two optional parameters

# header=True and inferSchema=True

# for more information aboput df.persist(StorageLevel.MEMORY_AND_DISK_SER) see


below
# https://blog.insightdatascience.com/using-jupyter-on-apache-spark-step-by-
step-with-a-terabyte-of-reddit-data-ef4d6c13959a
In [57]:

df_csv = ss.read.csv("airports.csv",
header=True, inferSchema=True)

# printSchema() operation prints the types of columns in the DataFrame

df_csv.printSchema()
root
|-- faa: string (nullable = true)
|-- name: string (nullable = true)
|-- lat: double (nullable = true)
|-- lon: double (nullable = true)
|-- alt: integer (nullable = true)
|-- tz: integer (nullable = true)
|-- dst: string (nullable = true)

DataFrame operators in PySpark


DataFrame operations: Transformations and Actions

DataFrame Transformations:
select(), filter(), groupby(), orderby(), dropDuplicates() and withColumnRenamed()

DataFrame Actions :

printSchema(), head(), show(), count(), columns() and describe()

In [59]:

df_csv.show(5)
+---+--------------------+----------+-----------+----+---+---+
|faa| name| lat| lon| alt| tz|dst|
+---+--------------------+----------+-----------+----+---+---+
|04G| Lansdowne Airport|41.1304722|-80.6195833|1044| -5| A|
|06A|Moton Field Munic...|32.4605722|-85.6800278| 264| -5| A|
|06C| Schaumburg Regional|41.9893408|-88.1012428| 801| -6| A|
|06N| Randall Airport| 41.431912|-74.3915611| 523| -5| A|
|09J|Jekyll Island Air...|31.0744722|-81.4277778| 11| -4| A|
+---+--------------------+----------+-----------+----+---+---+
only showing top 5 rows

In [64]:

df_csv.count()
Out[64]:
1397
In [58]:

# select() and show() operations

# select() transformation subsets the columns in the DataFrame

df_id_name = df_csv.select('name')

# show() action prints first 20 rows in the DataFrame

df_id_name.show(3)

# only showing top 3 rows


+--------------------+
| name|
+--------------------+
| Lansdowne Airport|
|Moton Field Munic...|
| Schaumburg Regional|
+--------------------+
only showing top 3 rows

In [62]:

# filter() transformation filters out the rows based on a condition

new_df = df_csv.filter(df_csv.alt < 100)

new_df.show(3)
+---+--------------------+----------+------------+---+---+---+
|faa| name| lat| lon|alt| tz|dst|
+---+--------------------+----------+------------+---+---+---+
|09J|Jekyll Island Air...|31.0744722| -81.4277778| 11| -4| A|
|1RL|Point Roberts Air...|48.9797222|-123.0788889| 10| -7| A|
|369| Atmautluak Airport| 60.866667| -162.273056| 18|-10| A|
+---+--------------------+----------+------------+---+---+---+
only showing top 3 rows

In [202]:

# we can also use brackets (as in Pandas) instead of filter()

df_csv[df_csv.alt < 100].show(3)


+---+--------------------+----------+------------+---+---+---+
|faa| name| lat| lon|alt| tz|dst|
+---+--------------------+----------+------------+---+---+---+
|09J|Jekyll Island Air...|31.0744722| -81.4277778| 11| -4| A|
|1RL|Point Roberts Air...|48.9797222|-123.0788889| 10| -7| A|
|369| Atmautluak Airport| 60.866667| -162.273056| 18|-10| A|
+---+--------------------+----------+------------+---+---+---+
only showing top 3 rows

In [205]:

df_csv[(df_csv.alt < 100) & (df_csv["dst"] != 'A')].show(3)

# df_csv[(df_csv.alt < 100) & (df_csv.dst != 'A')].show(3)


+---+--------------------+----------+-----------+---+---+---+
|faa| name| lat| lon|alt| tz|dst|
+---+--------------------+----------+-----------+---+---+---+
|60J|Ocean Isle Beach ...|33.9085056|-78.4366722| 32| -5| U|
|HHH| Hilton Head| 32.216| -80.752| 10| -5| U|
|HNL| Honolulu Intl| 21.318681|-157.922428| 13|-10| N|
+---+--------------------+----------+-----------+---+---+---+
only showing top 3 rows

In [16]:

In [63]:

# groupby() operation can be used to group a variable

df_csv_group = df_csv.groupby('dst')

df_csv_group.count().show(3)
+---+-----+
|dst|count|
+---+-----+
| U| 45|
| A| 1329|
| N| 23|
+---+-----+

In [65]:

# orderby() operation sorts the DataFrame based one or more columns

df_csv_group.count().orderBy('dst').show(3)
+---+-----+
|dst|count|
+---+-----+
| A| 1329|
| N| 23|
| U| 45|
+---+-----+

In [68]:

# dropDuplicates() removes the duplicate rows of a DataFrame

df_no_dup = df_csv.select('alt', 'dst').dropDuplicates()

df_no_dup.count()
Out[68]:
911
In [69]:

# withColumnRenamed() renames a column in the DataFrame

df_csv_alt = df_csv.withColumnRenamed('alt', 'altitude')

df_csv_alt.show(3)
+---+--------------------+----------+-----------+--------+---+---+
|faa| name| lat| lon|altitude| tz|dst|
+---+--------------------+----------+-----------+--------+---+---+
|04G| Lansdowne Airport|41.1304722|-80.6195833| 1044| -5| A|
|06A|Moton Field Munic...|32.4605722|-85.6800278| 264| -5| A|
|06C| Schaumburg Regional|41.9893408|-88.1012428| 801| -6| A|
+---+--------------------+----------+-----------+--------+---+---+
only showing top 3 rows

In [ ]:

# creating a new column from existing ones

df_csv_alt = df_csv_alt.withColumn('tzxaltitude', df['tz'] * df['altitude']),


# we didn't run this cell before
In [198]:

# dropping a column (no axis concept)

df_csv_alt= df_csv_alt.drop("tz")

df_csv_alt.show(3)
+---+--------------------+----------+-----------+--------+---+
|faa| name| lat| lon|altitude|dst|
+---+--------------------+----------+-----------+--------+---+
|04G| Lansdowne Airport|41.1304722|-80.6195833| 1044| A|
|06A|Moton Field Munic...|32.4605722|-85.6800278| 264| A|
|06C| Schaumburg Regional|41.9893408|-88.1012428| 801| A|
+---+--------------------+----------+-----------+--------+---+
only showing top 3 rows

In [70]:

# columns() operator prints the columns of a DataFrame


df_csv.columns
Out[70]:
['faa', 'name', 'lat', 'lon', 'alt', 'tz', 'dst']
In [73]:

# describe() operation compute summary statistics of numerical columns in the


DataFrame

df_csv.select('lat', 'lon', 'alt').describe().show()


+-------+------------------+------------------+------------------+
|summary| lat| lon| alt|
+-------+------------------+------------------+------------------+
| count| 1397| 1397| 1397|
| mean| 41.75029635989892|-103.6891285724532|1005.9169649248389|
| stddev|10.549872185047212|30.125313702028542|1521.2701426664623|
| min| 19.721375| -176.646| -54|
| max| 72.270833| 174.11362| 9078|
+-------+------------------+------------------+------------------+

Interacting with DataFrames using PySpark SQL


DataFrame API vs SQL queries

In PySpark You can interact with SparkSQL through DataFrame API and SQL queries

The DataFrame API provides a programmatic domain-specific language (DSL) for data

DataFrame transformations and actions are easier to construct programmatically

SQL queries can be concise and easier to understand and portable

The operations on DataFrames can also be done using SQL queries

SQL notes
A SQL query returns a table derived from one or more tables contained in a database.

Every SQL query is made up of commands that tell the database what you want to do with the data. The two commands that every query has to contain are SELECT and FROM.

The SELECT command is followed by the columns you want in the resulting table.

The FROM command is followed by the name of the table that contains those columns. The minimal SQL query is:

SELECT * FROM my_table;

The * selects all columns, so this returns the entire table named my_table.

Similar to .withColumn(), you can do column-wise computations within a SELECT statement. For example,

SELECT origin, dest, air_time / 60 FROM flights;

returns a table with the origin, destination, and duration in hours for each flight.

Another commonly used command is WHERE. This command filters the rows of the table based on some logical condition you specify. The resulting table contains the rows where your
condition is true. For example, if you had a table of students and grades you could do:

SELECT * FROM students WHERE grade = 'A';

to select all the columns and the rows containing information about students who got As.

Another common database task is aggregation. That is, reducing your data by breaking it into chunks and summarizing each chunk.

This is done in SQL using the GROUP BY command. This command breaks your data into groups and applies a function from your SELECT statement to each group.

For example, if you wanted to count the number of flights from each of two origin destinations, you could use the query

SELECT COUNT(*) FROM flights GROUP BY origin;

GROUP BY origin tells SQL that you want the output to have a row for each unique value of the origin column. The SELECT statement selects the values you want to populate each of the
columns. Here, we want to COUNT() every row in each of the groups.

It's possible to GROUP BY more than one column. When you do this, the resulting table has a row for every combination of the unique values in each column. The following query counts
the number of flights from SEA and PDX to every destination airport:

SELECT origin, dest, COUNT(*) FROM flights GROUP BY origin, dest;

The output will have a row for every combination of the values in origin and dest (i.e. a row listing each origin and destination that a flight flew to). There will also be a column with the
COUNT() of all the rows in each group.
Another very common data operation is the join. Joins are a whole topic unto themselves, so in this course we'll just look at simple joins. If you'd like to learn more about joins, you can
take a look here.

A join will combine two different tables along a column that they share. This column is called the key. Examples of keys here include the tailnum and carrier columns from the flights
table.

For example, suppose that you want to know more information about the plane that flew a flight than just the tail number. This information isn't in the flights table because the same
plane flies many different flights over the course of two years, so including this information in every row would result in a lot of duplication. To avoid this, you'd have a second table that
has only one row for each plane and whose columns list all the information about the plane, including its tail number. You could call this table planes

When you join the flights table to this table of airplane information, you're adding all the columns from the planes table to the flights table. To fill these columns with information, you'll
look at the tail number from the flights table and find the matching one in the planes table, and then use that row to fill out all the new columns.

Now you'll have a much bigger table than before, but now every row has all information about the plane that flew that flight!

In [87]:

# Executing SQL Queries

# The SparkSession sql() method executes SQL query

# sql() method takes a SQL statement as an argument and returns the result as
DataFrame

df_csv.createOrReplaceTempView("table1")

df2 = ss.sql("SELECT name, lat, lon, dst, alt FROM table1 WHERE alt > 100")

df2.show(5)
+--------------------+----------+-----------+---+----+
| name| lat| lon|dst| alt|
+--------------------+----------+-----------+---+----+
| Lansdowne Airport|41.1304722|-80.6195833| A|1044|
|Moton Field Munic...|32.4605722|-85.6800278| A| 264|
| Schaumburg Regional|41.9893408|-88.1012428| A| 801|
| Randall Airport| 41.431912|-74.3915611| A| 523|
|Elizabethton Muni...|36.3712222|-82.1734167| A|1593|
+--------------------+----------+-----------+---+----+
only showing top 5 rows

In [84]:

df2.columns
Out[84]:
['name', 'lat', 'lon', 'dst', 'alt']
In [91]:

# Summarizing and grouping data using SQL queries

df2.createOrReplaceTempView("table2")

query = 'SELECT dst, max(alt) FROM table2 GROUP BY dst'

ss.sql(query).show(5)
+---+--------+
|dst|max(alt)|
+---+--------+
| U| 6548|
| A| 9078|
| N| 7015|
+---+--------+

In [92]:

ss.catalog.listTables()
Out[92]:
[Table(name='table1', database=None, description=None, tableType='TEMPORARY', isTemporary=True),
Table(name='table2', database=None, description=None, tableType='TEMPORARY', isTemporary=True)]
In [94]:

df = ss.read.csv ("flights_small.csv",inferSchema=True, header=True)

df.printSchema()
root
|-- year: integer (nullable = true)
|-- month: integer (nullable = true)
|-- day: integer (nullable = true)
|-- dep_time: string (nullable = true)
|-- dep_delay: string (nullable = true)
|-- arr_time: string (nullable = true)
|-- arr_delay: string (nullable = true)
|-- carrier: string (nullable = true)
|-- tailnum: string (nullable = true)
|-- flight: integer (nullable = true)
|-- origin: string (nullable = true)
|-- dest: string (nullable = true)
|-- air_time: string (nullable = true)
|-- distance: integer (nullable = true)
|-- hour: string (nullable = true)
|-- minute: string (nullable = true)

In [96]:

df.createOrReplaceTempView("flights")

query = "FROM flights SELECT * LIMIT 10"

# Get the first 10 rows of flights


flights10 = ss.sql(query)

# Show the results


flights10.show()
+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+----+--------+--------+----+------+
|year|month|day|dep_time|dep_delay|arr_time|arr_delay|carrier|tailnum|flight|origin|dest|air_time|distance|hour|minute|
+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+----+--------+--------+----+------+
|2014| 12| 8| 658| -7| 935| -5| VX| N846VA| 1780| SEA| LAX| 132| 954| 6| 58|
|2014| 1| 22| 1040| 5| 1505| 5| AS| N559AS| 851| SEA| HNL| 360| 2677| 10| 40|
|2014| 3| 9| 1443| -2| 1652| 2| VX| N847VA| 755| SEA| SFO| 111| 679| 14| 43|
|2014| 4| 9| 1705| 45| 1839| 34| WN| N360SW| 344| PDX| SJC| 83| 569| 17| 5|
|2014| 3| 9| 754| -1| 1015| 1| AS| N612AS| 522| SEA| BUR| 127| 937| 7| 54|
|2014| 1| 15| 1037| 7| 1352| 2| WN| N646SW| 48| PDX| DEN| 121| 991| 10| 37|
|2014| 7| 2| 847| 42| 1041| 51| WN| N422WN| 1520| PDX| OAK| 90| 543| 8| 47|
|2014| 5| 12| 1655| -5| 1842| -18| VX| N361VA| 755| SEA| SFO| 98| 679| 16| 55|
|2014| 4| 19| 1236| -4| 1508| -7| AS| N309AS| 490| SEA| SAN| 135| 1050| 12| 36|
|2014| 11| 19| 1812| -3| 2352| -4| AS| N564AS| 26| SEA| ORD| 198| 1721| 18| 12|
+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+----+--------+--------+----+------+

Pandafy a Spark DataFrame


In [98]:

query = "SELECT origin, dest, COUNT(*) as N FROM flights GROUP BY origin,


dest"

# Run the query


flight_counts = ss.sql(query)

# Convert the results to a pandas DataFrame


pd_counts = flight_counts.toPandas()

# Print the head of pd_counts


print(pd_counts.head())
origin dest N
0 SEA RNO 8
1 SEA DTW 98
2 SEA CLE 2
3 SEA LAX 450
4 PDX SEA 144

Put some Spark in your data


In [99]:

import numpy as np
import pandas as pd
In [102]:

# Create pd_temp
pd_temp = pd.DataFrame(np.random.random(10))

# Create spark_temp from pd_temp


spark_temp = ss.createDataFrame(pd_temp)

# Examine the tables in the catalog


ss.catalog.listTables()
Out[102]:
[Table(name='flights', database=None, description=None, tableType='TEMPORARY', isTemporary=True),
Table(name='table1', database=None, description=None, tableType='TEMPORARY', isTemporary=True),
Table(name='table2', database=None, description=None, tableType='TEMPORARY', isTemporary=True)]
In [104]:

# Add spark_temp to the catalog


spark_temp.name = spark_temp.createOrReplaceTempView('temp')

# Examine the tables in the catalog again


ss.catalog.listTables()
Out[104]:
[Table(name='flights', database=None, description=None, tableType='TEMPORARY', isTemporary=True),
Table(name='table1', database=None, description=None, tableType='TEMPORARY', isTemporary=True),
Table(name='table2', database=None, description=None, tableType='TEMPORARY', isTemporary=True),
Table(name='temp', database=None, description=None, tableType='TEMPORARY', isTemporary=True)]
In [105]:

file_path = "airports.csv"

# Read in the airports data


airports = ss.read.csv(file_path, header=True)

# Show the data


airports.show()
+---+--------------------+----------------+-----------------+----+---+---+
|faa| name| lat| lon| alt| tz|dst|
+---+--------------------+----------------+-----------------+----+---+---+
|04G| Lansdowne Airport| 41.1304722| -80.6195833|1044| -5| A|
|06A|Moton Field Munic...| 32.4605722| -85.6800278| 264| -5| A|
|06C| Schaumburg Regional| 41.9893408| -88.1012428| 801| -6| A|
|06N| Randall Airport| 41.431912| -74.3915611| 523| -5| A|
|09J|Jekyll Island Air...| 31.0744722| -81.4277778| 11| -4| A|
|0A9|Elizabethton Muni...| 36.3712222| -82.1734167|1593| -4| A|
|0G6|Williams County A...| 41.4673056| -84.5067778| 730| -5| A|
|0G7|Finger Lakes Regi...| 42.8835647| -76.7812318| 492| -5| A|
|0P2|Shoestring Aviati...| 39.7948244| -76.6471914|1000| -5| U|
|0S9|Jefferson County ...| 48.0538086| -122.8106436| 108| -8| A|
|0W3|Harford County Ai...| 39.5668378| -76.2024028| 409| -5| A|
|10C| Galt Field Airport| 42.4028889| -88.3751111| 875| -6| U|
|17G|Port Bucyrus-Craw...| 40.7815556| -82.9748056|1003| -5| A|
|19A|Jackson County Ai...| 34.1758638| -83.5615972| 951| -4| U|
|1A3|Martin Campbell F...| 35.0158056| -84.3468333|1789| -4| A|
|1B9| Mansfield Municipal| 42.0001331| -71.1967714| 122| -5| A|
|1C9|Frazier Lake Airpark|54.0133333333333|-124.768333333333| 152| -8| A|
|1CS|Clow Internationa...| 41.6959744| -88.1292306| 670| -6| U|
|1G3| Kent State Airport| 41.1513889| -81.4151111|1134| -4| A|
|1OH| Fortman Airport| 40.5553253| -84.3866186| 885| -5| U|
+---+--------------------+----------------+-----------------+----+---+---+
only showing top 20 rows

In [106]:

ss.catalog.listDatabases()
Out[106]:
[Database(name='default', description='default database', locationUri='file:/Users/vkocaman/Python_Projects/Leiden/Spark/spark-warehouse')]
In [110]:

flights = ss.read.csv('flights_small.csv', header=True)


In [111]:

flights.columns
Out[111]:
['year',
'month',
'day',
'dep_time',
'dep_delay',
'arr_time',
'arr_delay',
'carrier',
'tailnum',
'flight',
'origin',
'dest',
'air_time',
'distance',
'hour',
'minute']
In [115]:

# add new column

flights = flights.withColumn('duration_hrs', flights.air_time / 60)

flights.show(5)
+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+----+--------+--------+----+------+------------------+
|year|month|day|dep_time|dep_delay|arr_time|arr_delay|carrier|tailnum|flight|origin|dest|air_time|distance|hour|minute| duration_hrs|
+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+----+--------+--------+----+------+------------------+
|2014| 12| 8| 658| -7| 935| -5| VX| N846VA| 1780| SEA| LAX| 132| 954| 6| 58| 2.2|
|2014| 1| 22| 1040| 5| 1505| 5| AS| N559AS| 851| SEA| HNL| 360| 2677| 10| 40| 6.0|
|2014| 3| 9| 1443| -2| 1652| 2| VX| N847VA| 755| SEA| SFO| 111| 679| 14| 43| 1.85|
|2014| 4| 9| 1705| 45| 1839| 34| WN| N360SW| 344| PDX| SJC| 83| 569| 17| 5|1.3833333333333333|
|2014| 3| 9| 754| -1| 1015| 1| AS| N612AS| 522| SEA| BUR| 127| 937| 7| 54|2.1166666666666667|
+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+----+--------+--------+----+------+------------------+
only showing top 5 rows

In [117]:

# Filter flights with a SQL string


long_flights1 = flights.filter('distance > 1000')

# Filter flights with a boolean column


long_flights2 = flights.filter(flights.distance > 1000)

# Examine the data to check they're equal


print(long_flights1.show(3))
print(long_flights2.show(3))
+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+----+--------+--------+----+------+------------+
|year|month|day|dep_time|dep_delay|arr_time|arr_delay|carrier|tailnum|flight|origin|dest|air_time|distance|hour|minute|duration_hrs|
+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+----+--------+--------+----+------+------------+
|2014| 1| 22| 1040| 5| 1505| 5| AS| N559AS| 851| SEA| HNL| 360| 2677| 10| 40| 6.0|
|2014| 4| 19| 1236| -4| 1508| -7| AS| N309AS| 490| SEA| SAN| 135| 1050| 12| 36| 2.25|
|2014| 11| 19| 1812| -3| 2352| -4| AS| N564AS| 26| SEA| ORD| 198| 1721| 18| 12| 3.3|
+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+----+--------+--------+----+------+------------+
only showing top 3 rows

None
+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+----+--------+--------+----+------+------------+
|year|month|day|dep_time|dep_delay|arr_time|arr_delay|carrier|tailnum|flight|origin|dest|air_time|distance|hour|minute|duration_hrs|
+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+----+--------+--------+----+------+------------+
|2014| 1| 22| 1040| 5| 1505| 5| AS| N559AS| 851| SEA| HNL| 360| 2677| 10| 40| 6.0|
|2014| 4| 19| 1236| -4| 1508| -7| AS| N309AS| 490| SEA| SAN| 135| 1050| 12| 36| 2.25|
|2014| 11| 19| 1812| -3| 2352| -4| AS| N564AS| 26| SEA| ORD| 198| 1721| 18| 12| 3.3|
+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+----+--------+--------+----+------+------------+
only showing top 3 rows

None
In [122]:

# Select the first set of columns


selected1 = flights.select("tailnum","origin", "dest")

# Select the second set of columns


temp = flights.select(flights.origin, flights.dest, flights.carrier)

print (temp.show(10))

# Define first filter


filterA = (flights.origin == "SEA")

# Define second filter


filterB = (flights.dest == "PDX")

# Filter the data, first by filterA then by filterB


selected2 = temp.filter(filterA).filter(filterB)

selected2.show(3)
+------+----+-------+
|origin|dest|carrier|
+------+----+-------+
| SEA| LAX| VX|
| SEA| HNL| AS|
| SEA| SFO| VX|
| PDX| SJC| WN|
| SEA| BUR| AS|
| PDX| DEN| WN|
| PDX| OAK| WN|
| SEA| SFO| VX|
| SEA| SAN| AS|
| SEA| ORD| AS|
+------+----+-------+
only showing top 10 rows

None
+------+----+-------+
|origin|dest|carrier|
+------+----+-------+
| SEA| PDX| OO|
| SEA| PDX| OO|
| SEA| PDX| OO|
+------+----+-------+
only showing top 3 rows

In [125]:

# Define avg_speed
avg_speed = (flights.distance/(flights.air_time/60)).alias("avg_speed")

# Select the correct columns


speed1 = flights.select("origin", "dest", "tailnum", avg_speed)

print (speed1.show(5))
# Create the same table using a SQL expression
speed2 = flights.selectExpr("origin", "dest", "tailnum",
"distance/(air_time/60) as avg_speed")

print (speed2.show(5))
+------+----+-------+------------------+
|origin|dest|tailnum| avg_speed|
+------+----+-------+------------------+
| SEA| LAX| N846VA| 433.6363636363636|
| SEA| HNL| N559AS| 446.1666666666667|
| SEA| SFO| N847VA|367.02702702702703|
| PDX| SJC| N360SW| 411.3253012048193|
| SEA| BUR| N612AS| 442.6771653543307|
+------+----+-------+------------------+
only showing top 5 rows

None
+------+----+-------+------------------+
|origin|dest|tailnum| avg_speed|
+------+----+-------+------------------+
| SEA| LAX| N846VA| 433.6363636363636|
| SEA| HNL| N559AS| 446.1666666666667|
| SEA| SFO| N847VA|367.02702702702703|
| PDX| SJC| N360SW| 411.3253012048193|
| SEA| BUR| N612AS| 442.6771653543307|
+------+----+-------+------------------+
only showing top 5 rows

None
In [126]:

# casting

flights = flights.withColumn("distance", flights.distance.cast("float"))


In [127]:

flights = flights.withColumn("air_time", flights.air_time.cast("float"))


In [134]:

flights = flights.withColumn("dep_delay", flights.dep_delay.cast("float"))


In [136]:

flights.describe('air_time', 'distance', "dep_delay").show()


+-------+------------------+-----------------+------------------+
|summary| air_time| distance| dep_delay|
+-------+------------------+-----------------+------------------+
| count| 9925| 10000| 9952|
| mean|152.88423173803525| 1208.1516| 6.068629421221865|
| stddev| 72.8656286392139|656.8599023464376|28.808608062751805|
| min| 20.0| 93.0| -19.0|
| max| 409.0| 2724.0| 886.0|
+-------+------------------+-----------------+------------------+

In [129]:

# Find the shortest flight from PDX in terms of distance


flights.filter(flights.origin == "PDX").groupBy().min("distance").show()

# Find the longest flight from SEA in terms of duration


flights.filter(flights.origin == "SEA").groupBy().max("air_time").show()
+-------------+
|min(distance)|
+-------------+
| 106.0|
+-------------+

+-------------+
|max(air_time)|
+-------------+
| 409.0|
+-------------+

In [130]:

# Average duration of Delta flights


flights.filter(flights.carrier == "DL")\
.filter(flights.origin == "SEA")\
.groupBy().avg('air_time')\
.show()

# Total hours in the air


flights.withColumn("duration_hrs",
flights.air_time/60).groupBy().sum("duration_hrs").show()
+------------------+
| avg(air_time)|
+------------------+
|188.20689655172413|
+------------------+
+------------------+
| sum(duration_hrs)|
+------------------+
|25289.600000000126|
+------------------+

In [131]:

# Group by tailnum
by_plane = flights.groupBy("tailnum")

# Number of flights each plane made


by_plane.count().show()

# Group by origin
by_origin = flights.groupBy("origin")

# Average duration of flights from PDX and SEA


by_origin.avg("air_time").show()
+-------+-----+
|tailnum|count|
+-------+-----+
| N442AS| 38|
| N102UW| 2|
| N36472| 4|
| N38451| 4|
| N73283| 4|
| N513UA| 2|
| N954WN| 5|
| N388DA| 3|
| N567AA| 1|
| N516UA| 2|
| N927DN| 1|
| N8322X| 1|
| N466SW| 1|
| N6700| 1|
| N607AS| 45|
| N622SW| 4|
| N584AS| 31|
| N914WN| 4|
| N654AW| 2|
| N336NW| 1|
+-------+-----+
only showing top 20 rows

+------+------------------+
|origin| avg(air_time)|
+------+------------------+
| SEA| 160.4361496051259|
| PDX|137.11543248288737|
+------+------------------+

In [ ]:

In [137]:

import pyspark.sql.functions as F

# Group by month and dest


by_month_dest = flights.groupBy("month", "dest")

# Average departure delay by month and destination


by_month_dest.avg("dep_delay").show()

# Standard deviation
by_month_dest.agg(F.stddev("dep_delay")).show()
+-----+----+--------------------+
|month|dest| avg(dep_delay)|
+-----+----+--------------------+
| 11| TUS| -2.3333333333333335|
| 11| ANC| 7.529411764705882|
| 1| BUR| -1.45|
| 1| PDX| -5.6923076923076925|
| 6| SBA| -2.5|
| 5| LAX|-0.15789473684210525|
| 10| DTW| 2.6|
| 6| SIT| -1.0|
| 10| DFW| 18.176470588235293|
| 3| FAI| -2.2|
| 10| SEA| -0.8|
| 2| TUS| -0.6666666666666666|
| 12| OGG| 25.181818181818183|
| 9| DFW| 4.066666666666666|
| 5| EWR| 14.25|
| 3| RDM| -6.2|
| 8| DCA| 2.6|
| 7| ATL| 4.675675675675675|
| 4| JFK| 0.07142857142857142|
| 10| SNA| -1.1333333333333333|
+-----+----+--------------------+
only showing top 20 rows

+-----+----+----------------------+
|month|dest|stddev_samp(dep_delay)|
+-----+----+----------------------+
| 11| TUS| 3.0550504633038935|
| 11| ANC| 18.604716401245316|
| 1| BUR| 15.22627576540667|
| 1| PDX| 5.677214918493858|
| 6| SBA| 2.380476142847617|
| 5| LAX| 13.36268698685904|
| 10| DTW| 5.639148871948674|
| 6| SIT| NaN|
| 10| DFW| 45.53019017606675|
| 3| FAI| 3.1144823004794873|
| 10| SEA| 18.70523227029577|
| 2| TUS| 14.468356276140469|
| 12| OGG| 82.64480404939947|
| 9| DFW| 21.728629347782924|
| 5| EWR| 42.41595968929191|
| 3| RDM| 2.16794833886788|
| 8| DCA| 9.946523680831074|
| 7| ATL| 22.767001039582183|
| 4| JFK| 8.156774303176903|
| 10| SNA| 13.726234873756304|
+-----+----+----------------------+
only showing top 20 rows

In [138]:

airports.show()
+---+--------------------+----------------+-----------------+----+---+---+
|faa| name| lat| lon| alt| tz|dst|
+---+--------------------+----------------+-----------------+----+---+---+
|04G| Lansdowne Airport| 41.1304722| -80.6195833|1044| -5| A|
|06A|Moton Field Munic...| 32.4605722| -85.6800278| 264| -5| A|
|06C| Schaumburg Regional| 41.9893408| -88.1012428| 801| -6| A|
|06N| Randall Airport| 41.431912| -74.3915611| 523| -5| A|
|09J|Jekyll Island Air...| 31.0744722| -81.4277778| 11| -4| A|
|0A9|Elizabethton Muni...| 36.3712222| -82.1734167|1593| -4| A|
|0G6|Williams County A...| 41.4673056| -84.5067778| 730| -5| A|
|0G7|Finger Lakes Regi...| 42.8835647| -76.7812318| 492| -5| A|
|0P2|Shoestring Aviati...| 39.7948244| -76.6471914|1000| -5| U|
|0S9|Jefferson County ...| 48.0538086| -122.8106436| 108| -8| A|
|0W3|Harford County Ai...| 39.5668378| -76.2024028| 409| -5| A|
|10C| Galt Field Airport| 42.4028889| -88.3751111| 875| -6| U|
|17G|Port Bucyrus-Craw...| 40.7815556| -82.9748056|1003| -5| A|
|19A|Jackson County Ai...| 34.1758638| -83.5615972| 951| -4| U|
|1A3|Martin Campbell F...| 35.0158056| -84.3468333|1789| -4| A|
|1B9| Mansfield Municipal| 42.0001331| -71.1967714| 122| -5| A|
|1C9|Frazier Lake Airpark|54.0133333333333|-124.768333333333| 152| -8| A|
|1CS|Clow Internationa...| 41.6959744| -88.1292306| 670| -6| U|
|1G3| Kent State Airport| 41.1513889| -81.4151111|1134| -4| A|
|1OH| Fortman Airport| 40.5553253| -84.3866186| 885| -5| U|
+---+--------------------+----------------+-----------------+----+---+---+
only showing top 20 rows

In [206]:

# Rename the faa column


airports = airports.withColumnRenamed("faa", "dest")

# Join the DataFrames


flights_with_airports = flights.join(airports, on="dest", how="leftouter")

# Examine the data again


print(flights_with_airports.show(3))
+----+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+--------+--------+----+------+------------+------------------+---------+-----------
+---+---+---+
|dest|year|month|day|dep_time|dep_delay|arr_time|arr_delay|carrier|tailnum|flight|origin|air_time|distance|hour|minute|duration_hrs| name| lat| lon|
alt| tz|dst|
+----+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+--------+--------+----+------+------------+------------------+---------+-----------
+---+---+---+
| LAX|2014| 12| 8| 658| -7.0| 935| -5| VX| N846VA| 1780| SEA| 132.0| 954.0| 6| 58| 2.2| Los Angeles Intl|33.942536|-118.408075|
126| -8| A|
| HNL|2014| 1| 22| 1040| 5.0| 1505| 5| AS| N559AS| 851| SEA| 360.0| 2677.0| 10| 40| 6.0| Honolulu Intl|21.318681|-157.922428|
13|-10| N|
| SFO|2014| 3| 9| 1443| -2.0| 1652| 2| VX| N847VA| 755| SEA| 111.0| 679.0| 14| 43| 1.85|San Francisco Intl|37.618972|-122.374889|
13| -8| A|
+----+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+--------+--------+----+------+------------+------------------+---------+-----------
+---+---+---+
only showing top 3 rows

None
In [229]:

flights_with_airports.limit(10).show()
+----+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+--------+--------+----+------+------------------+--------------------+---------
+-----------+----+---+---+
|dest|year|month|day|dep_time|dep_delay|arr_time|arr_delay|carrier|tailnum|flight|origin|air_time|distance|hour|minute| duration_hrs| name| lat|
lon| alt| tz|dst|
+----+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+--------+--------+----+------+------------------+--------------------+---------
+-----------+----+---+---+
| LAX|2014| 12| 8| 658| -7.0| 935| -5| VX| N846VA| 1780| SEA| 132.0| 954.0| 6| 58| 2.2| Los Angeles Intl|33.942536|-
118.408075| 126| -8| A|
| HNL|2014| 1| 22| 1040| 5.0| 1505| 5| AS| N559AS| 851| SEA| 360.0| 2677.0| 10| 40| 6.0| Honolulu Intl|21.318681|-
157.922428| 13|-10| N|
| SFO|2014| 3| 9| 1443| -2.0| 1652| 2| VX| N847VA| 755| SEA| 111.0| 679.0| 14| 43| 1.85| San Francisco Intl|37.618972|-
122.374889| 13| -8| A|
| SJC|2014| 4| 9| 1705| 45.0| 1839| 34| WN| N360SW| 344| PDX| 83.0| 569.0| 17| 5|1.3833333333333333|Norman Y Mineta S...| 37.3626|-
121.929022| 62| -8| A|
| BUR|2014| 3| 9| 754| -1.0| 1015| 1| AS| N612AS| 522| SEA| 127.0| 937.0| 7| 54|2.1166666666666667| Bob Hope|34.200667|-
118.358667| 778| -8| A|
| DEN|2014| 1| 15| 1037| 7.0| 1352| 2| WN| N646SW| 48| PDX| 121.0| 991.0| 10| 37|2.0166666666666666| Denver Intl|39.861656|-
104.673178|5431| -7| A|
| OAK|2014| 7| 2| 847| 42.0| 1041| 51| WN| N422WN| 1520| PDX| 90.0| 543.0| 8| 47| 1.5|Metropolitan Oakl...|37.721278|-
122.220722| 9| -8| A|
| SFO|2014| 5| 12| 1655| -5.0| 1842| -18| VX| N361VA| 755| SEA| 98.0| 679.0| 16| 55|1.6333333333333333| San Francisco Intl|37.618972|-
122.374889| 13| -8| A|
| SAN|2014| 4| 19| 1236| -4.0| 1508| -7| AS| N309AS| 490| SEA| 135.0| 1050.0| 12| 36| 2.25| San Diego Intl|32.733556|-
117.189667| 17| -8| A|
| ORD|2014| 11| 19| 1812| -3.0| 2352| -4| AS| N564AS| 26| SEA| 198.0| 1721.0| 18| 12| 3.3| Chicago Ohare Intl|41.978603| -
87.904842| 668| -6| A|
+----+----+-----+---+--------+---------+--------+---------+-------+-------+------+------+--------+--------+----+------+------------------+--------------------+---------
+-----------+----+---+---+

In [ ]:

%matplotlib inline
a=flights_with_airports.toPandas()
a["month"].hist()
In [ ]:

flights_with_airports.fillna(0)
In [250]:

filename="/Users/vkocaman/Python_Projects/Leiden/Hadoop/ml-100k/u.data"

movie_rdd=sc.parallelize([ (x[0],x[1]) for x in


csv.reader(open(filename,'r'),delimiter='\t')])

movie_rdd.take(5)
Out[250]:
[('196', '242'), ('186', '302'), ('22', '377'), ('244', '51'), ('166', '346')]
In [249]:

#ss.read.csv("/Users/vkocaman/Python_Projects/Leiden/Hadoop/ml-100k/data.csv",
inferSchema=True, header=None).collect()
In [291]:

# word count example

counts_rdd = movie_rdd.map(lambda word: (word[0], 1)) \


.reduceByKey(lambda a, b: a + b)

# print the word frequencies in descending order

counts_rdd.map(lambda x: (x[1], x[0])) \


.sortByKey(ascending=False)\
.collect()[:10]
Out[291]:
[(737, '405'),
(685, '655'),
(636, '13'),
(540, '450'),
(518, '276'),
(493, '416'),
(490, '537'),
(484, '303'),
(480, '234'),
(448, '393')]
In [255]:

m=[a[0] for a in [ (x[0],x[1]) for x in


csv.reader(open(filename,'r'),delimiter='\t')]]
In [259]:

from collections import Counter

max(Counter(m).values())

Counter(m)["405"]
Out[259]:
737

PySaprk UDF
In [ ]:

from pyspark import SparkContext


from pyspark.sql import SQLContext, SparkSession
import warnings
ss = SparkSession.builder.appName('SDDM').master("local[*]").getOrCreate()

df_spark = ss.read.csv("employee_email_data_v2.csv",
header=True, inferSchema=True)

from pyspark.sql.types import StringType


from pyspark.sql.functions import udf
from pyspark.sql import functions as f

def generate_udf():

def spark_func(user, tag, hour):

if "out" in user:
txt_1 = user.replace("out_","").replace ("_"," ") + " who is
working for another company"

else:
txt_1 = user.replace("_"," ") + " who is working for our company"

if tag == "from":
txt_2 = " sent an email"

elif tag == "to":


txt_2 = " received an email"

if hour > 17 or hour < 9:


txt_3 = " between 6 pm and 9 am"
else:
txt_3 = " during work hours"

return txt_1 + txt_2 + txt_3

return f.udf(spark_func, StringType())

%%time

df_spark = df_spark.withColumn('comment',
generate_udf()(f.col('user_ids'), f.col('tag'),
f.col('hour')))

df_spark.collect(),
In [ ]:

df_spark.show(5, False)
In [ ]:

https://www.linkedin.com/pulse/insider-spark-adventure-bar%C4%B1%C5%9F-can-
tayiz/

https://towardsdatascience.com/machine-learning-with-pyspark-and-mllib-
solving-a-binary-classification-problem-96396065d2aa?gi=165a78ac88a6
PySpark vs Pandas (similar functions)
http://localhost:8888/notebooks/Python_Projects/Leiden/Spark/python_spark_ortak_fonksiyonlar.ipynb

In [ ]:

In [ ]:
In [ ]:

Getting started with machine learning pipelines


In [285]:

text_file = sc.textFile("example_text.txt")
wordSeqs = text_file.map(lambda s: [w.lower() for w in s.split()])
In [288]:

from pyspark.mllib.feature import Word2Vec

#w2v = Word2Vec()
#model = w2v.fit(wordSeqs)

# find synonyms for a given word


synonyms = model.findSynonyms('money', 5)

for word, distance in synonyms:


print("{}: {}".format(word, distance))
becomes: 0.926846444606781
pounds.: 0.9183464050292969
fish: 0.9091755747795105
was.: 0.8968182802200317
poet: 0.8965718746185303
In [ ]:

#
https://github.com/radanalyticsio/workshop-notebook/blob/master/pyspark.ipynb

# https://github.com/radanalyticsio/workshop-notebook/blob/master/ml-
basics.ipynb
In [321]:

from flair.embeddings import FlairEmbeddings

# The sentence objects holds a sentence that we may want to embed or tag
from flair.data import Sentence

# init embedding
flair_embedding_forward = FlairEmbeddings('news-forward')

# create a sentence
sentence = Sentence('The grass is green .')

# embed words in sentence


flair_embedding_forward.embed(sentence)
Out[321]:
[Sentence: "The grass is green ." - 5 Tokens]
In [322]:

from flair.embeddings import WordEmbeddings, FlairEmbeddings,


StackedEmbeddings

# create a StackedEmbedding object that combines glove and forward/backward


flair embeddings
stacked_embeddings = StackedEmbeddings([
WordEmbeddings('glove'),
FlairEmbeddings('news-forward'),
FlairEmbeddings('news-backward'),
])
2019-01-06 00:03:47,361 https://s3.eu-central-1.amazonaws.com/alan-nlp/resources/embeddings/glove.gensim.vectors.npy not found in cache, downloading to
/var/folders/jb/5px3dvgj4bj86ls0lmbswv680000gn/T/tmpx0dfmmbs
100%|██████████| 160000128/160000128 [00:32<00:00, 4858492.77B/s]
2019-01-06 00:04:20,594 copying /var/folders/jb/5px3dvgj4bj86ls0lmbswv680000gn/T/tmpx0dfmmbs to cache at /Users/vkocaman/.flair/embeddings/glove.gensim.vectors.npy
2019-01-06 00:04:20,933 removing temp file /var/folders/jb/5px3dvgj4bj86ls0lmbswv680000gn/T/tmpx0dfmmbs
2019-01-06 00:04:21,133 https://s3.eu-central-1.amazonaws.com/alan-nlp/resources/embeddings/glove.gensim not found in cache, downloading to
/var/folders/jb/5px3dvgj4bj86ls0lmbswv680000gn/T/tmp3lk7sk4r
100%|██████████| 21494764/21494764 [00:04<00:00, 4755968.97B/s]
2019-01-06 00:04:25,932 copying /var/folders/jb/5px3dvgj4bj86ls0lmbswv680000gn/T/tmp3lk7sk4r to cache at /Users/vkocaman/.flair/embeddings/glove.gensim
2019-01-06 00:04:25,978 removing temp file /var/folders/jb/5px3dvgj4bj86ls0lmbswv680000gn/T/tmp3lk7sk4r
2019-01-06 00:04:27,565 https://s3.eu-central-1.amazonaws.com/alan-nlp/resources/embeddings/lm-news-english-backward-v0.2rc.pt not found in cache, downloading to
/var/folders/jb/5px3dvgj4bj86ls0lmbswv680000gn/T/tmpmdb4arf9
100%|██████████| 72405799/72405799 [00:15<00:00, 4571768.13B/s]
2019-01-06 00:04:44,801 copying /var/folders/jb/5px3dvgj4bj86ls0lmbswv680000gn/T/tmpmdb4arf9 to cache at /Users/vkocaman/.flair/embeddings/lm-news-english-backward-v0.2rc.pt
2019-01-06 00:04:44,962 removing temp file /var/folders/jb/5px3dvgj4bj86ls0lmbswv680000gn/T/tmpmdb4arf9
In [323]:

sentence = Sentence('The grass is green .')

# just embed a sentence using the StackedEmbedding as you would with any
single embedding.
stacked_embeddings.embed(sentence)

# now check out the embedded tokens.


for token in sentence:
print(token)
print(token.embedding)
Token: 1 The
tensor([-3.8194e-02, -2.4487e-01, 7.2812e-01, ..., -2.5692e-05,
-5.9604e-03, -2.5547e-03])
Token: 2 grass
tensor([-8.1353e-01, 9.4042e-01, -2.4048e-01, ..., -6.7730e-05,
-3.0360e-03, -1.3282e-02])
Token: 3 is
tensor([-0.5426, 0.4148, 1.0322, ..., -0.0066, -0.0036, -0.0014])
Token: 4 green
tensor([-6.7907e-01, 3.4908e-01, -2.3984e-01, ..., -2.2563e-05,
-1.0894e-04, -4.3916e-03])
Token: 5 .
tensor([-3.3979e-01, 2.0941e-01, 4.6348e-01, ..., 4.1382e-05,
-4.4364e-04, -2.5425e-02])
In [327]:

stacked_embeddings.embed(Sentence("Spain"))

for token in Sentence("Spain"):


print(token)
print(token.embedding)
Token: 1 Spain
tensor([])
In [4]:

additional resources
https://towardsdatascience.com/the-hitchhikers-guide-to-handle-big-data-using-spark-90b9be0fe89a

https://medium.com/@mrpowers/manually-creating-spark-dataframes-b14dae906393

https://www.youtube.com/watch?v=QaoJNXW6SQo (Spark Tutorial For Beginners | Big Data Spark Tutorial | Apache Spark Tutorial | Simplilearn)

Querying large dataset with PySpark SQL from S3 on Local Jupyter Notebook https://blog.insightdatascience.com/using-jupyter-on-apache-spark-step-by-step-with-a-terabyte-of-reddit-
data-ef4d6c13959a

https://www.datacamp.com/community/tutorials/apache-spark-tutorial-machine-learning

https://www.analyticsvidhya.com/blog/2016/09/comprehensive-introduction-to-apache-spark-rdds-dataframes-using-pyspark/

https://databricks.com/blog/2016/07/14/a-tale-of-three-apache-spark-apis-rdds-dataframes-and-datasets.html

https://s3.amazonaws.com/assets.datacamp.com/blog_assets/PySpark_SQL_Cheat_Sheet_Python.pdf

https://s3.amazonaws.com/assets.datacamp.com/blog_assets/PySpark_Cheat_Sheet_Python.pdf

https://blog.usejournal.com/spark-study-notes-core-concepts-visualized-5256c44e4090

https://data-flair.training/blogs/spark-tutorial/

https://www.datacamp.com/community/tutorials/apache-spark-tutorial-machine-learning

https://nbviewer.jupyter.org/github/mepa/sads-pyspark/blob/master/2017-09-14-PySpark-Workshop.slides.html

https://towardsdatascience.com/3-methods-for-parallelization-in-spark-6a1a4333b473

Spark Web UI https://jaceklaskowski.gitbooks.io/mastering-apache-spark/spark-webui.html

And some more detail about UI >> https://blog.insightdatascience.com/using-jupyter-on-apache-spark-step-by-step-with-a-terabyte-of-reddit-data-ef4d6c13959a


https://towardsdatascience.com/machine-learning-with-pyspark-and-mllib-solving-a-binary-classification-problem-96396065d2aa

https://www.datacamp.com/community/tutorials/apache-spark-tutorial-machine-learning

https://towardsdatascience.com/how-does-apache-spark-run-on-a-cluster-974ec2731f20

https://blog.usejournal.com/spark-study-notes-core-concepts-visualized-5256c44e4090

https://stackoverflow.com/questions/32356143/what-does-setmaster-local-mean-in-spark

https://techvidvan.com/tutorials/spark-modes-of-deployment/

Spark Streaming

Test with netcat local data server (https://spark.apache.org/docs/latest/streaming-programming-guide.html)

https://engineering.billymob.com/introducing-spark-streaming-c1b8be36c775

https://engineering.billymob.com/apache-spark-streaming-kafka-0-10-1f3c29a694cb

https://engineering.billymob.com/feature-integrating-kafka-with-spark-streaming-47763f6bcf58

https://medium.com/@kass09/spark-streaming-kafka-in-python-a-test-on-local-machine-edd47814746

*https://www.rittmanmead.com/blog/2017/01/getting-started-with-spark-streaming-with-python-and-kafka/ (two diff version of application-- windowed vs batch)

(Getting+Started+with+Spark+Streaming+with+Python+and+Kafka.ipynb)

Part-2 : (write filtered tweets to another kafka topic) https://www.rittmanmead.com/blog/2017/01/data-processing-and-enrichment-in-spark-streaming-with-python-and-kafka/

https://medium.com/@mukeshkumar_46704/getting-streaming-data-from-kafka-with-spark-streaming-using-python-9cd0922fa904

Full code https://gist.github.com/rmoff/fb033086b285655ffe7f9ff0582dedbf

http://tlfvincent.github.io/2016/09/25/kafka-spark-pipeline-part-1/

https://www.supergloo.com/fieldnotes/spark-streaming-kafka-example/

https://www.opcito.com/blogs/building-a-real-time-data-pipeline-using-spark-streaming-and-kafka/

https://www.opcito.com/blogs/data-ingestion-with-hadoop-yarn-spark-and-kafka/

Install and run PySpark on Jupyter Notebook at your local machine

https://towardsdatascience.com/how-to-use-pyspark-on-your-computer-9c7180075617

https://medium.freecodecamp.org/how-to-set-up-pyspark-for-your-jupyter-notebook-7399dd3cb389

https://github.com/tirthajyoti/Spark-with-Python

Run PySpark with Docker at your local machine

https://levelup.gitconnected.com/using-docker-and-pyspark-134cd4cab867

https://medium.com/@suci/running-pyspark-on-jupyter-notebook-with-docker-602b18ac4494

https://medium.com/@GaryStafford/getting-started-with-pyspark-for-big-data-analytics-using-jupyter-notebooks-and-docker-ba39d2e3d6c7 (including Postgres db)

Install and run PySpark on Jupyter Notebook at AWS EC2

https://medium.com/@josemarcialportilla/getting-spark-python-and-jupyter-notebook-running-on-amazon-ec2-dec599e1c297

Install and run PySpark on AWS EMR (with Hadoop and Spark pre-installed)

https://towardsdatascience.com/end-to-end-distributed-ml-using-aws-emr-apache-spark-pyspark-and-mongodb-tutorial-with-4d1077f68381

https://medium.com/@datitran/quickstart-pyspark-with-anaconda-on-aws-660252b88c9a

**https://medium.com/idealo-tech-blog/using-terraform-to-quick-start-pyspark-on-aws-2bc8ce9dcac

Install and run PySpark on Jupyter Notebook at GCP DataProc https://towardsdatascience.com/data-science-for-startups-pyspark-1acf51e9d6ba


https://cloud.google.com/blog/products/gcp/google-cloud-platform-for-data-scientists-using-jupyter-notebooks-with-apache-spark-on-google-cloud

Submit PySpark jobs on GCP DataProc (with Hadoop and Spark pre-installed)

https://towardsdatascience.com/step-by-step-tutorial-pyspark-sentiment-analysis-on-google-dataproc-fef9bef46468

Run PySpark on DSLab Machines

Running Spark clusters on Databricks Community Edition (just let the students know that this is another option.. no need to delve into)

Spark MLlib (ML with PySpark)

https://towardsdatascience.com/sentiment-analysis-with-pyspark-bc8e83f80c35

Data cleaning >> https://github.com/radanalyticsio/workshop-notebook/blob/master/workshop.ipynb

https://github.com/radanalyticsio/workshop-notebook/blob/master/ml-basics.ipynb

Deploying PySpark ML Model on Google Compute Engine as a REST API

https://towardsdatascience.com/deploying-pyspark-ml-model-on-google-compute-engine-as-a-rest-api-d69e126b30b1

NASA log analysis https://opensource.com/article/19/5/log-data-apache-spark https://opensource.com/article/19/5/visualize-log-data-apache-spark

technicalities of Spark
https://spark.apache.org/docs/latest/spark-standalone.html

http://devopspy.com/python/apache-spark-pyspark-centos-rhel/

https://jaceklaskowski.gitbooks.io/mastering-apache-spark/spark-webui.html

https://medium.com/ymedialabs-innovation/apache-spark-on-a-multi-node-cluster-b75967c8cb2b

https://github.com/jaceklaskowski/mastering-apache-spark-book/blob/master/spark-standalone-example-2-workers-on-1-node-cluster.adoc

http://spark.apache.org/docs/latest/submitting-applications.html https://docs.anaconda.com/anaconda-scale/howto/spark-basic/

https://www.datacamp.com/community/tutorials/apache-spark-python

https://data-flair.training/blogs/install-apache-spark-multi-node-cluster/

https://www.programcreek.com/2018/11/install-spark-on-ubuntu-standalone-mode/

In [ ]:

You might also like