├── .aws
└── config
├── .gitignore
├── README.md
├── course-lessons-project
├── project1-iot-store-data
│ ├── README.md
│ ├── device_script.py
│ ├── requirements.txt
│ └── seattle-weather.csv
├── project2-order-management-system
│ ├── README.md
│ ├── dev-requirements.txt
│ ├── lambda_function.py
│ ├── orders.py
│ └── prod-requirements.txt
├── project3-spark-emr-referral-data
│ ├── README.md
│ ├── advertisers.py
│ └── data.csv
├── project4-redshift-data-analysis
│ └── README.md
└── project5-js-visualizations
│ ├── README.md
│ ├── top-ten-highcharts.html
│ └── top-ten.html
├── data
├── README.txt
├── apache.log
└── movie_metadata.csv
├── dms
├── mysql-privs.sql
├── sakila-data.sql
└── sakila-schema.sql
├── dynamodb-lab
├── dynamodb.py
└── moviedata.json
├── es-lab
└── firehose-delivery.py
└── kinesis-lab
├── firehose-agent.json
├── firehose-and-streams-agent.json
├── firehose-transform-agent.json
├── read-kinesis-stream.py
└── write-to-kinesis-firehose.py
/.aws/config:
--------------------------------------------------------------------------------
1 | [default]
2 | region = us-east-1
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | venv
2 | .DS_Store
3 | __pycache__
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # content-aws-bigdata-cert
--------------------------------------------------------------------------------
/course-lessons-project/project1-iot-store-data/README.md:
--------------------------------------------------------------------------------
1 | # IoT Data Project
2 |
3 | ## Creating Things, Certificates, and Policies
4 |
5 | 1. IoT --> Manage --> Show me later --> Register a thing --> Create a single thing
6 | 2. Create a thing called `store-sensor-seattle1`
7 | Name it `store-sensor-seattle1`
8 |
9 | Type --> Add a new type
10 | Name - `sensor`
11 | Description - A sensor
12 |
13 | Group
14 | Name --> Seattle
15 | Description --> Things in Seattle
16 | Attributes --> (city | Seattle)
17 |
18 | 3. Create a certificate for the thing
19 | Certificate for the thing
20 | One-click certificate
21 | Download everything
22 | Download the first AWS certificate (not the symmatech one)
23 |
24 | 4. Create a policy for the thing and attach it to the certificate
25 | Policy for the thing
26 | Main IoT page > Secure > Policies > Create a policy
27 | Name - sensor-policy
28 | Action - iot:*
29 | Resource ARN - *
30 | NOTE VERY PERMISSIVE DON'T DO IN PRODUCTION
31 | Check "Allow"
32 | Press create
33 | Attach Policy on the certificate we created
34 | Back to Secure > Certificates > attach policy
35 |
36 | ## Test subscribing and publishing to an IoT topic
37 |
38 | 1. Subscribe and publish to a topic
39 | IoT Core > Test
40 | Subscribe to a new topic `SeattleStoreTemp/1`
41 | Publish to it with the basic message
42 |
43 | 2. Setup a Python virtual environment for the IoT Script
44 |
45 | ```bash
46 | python3 -m venv venv
47 | source venv/bin/activate
48 | pip install AWSIoTPythonSDK
49 | ```
50 |
51 | From inside the Python interpreter Check that the OpenSSL version is 1.0.1 or greater
52 | ```python
53 | import ssl
54 | ssl.OPENSSL_VERSION
55 | ```
56 |
57 | 3. Publish to the same topic with the python script
58 | Edit the script (device_script.py)
59 | Change the BROKER_PATH
60 | Change the Root CA, Private Key and Certificate paths
61 | Use the script to publish to the topic and see it publish live in the browser
62 |
63 | ## Create a Rule to Process the Data
64 | Name - sensor_rule
65 | Attributes - *
66 | OR Attributes - timestamp, temperature
67 | Topic Filter - SeattleStoreTemp/1
68 | Condition - wont use right now because we want all the data
69 | Add action
70 | Review integrations
71 | Send message to Amazon Kinesis Firehose
72 | Going to have to pause here and create a firehose
73 |
74 |
75 | ## Creating a Firehose Delivery Stream for our IoT Rule
76 | Either Kinesis --> Firehose OR
77 | "Create new Resource" on the Configure Action stuff in IoT
78 | Create Stream
79 | Stream Name - weather-data-stream
80 | Direct Put
81 | Process records
82 | Transform with Lambda - Off
83 | Transform Records for Glue - Off
84 | Destination
85 | Amazon S3
86 | New S3 Bucket - la-big-data-seattle-weather-2018
87 | Settings
88 | Buffer conditions
89 | 5MB
90 | 300 seconds is fine
91 | Compression & Encryption options - off
92 | Error logging - Disabled
93 | IAM Role - Create a new one and take alook at it
94 | Review and create
95 |
96 | ## Finish up our IoT Rule
97 | Select the new stream name
98 | Separator - Newline
99 | Create a new role - iot-weather-data-role
100 | Select the role - iot-weather-data-role
101 | Add action
102 | Create the rule
103 |
104 | ## Testing our new IoT Rule
105 | Start the device_script.py again
106 | Check Firehose monitoring
107 | Check S3 for the actual data
108 | Note we could have delivered it directly with IoT
109 | Can modify it with Firehose
110 |
111 |
112 | ## Kinesis Analytics Streams
113 |
114 | ```sql
115 | CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (
116 | max_temp REAL,
117 | min_temp REAL
118 | );
119 |
120 | CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM"
121 | SELECT STREAM
122 | MAX("max_temperature") as max_temp,
123 | MIN("min_temperature") as min_temp
124 | FROM "SOURCE_SQL_STREAM_001"
125 | GROUP BY
126 | FLOOR(("SOURCE_SQL_STREAM_001".ROWTIME - TIMESTAMP '1970-01-01 00:00:00') SECOND / 10 TO SECOND);
127 | ```
128 |
--------------------------------------------------------------------------------
/course-lessons-project/project1-iot-store-data/device_script.py:
--------------------------------------------------------------------------------
1 | import csv
2 | import random
3 | import json
4 | import time
5 |
6 | from AWSIoTPythonSDK.MQTTLib import AWSIoTMQTTClient
7 | from time import sleep
8 | from datetime import date, datetime
9 |
10 |
11 | CLIENT_NAME = "store-thermometer-seattle1"
12 | TOPIC = "SeattleStoreTemp/1"
13 |
14 | # Broker path is under AWS IoT > Settings (at the bottom left)
15 | BROKER_PATH = "a2hyr29arhu1ac-ats.iot.us-east-1.amazonaws.com"
16 |
17 | # RSA 2048 bit key: Amazon Root CA 1 found here:
18 | # https://docs.aws.amazon.com/iot/latest/developerguide/managing-device-certs.html
19 | ROOT_CA_PATH = './AmazonRootCA1.pem'
20 | PRIVATE_KEY_PATH = './14e764a6a2-private.pem.key'
21 | CERTIFICATE_PATH = './14e764a6a2-certificate.pem.crt'
22 |
23 | IoTclient = AWSIoTMQTTClient(CLIENT_NAME)
24 | IoTclient.configureEndpoint(BROKER_PATH, 8883)
25 | IoTclient.configureCredentials(
26 | ROOT_CA_PATH,
27 | PRIVATE_KEY_PATH,
28 | CERTIFICATE_PATH
29 | )
30 |
31 | # Allow the device to queue infinite messages
32 | IoTclient.configureOfflinePublishQueueing(-1)
33 |
34 | # Number of messages to send after a connection returns
35 | IoTclient.configureDrainingFrequency(2) # 2 requests/second
36 |
37 | # How long to wait for a [dis]connection to complete (in seconds)
38 | IoTclient.configureConnectDisconnectTimeout(10)
39 |
40 | # How long to wait for publish/[un]subscribe (in seconds)
41 | IoTclient.configureMQTTOperationTimeout(5)
42 |
43 |
44 | IoTclient.connect()
45 | IoTclient.publish(TOPIC, "connected", 0)
46 |
47 | with open('seattle-weather.csv', newline='') as csvfile:
48 | csv.reader(csvfile, delimiter=',', quotechar='"')
49 | next(csvfile)
50 | for row in csvfile:
51 | time.sleep(2)
52 | data = row.split(',')
53 | i=0
54 | while i < len(data):
55 | data[i]=data[i].replace('"','')
56 | data[i]=data[i].replace('\n','')
57 | i=i+1
58 | payload = json.dumps({
59 | "station": data[0],
60 | "name": data[1] + ',' + data[2],
61 | "latitude": data[3],
62 | "longitude": data[4],
63 | "elevation": data[5],
64 | "date_measured": data[6],
65 | "precipitation": data[7],
66 | "snowfall": data[8],
67 | "snow_depth": data[9],
68 | "average_temperature": data[10],
69 | "max_temperature": data[11],
70 | "min_temperature": data[12]
71 | })
72 | IoTclient.publish(TOPIC, payload, 0)
73 |
--------------------------------------------------------------------------------
/course-lessons-project/project1-iot-store-data/requirements.txt:
--------------------------------------------------------------------------------
1 | AWSIoTPythonSDK==1.4.0
--------------------------------------------------------------------------------
/course-lessons-project/project1-iot-store-data/seattle-weather.csv:
--------------------------------------------------------------------------------
1 | "STATION","NAME","LATITUDE","LONGITUDE","ELEVATION","DATE","PRCP","SNOW","SNWD","TAVG","TMAX","TMIN"
2 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-01","0.00","0.0","0.0","36","44","31"
3 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-02","0.00","0.0","0.0","37","44","34"
4 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-03","0.00","0.0","0.0","39","49","33"
5 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-04","0.13","0.0","0.0","41","47","35"
6 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-05","0.51","0.0","0.0","46","51","45"
7 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-06","0.17","0.0","0.0","47","48","42"
8 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-07","0.33","0.0","0.0","44","45","41"
9 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-08","0.16","0.0","0.0","45","49","43"
10 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-09","0.18","0.0","0.0","45","50","43"
11 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-10","0.17","0.0","0.0","43","45","41"
12 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-11","1.12","0.0","0.0","44","50","42"
13 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-12","0.10","0.0","0.0","50","51","48"
14 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-13","0.01","0.0","0.0","50","58","45"
15 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-14","0.00","0.0","0.0","47","56","40"
16 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-15","0.06","0.0","0.0","48","64","41"
17 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-16","0.19","0.0","0.0","52","56","44"
18 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-17","0.43","0.0","0.0","49","56","45"
19 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-18","0.40","0.0","0.0","48","52","39"
20 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-19","0.03","0.0","0.0","42","46","38"
21 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-20","0.08","0.0","0.0","43","49","39"
22 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-21","0.11","0.0","0.0","48","51","39"
23 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-22","0.36","0.0","0.0","43","47","40"
24 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-23","0.88","0.0","0.0","42","48","40"
25 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-24","0.44","0.0","0.0","46","49","41"
26 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-25","0.15","0.0","0.0","41","44","37"
27 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-26","0.41","0.0","0.0","40","42","38"
28 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-27","0.55","0.0","0.0","43","48","41"
29 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-28","0.06","0.0","0.0","47","57","43"
30 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-29","1.09","0.0","0.0","49","52","43"
31 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-30","0.00","0.0","0.0","44","47","39"
32 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-01-31","0.00","0.0","0.0","42","45","39"
33 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-01","0.57","0.0","0.0","44","46","43"
34 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-02","0.08","0.0","0.0","48","53","45"
35 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-03","0.14","0.0","0.0","49","51","48"
36 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-04","0.01","0.0","0.0","51","55","49"
37 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-05","0.03","0.0","0.0","49","50","46"
38 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-06","0.05","0.0","0.0","46","48","44"
39 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-07","0.00","0.0","0.0","49","54","47"
40 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-08","0.05","0.0","0.0","51","53","42"
41 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-09","0.00","0.0","0.0","44","49","39"
42 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-10","0.00","0.0","0.0","40","46","33"
43 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-11","0.00","0.0","0.0","39","46","33"
44 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-12","0.00","0.0","0.0","39","47","32"
45 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-13","0.14","0.0","0.0","37","48","29"
46 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-14","0.10","0.0","0.0","40","44","37"
47 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-15","0.01","0.0","0.0","40","45","36"
48 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-16","0.11","0.0","0.0","42","47","40"
49 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-17","0.30","0.0","0.0","46","49","39"
50 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-18","0.06","0.0","0.0","38","39","30"
51 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-19","0.00","0.0","0.0","32","37","28"
52 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-20","0.00","0.0","0.0","31","36","27"
53 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-21","0.06","1.0","0.0","31","34","26"
54 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-22","0.00","0.0","1.2","31","38","26"
55 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-23","0.03","0.0","0.0","30","40","24"
56 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-24","0.06","0.0","0.0","37","45","36"
57 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-25","0.20","0.0","0.0","42","43","35"
58 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-26","0.00","0.0","0.0","37","45","32"
59 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-27","0.01","0.0","0.0","40","47","37"
60 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-02-28","0.15","0.0","0.0","42","47","39"
61 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-01","0.03","0.0","0.0","44","51","37"
62 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-02","0.18","0.0","0.0","42","45","37"
63 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-03","0.00","0.0","0.0","41","52","34"
64 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-04","0.13","0.0","0.0","40","48","33"
65 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-05","0.00","0.0","0.0","41","47","39"
66 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-06","0.00","0.0","0.0","44","53","37"
67 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-07","0.04","0.0","0.0","43","50","35"
68 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-08","0.35","0.0","0.0","45","52","39"
69 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-09","0.00","0.0","0.0","46","52","40"
70 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-10","0.00","0.0","0.0","44","59","34"
71 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-11","0.00","0.0","0.0","51","64","39"
72 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-12","0.00","0.0","0.0","57","73","42"
73 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-13","0.27","0.0","0.0","60","64","44"
74 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-14","0.03","0.0","0.0","47","53","40"
75 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-15","0.00","0.0","0.0","45","56","35"
76 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-16","0.00","0.0","0.0","47","58","39"
77 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-17","0.00","0.0","0.0","46","54","38"
78 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-18","0.00","0.0","0.0","46","55","39"
79 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-19","0.00","0.0","0.0","45","55","37"
80 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-20","0.00","0.0","0.0","46","56","36"
81 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-21","0.10","0.0","0.0","46","58","36"
82 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-22","0.46","0.0","0.0","47","49","39"
83 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-23","0.35","0.0","0.0","41","49","34"
84 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-24","0.23","0.0","0.0","41","47","34"
85 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-25","0.04","0.0","0.0","43","52","37"
86 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-26","0.15","0.0","0.0","44","46","40"
87 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-27","0.08","0.0","0.0","47","52","45"
88 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-28","0.00","0.0","0.0","47","54","44"
89 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-29","0.00","0.0","0.0","48","55","43"
90 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-30","0.00","0.0","0.0","50","57","46"
91 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-03-31","0.00","0.0","0.0","50","59","45"
92 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-01","0.00","0.0","0.0","47","50","38"
93 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-02","0.00","0.0","0.0","43","53","36"
94 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-03","0.00","0.0","0.0","45","50","39"
95 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-04","0.29","0.0","0.0","45","50","41"
96 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-05","0.21","0.0","0.0","49","56","46"
97 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-06","0.05","0.0","0.0","54","65","49"
98 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-07","0.82","0.0","0.0","57","62","46"
99 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-08","0.39","0.0","0.0","48","51","46"
100 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-09","0.00","0.0","0.0","50","62","44"
101 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-10","0.18","0.0","0.0","54","60","46"
102 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-11","0.21","0.0","0.0","51","54","42"
103 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-12","0.11","0.0","0.0","45","51","41"
104 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-13","0.66","0.0","0.0","47","53","43"
105 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-14","1.70","0.0","0.0","49","53","45"
106 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-15","0.12","0.0","0.0","47","51","43"
107 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-16","0.59","0.0","0.0","45","47","41"
108 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-17","0.01","0.0","0.0","46","53","42"
109 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-18","0.00","0.0","0.0","48","60","41"
110 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-19","0.00","0.0","0.0","51","62","41"
111 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-20","0.00","0.0","0.0","53","63","43"
112 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-21","0.03","0.0","0.0","51","56","45"
113 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-22","0.00","0.0","0.0","50","59","44"
114 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-23","0.00","0.0","0.0","53","69","41"
115 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-24","0.00","0.0","0.0","63","77","49"
116 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-25","0.00","0.0","0.0","63","75","51"
117 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-26","0.00","0.0","0.0","65","82","51"
118 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-27","0.01","0.0","0.0","58","58","49"
119 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-28","0.31","0.0","0.0","51","55","47"
120 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-29","0.00","0.0","0.0","52","61","46"
121 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-04-30","0.00","0.0","0.0","51","59","47"
122 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-01","0.00","0.0","0.0","52","62","48"
123 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-02","0.00","0.0","0.0","55","70","45"
124 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-03","0.00","0.0","0.0","61","74","50"
125 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-04","0.00","0.0","0.0","56","64","50"
126 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-05","0.01","0.0","0.0","57","68","48"
127 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-06","0.00","0.0","0.0","62","77","52"
128 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-07","0.00","0.0","0.0","58","69","53"
129 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-08","0.03","0.0","0.0","62","75","50"
130 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-09","0.00","0.0","0.0","60","67","52"
131 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-10","0.04","0.0","0.0","55","62","50"
132 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-11","0.00","0.0","0.0","54","67","50"
133 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-12","0.00","0.0","0.0","60","77","49"
134 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-13","0.00","0.0","0.0","67","85","52"
135 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-14","0.00","0.0","0.0","71","88","58"
136 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-15","0.00","0.0","0.0","65","69","54"
137 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-16","0.00","0.0","0.0","59","68","53"
138 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-17","0.00","0.0","0.0","58","67","53"
139 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-18","0.00","0.0","0.0","58","66","53"
140 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-19","0.04","0.0","0.0","60","72","45"
141 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-20","0.00","0.0","0.0","60","68","55"
142 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-21","0.00","0.0","0.0","60","72","54"
143 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-22","0.00","0.0","0.0","63","79","51"
144 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-23","0.00","0.0","0.0","68","80","55"
145 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-24","0.00","0.0","0.0","62","70","54"
146 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-25","0.00","0.0","0.0","60","68","52"
147 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-26","0.00","0.0","0.0","59","68","52"
148 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-27","0.00","0.0","0.0","60","75","51"
149 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-28","0.00","0.0","0.0","61","70","52"
150 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-29","0.00","0.0","0.0","58","65","50"
151 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-30","0.00","0.0","0.0","56","67","48"
152 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-05-31","0.00","0.0","0.0","56","67","49"
153 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-01","0.00","0.0","0.0","56","68","48"
154 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-02","0.00","0.0","0.0","62","77","54"
155 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-03","0.01","0.0","0.0","61","63","53"
156 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-04","0.00","0.0","0.0","55","69","49"
157 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-05","0.00","0.0","0.0","58","69","49"
158 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-06","0.00","0.0","0.0",,"75","51"
159 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-07","0.00","0.0","0.0",,"68","55"
160 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-08","0.25","0.0","0.0",,"64","52"
161 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-09","0.09","0.0","0.0",,"63","49"
162 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-10","0.06","0.0","0.0",,"62","48"
163 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-11","0.00","0.0","0.0",,"68","48"
164 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-12","0.00","0.0","0.0",,"69","48"
165 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-13","0.02","0.0","0.0",,"67","53"
166 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-14","0.00","0.0","0.0",,"68","53"
167 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-15","0.00","0.0","0.0",,"73","53"
168 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-16","0.00","0.0","0.0",,"78","54"
169 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-17","0.00","0.0","0.0",,"88","58"
170 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-18","0.00","0.0","0.0",,"87","60"
171 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-19","0.00","0.0","0.0",,"85","57"
172 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-20","0.00","0.0","0.0",,"88","59"
173 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-21","0.00","0.0","0.0",,"69","58"
174 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-22","0.00","0.0","0.0",,"69","57"
175 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-23","0.07","0.0","0.0",,"72","56"
176 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-24","0.13","0.0","0.0",,"79","54"
177 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-25","0.00","0.0","0.0",,"71","55"
178 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-26","0.00","0.0","0.0",,"73","53"
179 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-27","0.00","0.0","0.0",,"67","54"
180 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-28","0.00","0.0","0.0",,"69","53"
181 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-29","0.00","0.0","0.0",,"72","55"
182 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-06-30","0.00","0.0","0.0",,"66","56"
183 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-01","0.04","0.0","0.0",,"71","56"
184 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-02","0.00","0.0","0.0",,"70","53"
185 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-03","0.00","0.0","0.0",,"76","50"
186 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-04","0.00","0.0","0.0",,"83","57"
187 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-05","0.00","0.0","0.0",,"85","59"
188 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-06","0.00","0.0","0.0",,"78","60"
189 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-07","0.01","0.0","0.0",,"74","58"
190 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-08","0.00","0.0","0.0",,"81","58"
191 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-09","0.00","0.0","0.0",,"72","57"
192 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-10","0.00","0.0","0.0",,"78","58"
193 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-11","0.00","0.0","0.0",,"82","59"
194 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-12","0.00","0.0","0.0",,"89","59"
195 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-13","0.00","0.0","0.0",,"85","61"
196 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-14","0.00","0.0","0.0",,"87","58"
197 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-15","0.00","0.0","0.0",,"93","63"
198 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-16","0.00","0.0","0.0",,"92","63"
199 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-17","0.00","0.0","0.0",,"85","60"
200 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-18","0.00","0.0","0.0",,"77","58"
201 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-19","0.00","0.0","0.0",,"70","54"
202 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-20","0.00","0.0","0.0",,"74","55"
203 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-21","0.00","0.0","0.0",,"79","56"
204 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-22","0.00","0.0","0.0",,"86","61"
205 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-23","0.00","0.0","0.0",,"90","63"
206 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-24","0.00","0.0","0.0",,"91","59"
207 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-25","0.00","0.0","0.0",,"92","62"
208 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-26","0.00","0.0","0.0",,"92","60"
209 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-27","0.00","0.0","0.0",,"88","57"
210 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-28","0.00","0.0","0.0",,"85","58"
211 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-29","0.00","0.0","0.0",,"94","60"
212 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-30","0.00","0.0","0.0",,"89","62"
213 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-07-31","0.00","0.0","0.0",,"80","60"
214 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-01","0.00","0.0","0.0",,"75","59"
215 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-02","0.02","0.0","0.0",,"70","58"
216 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-03","0.01","0.0","0.0",,"76","59"
217 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-04","0.00","0.0","0.0",,"81","58"
218 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-05","0.00","0.0","0.0",,"86","59"
219 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-06","0.00","0.0","0.0",,"89","59"
220 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-07","0.00","0.0","0.0",,"92","60"
221 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-08","0.00","0.0","0.0",,"94","62"
222 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-09","0.00","0.0","0.0",,"93","60"
223 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-10","0.00","0.0","0.0",,"82","62"
224 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-11","0.05","0.0","0.0",,"72","62"
225 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-12","0.00","0.0","0.0",,"73","59"
226 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-13","0.00","0.0","0.0",,"79","59"
227 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-14","0.00","0.0","0.0",,"85","62"
228 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-15","0.00","0.0","0.0",,"86","61"
229 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-16","0.00","0.0","0.0",,"73","58"
230 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-17","0.00","0.0","0.0",,"74","54"
231 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-18","0.00","0.0","0.0",,"81","55"
232 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-19","0.00","0.0","0.0",,"80","58"
233 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-20","0.00","0.0","0.0",,"81","57"
234 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-21","0.00","0.0","0.0",,"91","65"
235 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-22","0.00","0.0","0.0",,"89","59"
236 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-23","0.01","0.0","0.0",,"73","57"
237 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-24","0.00","0.0","0.0",,"69","56"
238 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-25","0.00","0.0","0.0",,"64","53"
239 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-26","0.11","0.0","0.0",,"65","57"
240 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-27","0.00","0.0","0.0",,"76","56"
241 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-28","0.00","0.0","0.0","67","84","55"
242 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-29","0.00","0.0","0.0","68","77","57"
243 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-30","0.00","0.0","0.0","66","73","60"
244 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-08-31","0.00","0.0","0.0","64","69","58"
245 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-09-01","0.00","0.0","0.0","63","73","57"
246 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-09-02","0.00","0.0","0.0","63","76","52"
247 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-09-03","0.00","0.0","0.0","66","74","58"
248 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-09-04","0.00","0.0","0.0","64","77","55"
249 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-09-05","0.00","0.0","0.0","67","82","57"
250 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-09-06","0.00","0.0","0.0","69","85","56"
251 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-09-07","0.05","0.0","0.0","65","75","56"
252 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-09-08","0.04","0.0","0.0","62","71","58"
253 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-09-09","0.13","0.0","0.0","65","75","57"
254 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-09-10","0.00","0.0","0.0","63","68","58"
255 | "USW00024233","SEATTLE TACOMA INTERNATIONAL AIRPORT, WA US","47.4444","-122.3138","112.8","2018-09-11","0.00","0.0","0.0","61","67","56"
256 |
--------------------------------------------------------------------------------
/course-lessons-project/project2-order-management-system/README.md:
--------------------------------------------------------------------------------
1 | # Creating an Orders System
2 |
3 | ## Create the DynamoDB Table
4 |
5 | 1. Navigate to the DynamoDB portion of the AWS Console
6 | 2. Create a Table `PenguinOrders`
7 | - Pick Partition Key (`order_id`) and optional sort key (`item_id`)
8 | - Uncheck use defaults
9 | - Mention LSI/GSI (You can look at the CDA and Labs for this)
10 | - Set read/write capacity (Manually to 5 units each)
11 | - Consider AutoScaling/Encryption but not in this case
12 | - Create table
13 |
14 | ## Setting up the Script to Send in Data
15 | 1. Install dependencies and setup Python environment
16 | ```bash
17 | python3 -m venv venv
18 | source venv/bin/activate
19 | pip install -r requirements.txt
20 | ```
21 | 2. Make sure the table name is correct
22 | 3. Check that the credentials are correct with `aws dynamodb list-tables` to check that the table is there.
23 | 4. Run the script `python orders.py` OR `import orders` and `orders.write_orders()`
24 | 5. Pause it after a few entries and check that it works
25 | ```bash
26 | aws dynamodbstreams list-streams
27 | aws dynamodbstreams describe-stream --stream-arn STREAM_ARN
28 | # with most recent shard id:
29 | aws dynamodbstreams get-shard-iterator --stream-arn STREAM_ARN --shard-id SHARD_ID --shard-iterator-type LATEST
30 | # Use initial shard iterator, show nothing there,
31 | # then add records and use the next shard iterator
32 | aws dynamodbstreams get-records --shard-iterator "QUOTED_SHARD_ITERATOR"
33 | ```
34 | 6. Move on to creating the Lambda Function and ElasticSearch Cluster
35 |
36 | ## Creating the Lambda Function
37 | 1. Build the function package with
38 | ```bash
39 | mkdir build && cd build
40 | pip install -r ../prod-requirements.txt -t .
41 | cp ../lambda_function.py .
42 | zip -r ../package.zip ./*
43 | cd ..
44 | rm -r build
45 | mv ./package.zip ~/Desktop
46 | ```
47 | 2. Deploy the `package.zip` file in the AWS Console
48 | 3. Set a role for it that has permissions we need later
49 | Role:
50 | ```json
51 | {
52 | "Version": "2012-10-17",
53 | "Statement": [
54 | {
55 | "Effect": "Allow",
56 | "Action": [
57 | "es:ESHttpPost",
58 | "es:ESHttpPut",
59 | "dynamodb:DescribeStream",
60 | "dynamodb:GetRecords",
61 | "dynamodb:GetShardIterator",
62 | "dynamodb:ListStreams",
63 | "logs:CreateLogGroup",
64 | "logs:CreateLogStream",
65 | "logs:PutLogEvents"
66 | ],
67 | "Resource": "*"
68 | }
69 | ]
70 | }
71 | ```
72 | And trust relationship:
73 | ```json
74 | {
75 | "Version": "2012-10-17",
76 | "Statement": [
77 | {
78 | "Effect": "Allow",
79 | "Principal": {
80 | "Service": "lambda.amazonaws.com"
81 | },
82 | "Action": "sts:AssumeRole"
83 | }
84 | ]
85 | }
86 | ```
87 | 4. Setup a trigger with DynamoDB streams using LATEST
88 | 5. Test it by briefly starting the script up again and seeing the function run and print to logs
89 |
90 | ## Creating the ElasticSearch Cluster
91 | 1. Create a cluster in ElasticSearch
92 | Name - `penguinorders`
93 | ES Version - 6.3
94 | Size - `t2.small.elasticsearch`
95 | Role - Open with IAM restrictions to the account and my IP?
96 | 2. Revisit the Role for the Lambda Function
97 | 3. Create an index in Kibana - `PUT orders` in the Dev Tools
98 | 4. Update the endpoint in the Lambda Function code
99 | 4. Test sending in data with the Lambda function by running the script again breifly
100 |
101 | ## Running and Testing Our Entire Order System
102 | 1. Run the script again and monitor the different areas you should see data moving through
103 | 2. DynamoDB - New Items
104 | 3. Lambda - Function Executions
105 | 4. ElasticSearch - New Indexed Documents
106 | 5. Leave the script running for 10ish min so that it can generate enough data for the data pipeline
107 |
108 |
109 |
110 |
--------------------------------------------------------------------------------
/course-lessons-project/project2-order-management-system/dev-requirements.txt:
--------------------------------------------------------------------------------
1 | boto3==1.9.13
2 | botocore==1.12.13
3 | certifi==2018.8.24
4 | chardet==3.0.4
5 | docutils==0.14
6 | elasticsearch==6.3.1
7 | Faker==0.9.0
8 | idna==2.7
9 | jmespath==0.9.3
10 | python-dateutil==2.7.3
11 | requests==2.19.1
12 | requests-aws4auth==0.9
13 | s3transfer==0.1.13
14 | six==1.11.0
15 | text-unidecode==1.2
16 | urllib3==1.23
17 |
--------------------------------------------------------------------------------
/course-lessons-project/project2-order-management-system/lambda_function.py:
--------------------------------------------------------------------------------
1 | import json
2 | import boto3
3 | import time
4 | from elasticsearch import Elasticsearch, RequestsHttpConnection
5 | from requests_aws4auth import AWS4Auth
6 |
7 | s3 = boto3.client('s3')
8 | sts = boto3.client('sts')
9 |
10 | ES_URL = "search-iaohsdayfsdghv-asidurftas6i7r3fteyasd.us-east-1.es.amazonaws.com"
11 | credentials = boto3.Session().get_credentials()
12 |
13 | awsauth = AWS4Auth(
14 | credentials.access_key,
15 | credentials.secret_key,
16 | 'us-east-1',
17 | 'es',
18 | session_token=credentials.token
19 | )
20 |
21 | es_client = Elasticsearch(
22 | hosts=[{'host': ES_URL, 'port': 443}],
23 | http_auth=awsauth,
24 | use_ssl=True,
25 | verify_certs=True,
26 | connection_class=RequestsHttpConnection
27 | )
28 |
29 | def record_order(doc):
30 | """Post an order to the ES Cluster index"""
31 | es_client.index(
32 | index="orders",
33 | doc_type="order",
34 | body=doc
35 | )
36 |
37 | def lambda_handler(event, context):
38 | for record in event['Records']:
39 | es_doc = {}
40 | print(event)
41 | if record['eventName'] == 'INSERT':
42 | es_doc['item_id'] = record['dynamodb']['NewImage']['item_id']['S']
43 | es_doc['item_name'] = record['dynamodb']['NewImage']['item_name']['S']
44 | es_doc['item_total'] = record['dynamodb']['NewImage']['item_total']['S']
45 | es_doc['customer_name'] = record['dynamodb']['NewImage']['customer_name']['S']
46 | if ES_URL == "":
47 | print('Empty string')
48 | print(es_doc)
49 | else:
50 | print('elseing it up')
51 | print(es_doc)
52 | record_order(json.dumps(es_doc))
53 | time.sleep(1)
54 | else:
55 | pass
56 |
--------------------------------------------------------------------------------
/course-lessons-project/project2-order-management-system/orders.py:
--------------------------------------------------------------------------------
1 | import boto3
2 | import uuid
3 | import random
4 | import time
5 |
6 | from faker import Faker
7 |
8 | dynamodb = boto3.resource('dynamodb')
9 | table = dynamodb.Table('PenguinOrders')
10 | fake = Faker()
11 |
12 | # NO ANIMIALS WERE HARMED CREATING THIS CLOTHING
13 | manufacturers = [
14 | ['PenguinPolar', 1.8],
15 | ['Glacier', 1.3],
16 | ['Iceeeey', 0.6],
17 | ['Artic', 0.89],
18 | ['S-PoleStyle', 0.7],
19 | ['Terran', 0.8],
20 | ['IceShelf', 1.0],
21 | ['Husky', 1.1],
22 | ]
23 |
24 | items = [
25 | ['Sled', 70],
26 | ['Parka', 20],
27 | ['Crampon', 135],
28 | ['Carabiner', 3],
29 | ['Snowshoes', 235],
30 | ['Sunglasses', 30],
31 | ['Ice Pick', 85],
32 | ['Fishing Rod', 189]
33 | ]
34 |
35 | order_ids = []
36 | num_ids = 0
37 | # 2000 possible orders to group the items into
38 | while num_ids < 2000:
39 | order_ids.append(str(uuid.uuid4()))
40 | num_ids = num_ids + 1
41 |
42 |
43 | def create_order_data():
44 | manufacturer = random.choice(manufacturers)
45 | item = random.choice(items)
46 | order = {}
47 | order['order_id'] = random.choice(order_ids)
48 | order['item_id'] = str(uuid.uuid4())
49 | order['item_name'] = manufacturer[0] + ' ' + item[0]
50 | order['item_type'] = item[0]
51 | order['item_sku'] = order['item_name'][0:4].upper().replace('-', '')
52 | order['color'] = fake.color_name()
53 | order['item_price'] = str(round(manufacturer[1] * item[1])+.99)
54 | order['item_tax'] = str(round((float(order['item_price']) * .03), 2))
55 | order['item_total'] = str(
56 | float(order['item_price']) + float(order['item_tax'])
57 | )
58 | order['item_manufacturer'] = manufacturer[0]
59 | order['customer_name'] = fake.name()
60 | order['customer_phone_number'] = fake.phone_number()
61 | return order
62 |
63 |
64 | def send_to_dynamodb(item):
65 | print('Sending item to DynamoDB: ' + str(item))
66 | table.put_item(Item=item)
67 |
68 |
69 | def write_orders():
70 | n = 0
71 | while n < 100000:
72 | time.sleep(.25)
73 | n = n + 1
74 | # Create random order
75 | new_order = create_order_data()
76 | # When true, used to occassionally throw
77 | # out things that aren't PenguinPolar
78 | condition1 = [
79 | new_order['item_manufacturer'] != 'PenguinPolar',
80 | random.randint(1, 101) > 70
81 | ]
82 | # When true, used to occassionally throw out
83 | # things that aren't Sunglasses or Carabiners
84 | condition2 = [
85 | new_order['item_type'] not in ['Sunglasses', 'Carabiner'],
86 | random.randint(1, 101) > 70
87 | ]
88 | # When true, used to occassionally throw out
89 | # Ice Pick and Crampons
90 | condition3 = [
91 | new_order['item_type'] in ['Ice Pick', 'Crampon'],
92 | random.randint(1, 101) > 20
93 | ]
94 | if all(condition1) or all(condition2) or all(condition3):
95 | new_order = create_order_data()
96 | send_to_dynamodb(new_order)
97 | else:
98 | send_to_dynamodb(new_order)
99 |
100 |
101 | if __name__ == '__main__':
102 | write_orders()
103 |
--------------------------------------------------------------------------------
/course-lessons-project/project2-order-management-system/prod-requirements.txt:
--------------------------------------------------------------------------------
1 | certifi==2018.8.24
2 | chardet==3.0.4
3 | elasticsearch==6.3.1
4 | idna==2.7
5 | requests==2.19.1
6 | requests-aws4auth==0.9
7 | urllib3==1.23
8 |
--------------------------------------------------------------------------------
/course-lessons-project/project3-spark-emr-referral-data/README.md:
--------------------------------------------------------------------------------
1 | ## Create an AWS EMR Cluster
2 |
3 | 1. Navigate to the EMR portion of the AWS console
4 | 2. Press "create cluster"
5 | 3. General configuration: a) Give the cluster a name, b) Configure logging with an S3 logging bucket, c) Set a launch mode (Cluster)
6 | 3. Software configuration: a) emr-5.16.0, b) Applications = Spark: Spark 2.3.1 ... No AWS Glue
7 | 4. Hardware configuration - a) m4.large b) 3 instances
8 | 5. Create a keypair, default permissions
9 | 6. Spin up cluster
10 |
11 | ## Login to the Cluster
12 |
13 | 1. Connect to the cluster via SSH with a command that looks like this: `ssh -i ~/Downloads/yoursshkey.pem hadoop@ec2-11-234-567-89.compute-1.amazonaws.com`
14 | 2. Respond yes to the prompt
15 | 3. After the machine has loaded you can now use Spark!
16 |
17 | ## Using Spark and PySpark
18 |
19 | 1. You can enter the PySpark shell with the `pyspark` command. This command starts up the PySpark shell and makes the Spark Context `sc` object available to you without having to do anything else.
20 | 2. If you want to be a rebel, you can enter the Scala shell with the `spark-shell` command.
21 |
22 | ## Processing Data with PySpark
23 |
24 | 0. Create a new bucket with `aws s3 mb s3://penguin-outfitters-adpubdata`
25 | 1. Load `data.csv` into S3 through the AWS console or the AWS CLI with `aws s3 cp ./data.csv s3://penguin-outfitters-adpubdata/data.csv`
26 | 2. Copy and paste the code from advertisers.py into the PySpark console
27 | 3. See the output result to S3
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/course-lessons-project/project3-spark-emr-referral-data/advertisers.py:
--------------------------------------------------------------------------------
1 | # ./bin/pyspark
2 |
3 | import csv
4 | import json
5 |
6 | # Get raw data
7 | # Assumes headers are not present in files that are processed
8 | rawAdPubData = sc.textFile("s3://penguin-outfitters-adpubdata/data.csv")
9 |
10 | cleanAdPubData = rawAdPubData.map(lambda line: list(csv.reader([line])))
11 |
12 | # Sample the cleaned data
13 | # cleanAdPubData.take(2)
14 |
15 | # Remove the advertiser dimension and get a key value tuple in the form:
16 | # ((publisher, datestring), sale_amount)
17 | CleanPubData = cleanAdPubData.map(
18 | lambda row: (((row[0][1]), (row[0][2])), float(row[0][3]))
19 | )
20 |
21 | # Sampled the even cleaner data
22 | # CleanPubData.take(2)
23 |
24 |
25 | # Calculate publisher earnings based on 25% of goods sold
26 | publisherDailyPayments = CleanPubData.aggregateByKey(
27 | 0,
28 | lambda a,b: a+b*.25,
29 | lambda c,d: c+d
30 | )
31 |
32 | def toJSONLine(data):
33 | return [data[0][0],data[0][1],str(round(data[1],2))]
34 |
35 | # Sample what it looks like when we send the data back out
36 | # publisherDailyPayments.map(toJSONLine).take(2)
37 |
38 | # Flatten the data back into a format that can be sent to JSON
39 | pubDailyPaymentsFlat = publisherDailyPayments.map(toJSONLine)
40 |
41 | # Collect all the data into a single file (not usually what you'd do)
42 | pubDailyPaymentsFlat.coalesce(1).toDF().write.save(
43 | "s3://penguin-outfitters-adpubdata/adPubResultsjson",
44 | format="json"
45 | )
46 |
--------------------------------------------------------------------------------
/course-lessons-project/project3-spark-emr-referral-data/data.csv:
--------------------------------------------------------------------------------
1 | Heidenreich-Skiles,Herman Group,04/04/2018,38.52
2 | Roob Inc,Brekke Inc,06/08/2018,100.25
3 | "Dickens, Reinger and Gerlach","Kreiger, Bogisich and Nolan",04/17/2018,245.48
4 | "Sawayn, Okuneva and Jacobson",Wuckert-Cole,04/12/2018,95.25
5 | "Witting, Koss and Stoltenberg",Carroll-Predovic,04/23/2018,38.81
6 | "Simonis, Roberts and McDermott",Abshire and Sons,04/24/2018,44.70
7 | Hoeger-Daniel,"Price, Jast and Johnston",04/26/2018,238.74
8 | Rippin and Sons,Farrell and Sons,06/11/2018,119.52
9 | "Morissette, Nolan and Bartoletti",Shanahan LLC,06/25/2018,231.61
10 | Schiller Inc,Gaylord-Donnelly,06/01/2018,123.69
11 | Hegmann-Ebert,McClure-Kassulke,05/16/2018,94.31
12 | Hermiston LLC,Walter Group,05/13/2018,104.57
13 | Kutch LLC,Hyatt Inc,05/15/2018,41.30
14 | Robel and Sons,Huels Inc,05/01/2018,44.82
15 | Stracke and Sons,Ondricka and Sons,04/17/2018,92.30
16 | Orn-Murphy,Klocko-Carter,05/24/2018,227.27
17 | "Satterfield, Kuphal and Gulgowski","Moore, Daniel and Jerde",04/19/2018,241.55
18 | Pollich LLC,"Rogahn, Ullrich and Rutherford",06/25/2018,69.41
19 | Becker-Pfannerstill,Heaney LLC,06/27/2018,90.55
20 | "Cormier, Runte and West","Boyer, Hermiston and Lynch",06/09/2018,162.57
21 | Botsford-Ferry,Quigley and Sons,05/29/2018,91.27
22 | "Hilll, Schiller and Johnston",Schuster-Pacocha,04/11/2018,108.34
23 | Murazik-Abbott,Rolfson Inc,06/02/2018,129.81
24 | Hilll Group,Doyle-Bayer,04/27/2018,136.21
25 | "Medhurst, Cremin and O'Hara",Purdy LLC,06/13/2018,209.78
26 | "Harris, Kohler and Simonis",Johns and Sons,06/22/2018,172.48
27 | Jacobs-Carter,Torphy-Breitenberg,04/28/2018,48.95
28 | Connelly-Ward,Murazik Inc,05/17/2018,106.65
29 | "Anderson, Schimmel and Stamm",Doyle-Graham,06/04/2018,192.86
30 | Mayer Inc,Glover-Terry,04/07/2018,137.77
31 | Howe-Turcotte,Schaefer and Sons,04/17/2018,104.49
32 | Hilll Inc,"Marvin, Hammes and Gutkowski",05/15/2018,131.92
33 | "Halvorson, Denesik and Rippin",Hessel-Balistreri,04/02/2018,178.61
34 | "Maggio, Mayert and Hilpert",Braun-Schuppe,04/12/2018,236.96
35 | "Considine, Swift and Koss",Gleichner-Schamberger,05/26/2018,222.46
36 | Kihn Group,Zulauf Group,06/26/2018,79.95
37 | Huel-Donnelly,Christiansen-Wolff,04/29/2018,188.74
38 | Mante Group,Hudson Group,06/24/2018,91.51
39 | "Collins, Mayer and Daniel",Stiedemann-Herzog,04/14/2018,81.37
40 | Kemmer Group,Wintheiser LLC,05/27/2018,176.68
41 | Walter Inc,"Smith, Hilpert and Cremin",05/14/2018,117.56
42 | "Runolfsson, Toy and Marquardt",Walter-Schroeder,04/05/2018,233.53
43 | "Kuhic, Gulgowski and Mohr","Weber, Leuschke and Bayer",04/12/2018,210.10
44 | Kilback Group,DuBuque and Sons,06/13/2018,240.21
45 | Runte Group,"Shields, Rowe and Bechtelar",04/28/2018,164.38
46 | Herman Group,"Zulauf, Reichert and Sawayn",04/14/2018,173.11
47 | "Durgan, Metz and Bosco","Oberbrunner, Pouros and Tromp",04/19/2018,232.80
48 | Hermann-Hintz,McClure-Olson,04/14/2018,154.81
49 | Roberts-Metz,Sporer-Thiel,04/09/2018,112.43
50 | Runolfsdottir and Sons,Hackett Group,04/13/2018,41.68
51 | "Wintheiser, Mertz and Bauch",Collier-Harvey,04/15/2018,117.79
52 | Crooks-Ziemann,"Dare, Satterfield and Morar",04/28/2018,161.03
53 | Armstrong Group,Ryan-Kuhn,05/27/2018,229.20
54 | Corkery-Crist,Auer-Hartmann,04/07/2018,230.59
55 | "Marquardt, Dicki and Schiller","Feeney, Roob and Nienow",04/04/2018,104.01
56 | Hahn and Sons,Borer Group,05/07/2018,86.66
57 | Hills LLC,Runolfsson-Bernhard,05/27/2018,85.04
58 | "Leannon, Cremin and Welch",Rogahn-O'Keefe,05/13/2018,107.60
59 | "Carroll, Kiehn and Lebsack",Dickens-Lakin,05/21/2018,157.81
60 | Farrell-Schaefer,"Runolfsson, Lockman and Stokes",06/20/2018,201.26
61 | Little LLC,"Hegmann, Howe and Rosenbaum",06/24/2018,232.75
62 | "Leffler, Swift and Wehner","Balistreri, Toy and Simonis",04/17/2018,115.56
63 | Oberbrunner Inc,Borer-Doyle,04/16/2018,49.68
64 | Altenwerth-Waelchi,Rau Group,04/30/2018,43.22
65 | "Rau, Kiehn and Hagenes","Halvorson, Ryan and Zemlak",06/23/2018,235.03
66 | Thompson-Batz,"Bartoletti, Adams and Kshlerin",05/26/2018,54.91
67 | "Muller, Shields and Ankunding","Breitenberg, Farrell and Hand",04/05/2018,170.03
68 | MacGyver-Bernier,Farrell-Hayes,05/06/2018,80.54
69 | "Padberg, Wiza and Kuhlman",Reichel Inc,04/07/2018,90.38
70 | Reinger LLC,Bernhard LLC,06/28/2018,248.11
71 | Zieme-Bayer,"Grimes, Roberts and Moen",04/30/2018,126.35
72 | Rowe LLC,"Olson, Okuneva and Wintheiser",04/05/2018,170.04
73 | Cremin-Wisozk,"Becker, Medhurst and Denesik",05/09/2018,58.05
74 | Mayer LLC,Vandervort and Sons,05/08/2018,204.40
75 | Greenholt LLC,Bernier-Cassin,05/09/2018,226.23
76 | "Nikolaus, Von and Turcotte",Huel Group,06/24/2018,39.94
77 | Lowe LLC,Watsica Group,05/19/2018,69.12
78 | "Cormier, Hane and Stokes","Will, Labadie and Koelpin",05/20/2018,122.19
79 | "Leannon, Smitham and McClure",Morar-Hahn,05/24/2018,141.88
80 | Konopelski-Lakin,Bruen-Hessel,05/25/2018,74.72
81 | Konopelski-Zboncak,Bartoletti Group,04/26/2018,184.04
82 | "Beahan, Sipes and Kemmer","Keebler, Toy and Purdy",04/08/2018,37.46
83 | McKenzie-Mertz,Buckridge and Sons,04/26/2018,45.82
84 | "Kozey, Olson and Schmeler",Greenholt LLC,04/23/2018,87.82
85 | Bartoletti LLC,Cormier-Johnston,04/10/2018,214.86
86 | Witting and Sons,Torphy LLC,04/22/2018,198.68
87 | "Fay, Wiza and Jacobi",Jones-O'Reilly,04/21/2018,209.12
88 | Sipes Inc,"Gulgowski, Ebert and Zieme",04/15/2018,99.61
89 | Spinka-Pollich,Ebert-Kshlerin,06/11/2018,246.55
90 | "Torphy, Berge and Russel",Ernser-Nikolaus,04/18/2018,177.58
91 | "Hills, Schneider and Fahey",Senger-Windler,06/24/2018,146.53
92 | Nienow-Schroeder,Blanda and Sons,05/04/2018,206.90
93 | Nolan-Crooks,Heller-Leuschke,06/04/2018,151.83
94 | Rempel and Sons,Turcotte Group,05/31/2018,41.01
95 | Fahey-Ferry,"Schamberger, Halvorson and Fay",04/13/2018,269.33
96 | "Schuster, Crooks and Nienow",Rolfson Inc,06/13/2018,163.11
97 | Wunsch-Waelchi,Fisher Group,05/15/2018,37.42
98 | Stoltenberg and Sons,Towne Group,05/28/2018,242.14
99 | "Feil, Berge and Kreiger","Gutmann, Legros and Ankunding",04/20/2018,68.19
100 | Corwin-Predovic,Schoen-Orn,05/01/2018,45.24
101 | "Graham, Marvin and Tillman",Quitzon-Dickens,06/16/2018,127.91
102 | "Farrell, Wyman and Stanton","Sipes, Hackett and Osinski",06/06/2018,243.39
103 | "Bosco, Lubowitz and Hammes",Bauch-Kling,06/17/2018,234.32
104 | Hahn-Hyatt,"Schamberger, Gulgowski and Miller",05/08/2018,146.33
105 | Weimann Group,Farrell Group,06/26/2018,42.91
106 | "Ferry, Nicolas and Reinger",Fritsch-Nikolaus,05/19/2018,122.10
107 | Bartoletti LLC,Bergnaum-McLaughlin,06/12/2018,228.94
108 | "Mraz, Cummings and Conn","Buckridge, Wolff and Luettgen",04/05/2018,166.41
109 | "Kub, Koelpin and Tromp",Ferry LLC,05/15/2018,147.05
110 | "Towne, Lockman and Pfeffer","Walker, Farrell and Bauch",04/01/2018,203.52
111 | Nikolaus Inc,"Daugherty, Olson and Runte",05/05/2018,95.57
112 | Adams-Marvin,"Konopelski, Gibson and Robel",05/08/2018,147.57
113 | "Glover, Thiel and Lang",Kassulke-Walter,04/05/2018,91.37
114 | Bauch Group,"Wiza, Bergnaum and Leffler",04/05/2018,95.17
115 | "Daniel, Trantow and Gislason",Weimann-Trantow,04/16/2018,188.02
116 | "Miller, Pacocha and Cummerata","Goyette, Ruecker and Bailey",06/03/2018,164.45
117 | "Ullrich, Friesen and Luettgen",Cole and Sons,06/21/2018,141.13
118 | "Marvin, Kuvalis and Jacobi","Armstrong, Stanton and Pfannerstill",05/24/2018,142.55
119 | Mosciski-Zboncak,Prosacco-Rau,04/05/2018,189.47
120 | Koelpin LLC,Koepp Group,04/25/2018,44.34
121 | Lynch-Cummings,Russel-Beier,05/19/2018,54.61
122 | "Lesch, Bosco and Kling",Cruickshank-Padberg,05/31/2018,117.90
123 | Koelpin-Kohler,"Rolfson, Connelly and Gerhold",04/21/2018,86.93
124 | Bergstrom Group,Bayer-Schulist,04/30/2018,136.36
125 | Pagac-Bailey,Watsica-Price,06/02/2018,226.59
126 | D'Amore-Heaney,"Willms, Kunde and Mertz",05/11/2018,46.37
127 | Botsford Group,"Quitzon, Kreiger and Bogan",06/26/2018,203.64
128 | Thiel-Steuber,"Will, Ankunding and Stracke",04/20/2018,149.66
129 | "Cole, Graham and McDermott","Thiel, Beer and Barrows",06/14/2018,124.02
130 | Wuckert Group,Cummings-Purdy,05/30/2018,161.83
131 | Hane and Sons,Orn Inc,05/10/2018,145.58
132 | "Beier, Willms and Ferry",Tillman-Ortiz,04/11/2018,237.39
133 | Zemlak-Rolfson,Stokes-Koelpin,05/25/2018,74.52
134 | Stehr LLC,Huel-Nolan,06/18/2018,109.58
135 | McClure-Borer,"Cartwright, Gleason and Kautzer",06/27/2018,79.40
136 | Baumbach-Quigley,"Wyman, Swaniawski and Haag",05/21/2018,102.28
137 | "Brekke, Will and Klocko",Frami-Daugherty,05/29/2018,49.59
138 | "Feest, Prohaska and Thiel",Grant-Senger,05/03/2018,165.58
139 | Sauer Group,Hickle and Sons,04/19/2018,166.27
140 | Baumbach-Flatley,Hartmann-Halvorson,06/05/2018,215.16
141 | Johns Inc,Kshlerin-Crist,05/23/2018,117.17
142 | "Kozey, Witting and Hansen",Bernier Inc,05/15/2018,54.47
143 | "Connelly, Marvin and Bayer",Hegmann LLC,04/03/2018,180.04
144 | "Mann, Gulgowski and Beatty",Cronin-Sanford,04/18/2018,246.28
145 | Batz LLC,"Langosh, Luettgen and Ortiz",06/01/2018,148.34
146 | Moen Inc,Tremblay-Christiansen,04/24/2018,166.44
147 | "Howe, Jast and Heaney",Walsh Group,04/14/2018,189.36
148 | Huels and Sons,Ward and Sons,06/27/2018,141.23
149 | Sauer-Labadie,"Bashirian, Batz and Homenick",05/17/2018,101.65
150 | Keebler-West,"Mante, Lesch and Grant",05/27/2018,91.42
151 | "Smith, Hansen and Effertz",Kertzmann LLC,06/09/2018,62.74
152 | Nolan and Sons,"Bailey, Pouros and McLaughlin",05/11/2018,158.71
153 | Medhurst Group,Miller-Koepp,04/09/2018,245.78
154 | Marquardt and Sons,"Pollich, Welch and Yost",06/12/2018,233.11
155 | Buckridge-Lemke,Crist LLC,05/10/2018,49.17
156 | Dickinson-Koelpin,Leannon Inc,04/07/2018,146.33
157 | Mraz Inc,Hettinger-Medhurst,05/29/2018,200.83
158 | Ratke and Sons,Keeling-Schamberger,05/02/2018,203.97
159 | "Bernhard, Mitchell and Lakin",Konopelski-Keeling,06/13/2018,39.62
160 | Dare-Jakubowski,Marquardt LLC,04/02/2018,177.66
161 | Effertz Inc,Parker Inc,05/12/2018,178.55
162 | Mraz-Robel,Anderson-Krajcik,06/13/2018,82.05
163 | "Yundt, Powlowski and Lebsack","Abshire, Moen and Schmitt",05/05/2018,151.34
164 | "Fahey, Schneider and Maggio","Beatty, Mante and Hirthe",04/16/2018,123.72
165 | Yundt Inc,"Greenholt, Parker and Friesen",04/24/2018,218.34
166 | "Gusikowski, West and Hodkiewicz",Cole and Sons,06/05/2018,38.20
167 | Konopelski-Weissnat,Waelchi-Mills,06/20/2018,192.75
168 | Pfeffer and Sons,Smitham and Sons,04/15/2018,196.24
169 | Kihn and Sons,Gerlach and Sons,06/08/2018,103.90
170 | Abernathy LLC,Gutmann LLC,05/05/2018,145.42
171 | Mitchell-Hoeger,Cummings and Sons,06/27/2018,246.86
172 | Orn-Murazik,VonRueden-Bartell,05/14/2018,215.50
173 | Kris Group,Hessel-Daugherty,06/23/2018,115.13
174 | Hansen Group,"Hudson, Tromp and Monahan",05/05/2018,41.56
175 | "Mohr, Schaden and Rutherford",Jerde Group,05/27/2018,160.00
176 | Witting Inc,"Bednar, Hahn and Stokes",05/31/2018,95.31
177 | "West, Towne and Hayes","Collins, McDermott and McClure",06/10/2018,392.67
178 | "Towne, Roberts and Murphy",Zulauf-Schuppe,04/13/2018,205.40
179 | Pfeffer Inc,"Cormier, Yost and Halvorson",04/16/2018,103.18
180 | Vandervort and Sons,Grady Group,04/04/2018,76.23
181 | Kemmer Inc,Veum Group,05/07/2018,137.73
182 | "Goodwin, Zboncak and Bergnaum",Armstrong-Swaniawski,05/23/2018,203.25
183 | "Kunze, Dibbert and Hills",Bosco-Frami,04/15/2018,159.56
184 | Stehr-Mertz,Watsica and Sons,04/05/2018,91.92
185 | Hammes-Kovacek,Hahn LLC,04/19/2018,203.53
186 | "Zboncak, Johns and Schuster",Bartell-Stoltenberg,05/30/2018,54.43
187 | Beer-Schneider,Rohan-Kutch,05/18/2018,143.57
188 | Hilpert Inc,Hauck-Schuppe,06/10/2018,58.84
189 | "Christiansen, Bailey and Kovacek",Hartmann-Hoeger,04/18/2018,228.08
190 | "Altenwerth, Zulauf and Bailey",Klein-Blick,04/02/2018,43.11
191 | Von-Altenwerth,"Waters, DuBuque and Heathcote",05/30/2018,246.14
192 | Breitenberg-Graham,Crooks and Sons,06/15/2018,99.71
193 | "Dickens, Schmitt and Kris","Nienow, Balistreri and Bins",06/03/2018,82.51
194 | "Schowalter, Baumbach and Kirlin",Cassin LLC,04/10/2018,46.96
195 | Mante-Runolfsdottir,Schumm-Jenkins,05/15/2018,104.47
196 | "Quitzon, Mohr and Hilpert",Crona Group,05/30/2018,149.85
197 | Sauer Inc,Satterfield and Sons,05/07/2018,219.83
198 | "Corkery, Adams and Kunde",Goyette Inc,05/10/2018,63.47
199 | Hermiston Inc,Heaney and Sons,05/16/2018,155.11
200 | "Jerde, Runte and Schmeler","Beatty, Kohler and Adams",06/20/2018,326.48
201 | "Shanahan, Klocko and Roberts",Schaefer Inc,06/08/2018,89.98
202 | McGlynn-Hermann,"Raynor, Greenfelder and Beatty",06/16/2018,173.28
203 | Jaskolski and Sons,Ratke-Leuschke,05/24/2018,198.01
204 | Kris and Sons,"Fisher, Luettgen and Wolf",06/21/2018,149.45
205 | "Kerluke, Hirthe and King","Schoen, Lynch and McLaughlin",06/16/2018,119.97
206 | "Ernser, Hamill and Bechtelar",Monahan and Sons,04/21/2018,238.63
207 | Medhurst-Pfeffer,"Brakus, Rogahn and Braun",04/16/2018,197.74
208 | Tillman LLC,"Huels, Reinger and Abshire",05/06/2018,180.87
209 | Bode-Wilderman,Dooley-Wilderman,06/02/2018,121.30
210 | Predovic LLC,"Denesik, Hayes and Marquardt",04/18/2018,100.90
211 | "Nienow, Bernhard and Rutherford","White, Feil and Carter",04/23/2018,156.09
212 | Altenwerth Inc,Sawayn-Stamm,06/28/2018,228.34
213 | Conn-Hoppe,Auer Group,06/22/2018,220.19
214 | "O'Reilly, Ebert and Weissnat",Champlin Group,06/26/2018,104.86
215 | "Prosacco, Schuppe and Witting",Bailey-Waters,05/18/2018,237.17
216 | Deckow-Gibson,Swaniawski Group,05/07/2018,131.95
217 | Runte Inc,"Rosenbaum, Maggio and Wehner",04/17/2018,187.14
218 | "Schumm, Johns and Prosacco","Hettinger, McCullough and Nolan",06/12/2018,49.80
219 | Runte Inc,Cassin Group,04/30/2018,179.84
220 | Lesch-Hackett,"Smith, Kunde and Frami",06/26/2018,77.95
221 | "Roob, Fritsch and Romaguera",Wehner-Medhurst,04/15/2018,50.44
222 | Conroy-Bechtelar,Ullrich-Murphy,06/23/2018,53.86
223 | Emmerich Group,Ferry and Sons,06/20/2018,55.73
224 | "Bogisich, Friesen and Jacobs",Considine-Schuster,06/11/2018,41.73
225 | "Emmerich, Murazik and Nienow",Herzog Group,04/17/2018,61.26
226 | McLaughlin Inc,"Kozey, Hilll and Fritsch",05/30/2018,77.03
227 | Reinger Inc,Stoltenberg-McKenzie,04/01/2018,204.96
228 | Bode-Kling,Donnelly LLC,05/20/2018,206.33
229 | Hartmann-Kerluke,Hintz Group,04/10/2018,58.03
230 | "Abbott, Mante and Veum","Hoeger, Lind and Fisher",04/12/2018,99.48
231 | MacGyver-Barrows,Collier-Murazik,04/17/2018,90.02
232 | "McCullough, Senger and Gaylord",Ullrich LLC,05/26/2018,152.02
233 | Cormier and Sons,Casper Group,06/24/2018,119.37
234 | "Buckridge, Friesen and Beer","Grant, Boehm and Rippin",05/12/2018,182.15
235 | "Sporer, Abbott and Runte",Herzog-Kohler,06/26/2018,95.19
236 | Rodriguez LLC,"Fisher, Pouros and Heaney",05/02/2018,214.56
237 | Smitham Inc,"Rowe, Schimmel and Murazik",04/06/2018,70.01
238 | "Halvorson, Kessler and Emmerich","Swift, VonRueden and Veum",06/03/2018,244.66
239 | Labadie Group,Dach-Larson,04/19/2018,224.96
240 | Rutherford and Sons,"Klein, Price and Barrows",04/24/2018,215.75
241 | "Kassulke, Borer and Johns",Bosco-Gerlach,05/06/2018,246.42
242 | Lakin Inc,Bergnaum Inc,05/10/2018,209.66
243 | Quigley Inc,Hoppe LLC,05/18/2018,119.31
244 | Daugherty LLC,Boehm-Brekke,05/15/2018,165.88
245 | "Schoen, Lebsack and Runolfsson","Sipes, Wolf and Hayes",04/29/2018,166.77
246 | Wolff-Ondricka,"Franecki, Ritchie and Gibson",04/28/2018,106.59
247 | "Windler, Hoeger and Von",Dickinson-Stoltenberg,06/04/2018,241.77
248 | Donnelly-Mitchell,"Gleason, McLaughlin and Toy",06/22/2018,122.59
249 | "Goldner, Sauer and Jast",Rempel-Herzog,06/28/2018,106.02
250 | Hilll and Sons,Dare-Brown,06/01/2018,231.37
251 | "Rodriguez, Heidenreich and Champlin","Hoeger, Runolfsdottir and Kihn",05/26/2018,163.18
252 | Skiles-Hermann,"Blanda, Rempel and Pouros",04/19/2018,109.17
253 | Stoltenberg-Leuschke,Schaefer-Bechtelar,05/11/2018,59.66
254 | Price-McGlynn,"Walsh, Kautzer and Wiegand",06/08/2018,80.81
255 | "Block, Ritchie and Bechtelar",McLaughlin-Jakubowski,04/15/2018,275.54
256 | Kuhlman-Schaefer,"Heller, Stamm and Johns",05/06/2018,146.90
257 | Wehner-Rodriguez,"Beahan, Becker and Sawayn",05/13/2018,94.03
258 | "Jenkins, Heidenreich and Walsh","Marks, Kemmer and Adams",05/28/2018,224.76
259 | Graham and Sons,Goldner-Brakus,04/01/2018,168.94
260 | "Bechtelar, Littel and Schmeler","Crist, Reichert and Rath",04/29/2018,58.72
261 | "Ratke, Ward and O'Keefe",Witting-Waelchi,04/25/2018,225.42
262 | Graham-Schaden,"Gerlach, Willms and Thiel",04/02/2018,180.80
263 | Walter-Willms,Paucek-Upton,05/07/2018,232.72
264 | Strosin-Carroll,Rodriguez-Fritsch,05/02/2018,49.88
265 | Russel and Sons,Stamm LLC,04/03/2018,111.85
266 | Dietrich Inc,"Krajcik, Willms and Pagac",04/14/2018,194.39
267 | Langworth Group,Cartwright-Roberts,05/15/2018,174.91
268 | "Blick, Breitenberg and Schmitt","Casper, Harris and Schimmel",04/18/2018,228.26
269 | Feeney-Kertzmann,"Gulgowski, Rosenbaum and Wilderman",04/04/2018,73.59
270 | "Kiehn, Connelly and Pfannerstill",Oberbrunner-Pollich,05/26/2018,101.49
271 | Bergnaum-Dare,Herzog-Parisian,04/25/2018,128.83
272 | Grady-Smitham,"Hegmann, Kling and Terry",04/12/2018,120.77
273 | Stamm-Gleichner,Haley Inc,05/21/2018,214.03
274 | Corwin LLC,"Weimann, Jerde and Moore",05/13/2018,122.03
275 | Kuhlman-Schmitt,Bogisich Group,05/08/2018,123.59
276 | "Murphy, Runolfsdottir and Dare",White-Cassin,06/07/2018,101.52
277 | Wolf LLC,Corwin-Crist,06/13/2018,130.17
278 | "Ryan, Heller and Walter",Jones Group,06/01/2018,50.28
279 | Schumm-Marquardt,Balistreri LLC,04/30/2018,204.43
280 | "Parisian, Bartell and Fritsch",Denesik and Sons,04/06/2018,96.96
281 | Sauer-Gleason,Wuckert-Runte,04/26/2018,174.34
282 | "Wiegand, Smith and Cormier","Barrows, Tromp and Marvin",04/20/2018,253.32
283 | Roberts-Purdy,Hilpert-Mitchell,04/05/2018,65.82
284 | Tromp-Yost,Shanahan and Sons,06/05/2018,107.12
285 | Tillman-Runte,Raynor and Sons,04/18/2018,43.52
286 | Cruickshank LLC,Wisozk-Rohan,05/04/2018,174.09
287 | Kunde-Hane,Grady-Davis,05/27/2018,130.66
288 | Lockman-Walsh,Hammes Group,04/07/2018,49.18
289 | Nolan LLC,Skiles and Sons,04/14/2018,50.98
290 | "Ledner, VonRueden and Bradtke",Mertz-Paucek,04/10/2018,198.80
291 | Hoeger and Sons,Strosin LLC,06/08/2018,112.32
292 | "Lemke, Zulauf and Hettinger",Schulist and Sons,06/28/2018,189.86
293 | Boehm-Nitzsche,Feest and Sons,06/06/2018,177.58
294 | Lang-Schimmel,Spinka LLC,05/30/2018,180.74
295 | D'Amore-Krajcik,Moore Group,05/22/2018,62.17
296 | Hayes and Sons,Morissette-Hilll,04/07/2018,114.46
297 | Conroy-Mraz,Koss Group,04/11/2018,190.48
298 | "Metz, Heathcote and Kris",Halvorson and Sons,05/12/2018,82.83
299 | "Romaguera, Gibson and Rogahn","Wintheiser, Maggio and Bradtke",04/01/2018,52.81
300 | Jacobs-Spencer,"Denesik, Tremblay and Pollich",04/28/2018,183.70
301 | "Altenwerth, Considine and Littel","Fahey, Schmeler and Kilback",05/27/2018,114.35
302 | Wolff and Sons,Nienow Inc,04/24/2018,205.81
303 | Waelchi LLC,"Wisoky, Rowe and Boyer",05/03/2018,55.61
304 | "Wiegand, Mills and Dare",Cummings-Gerlach,06/11/2018,186.16
305 | Lesch Inc,Pacocha Group,04/08/2018,245.13
306 | Reichert and Sons,"Wolf, Dare and Hahn",06/29/2018,139.01
307 | Schimmel LLC,Luettgen Inc,04/15/2018,108.18
308 | Gaylord-Nicolas,Kihn Group,05/18/2018,215.49
309 | "Balistreri, Muller and Graham",Franecki-Marquardt,04/12/2018,54.90
310 | Lehner Inc,Gislason-Haag,06/22/2018,99.99
311 | Dooley-Koepp,Marks-Gleason,04/17/2018,48.01
312 | Deckow-Collier,Lockman-Labadie,05/02/2018,134.65
313 | "Smitham, Wehner and Gaylord",Hansen-Predovic,04/05/2018,55.07
314 | "Blanda, Wilderman and Reichert",Schmidt-Welch,04/06/2018,106.17
315 | Goodwin-Marks,"Krajcik, Padberg and Renner",06/17/2018,168.06
316 | Spinka-Feil,Buckridge LLC,04/02/2018,222.52
317 | Baumbach-Gleason,West-Torphy,04/08/2018,100.26
318 | Buckridge LLC,O'Connell LLC,06/10/2018,106.47
319 | Ebert and Sons,"Von, Upton and O'Connell",05/30/2018,77.47
320 | Aufderhar LLC,Maggio LLC,06/03/2018,231.60
321 | McDermott Inc,"Veum, Rogahn and Nicolas",06/17/2018,171.73
322 | Emard-Daniel,"Lakin, Skiles and Parisian",04/22/2018,218.81
323 | Stokes-Effertz,Quitzon-Doyle,05/09/2018,111.26
324 | "Satterfield, Herman and Franecki","Stroman, Vandervort and Berge",04/14/2018,96.31
325 | "Purdy, Abbott and Sipes",Sawayn-Nader,04/27/2018,51.55
326 | "VonRueden, Nikolaus and Zemlak",Mante Inc,05/24/2018,134.14
327 | Gutkowski Group,"Cronin, Fahey and Waelchi",04/26/2018,247.65
328 | Padberg and Sons,Marks Inc,04/18/2018,53.21
329 | "Streich, Windler and Weimann",Bauch LLC,04/03/2018,220.23
330 | Paucek-Altenwerth,"Jenkins, Kris and Kling",05/10/2018,175.56
331 | "Ledner, Doyle and Swift",Block and Sons,04/20/2018,55.99
332 | Mertz and Sons,Ledner-Osinski,05/05/2018,242.86
333 | Vandervort-Armstrong,Harvey-Bailey,05/13/2018,125.68
334 | "Rosenbaum, Kuhlman and Littel","White, Kemmer and Kautzer",04/16/2018,106.04
335 | "Rau, Douglas and Wyman",Jaskolski and Sons,06/12/2018,223.71
336 | "Graham, Lind and Bechtelar","Jacobi, Prosacco and Schiller",05/13/2018,94.05
337 | "Considine, Weissnat and Stanton",Pfeffer-Mills,04/01/2018,245.75
338 | "Satterfield, Powlowski and Haag",Howell-Braun,04/22/2018,200.48
339 | "Lebsack, Dicki and Corwin","Hahn, Abshire and Jast",04/08/2018,216.25
340 | "Bednar, Leannon and Langosh",Gerlach-Friesen,05/27/2018,63.58
341 | "Bailey, Sawayn and Schulist",Lueilwitz and Sons,05/29/2018,117.07
342 | Schoen-Torp,"Hansen, Glover and Witting",05/14/2018,66.10
343 | Koelpin-Bruen,"Windler, Fritsch and Erdman",06/26/2018,220.91
344 | Hintz-Reichel,"Jast, Kub and Vandervort",05/08/2018,226.43
345 | "Boehm, Lockman and Goyette","Hoppe, Lesch and O'Conner",04/03/2018,201.41
346 | Hartmann Group,Boyle-Herman,05/25/2018,194.41
347 | Lemke and Sons,"Steuber, Stehr and Stehr",05/02/2018,121.86
348 | Johnston Group,Schiller LLC,04/12/2018,99.82
349 | Heaney-Koelpin,"Gislason, Hackett and Kulas",05/02/2018,150.30
350 | Hirthe-Tromp,Streich LLC,06/18/2018,231.08
351 | "Kassulke, Wunsch and Hoppe",Turner-Padberg,04/09/2018,199.29
352 | Rogahn-Lynch,"Leffler, Hills and Witting",06/15/2018,151.36
353 | Champlin LLC,"Auer, Haag and Murazik",05/24/2018,244.67
354 | Ullrich Inc,Marquardt Inc,04/25/2018,226.88
355 | "Olson, Brown and Block","Kuphal, Tillman and Barrows",06/08/2018,233.67
356 | "Hickle, Robel and Sawayn",Cremin-Swaniawski,06/07/2018,172.91
357 | Fritsch-Hansen,Schimmel LLC,04/07/2018,213.85
358 | Bruen-Mayer,Tromp-Wisoky,04/06/2018,183.64
359 | Ledner-Donnelly,Schoen Group,04/14/2018,63.73
360 | "Walker, Robel and Rutherford",Fadel Inc,04/15/2018,178.59
361 | Jakubowski-Dickens,Medhurst-Sanford,06/20/2018,59.24
362 | Batz-Wiza,Welch Group,05/17/2018,161.80
363 | "Monahan, Ebert and Wyman","McCullough, Reynolds and Cormier",06/22/2018,82.83
364 | "Bode, Marquardt and Stracke","Toy, Donnelly and Bode",05/04/2018,241.84
365 | Kunde-Wilkinson,Pacocha-Cummings,05/21/2018,117.08
366 | "Sporer, Lind and Grady","Mitchell, Heaney and Klocko",04/20/2018,99.52
367 | Rolfson LLC,Ferry-Bosco,06/11/2018,145.78
368 | Armstrong LLC,Zulauf Inc,05/17/2018,63.77
369 | Kuphal-Kulas,Rolfson Inc,04/23/2018,202.89
370 | Schoen-Lakin,Kub LLC,05/12/2018,51.47
371 | Mayert LLC,Gibson-Haley,05/14/2018,100.15
372 | Altenwerth-Marvin,"Nienow, Shanahan and Brakus",05/27/2018,65.60
373 | Hettinger-Rice,"Dach, Simonis and Murazik",05/02/2018,142.60
374 | Donnelly Group,Spinka Group,04/15/2018,38.95
375 | Hartmann-Fahey,Carter Group,04/03/2018,157.60
376 | Schamberger-Emmerich,Beatty-Yundt,06/06/2018,192.24
377 | Dare-Fay,Brakus LLC,04/15/2018,245.65
378 | "Wintheiser, Lang and Hickle",Fisher-Wiza,05/22/2018,167.45
379 | West-Bashirian,Walker-Stanton,05/15/2018,243.23
380 | Kautzer LLC,"Gleichner, Roob and Hahn",04/22/2018,119.72
381 | Harvey-Hermiston,Gibson LLC,05/09/2018,111.93
382 | Wilkinson LLC,Spinka-Wehner,05/15/2018,136.91
383 | "Hilpert, Stroman and Hand",Harvey-Zemlak,05/19/2018,153.66
384 | Wisoky Group,"Cole, Hayes and Trantow",06/01/2018,217.79
385 | Koss Group,Beer-Bednar,04/24/2018,59.59
386 | Leannon-Herzog,"Reichel, Wehner and McKenzie",06/08/2018,164.56
387 | Langosh Inc,Blanda-Pfannerstill,05/12/2018,186.06
388 | Stanton-Reynolds,"Schamberger, Heaney and Lind",06/29/2018,186.70
389 | Bailey Group,Kozey LLC,05/15/2018,82.42
390 | Mayert-Spencer,"Kiehn, Ryan and Luettgen",06/16/2018,235.62
391 | Blick-Kunde,Turcotte Group,05/02/2018,102.14
392 | Monahan LLC,"Schimmel, Graham and Koss",04/05/2018,202.13
393 | Muller-Koepp,Emard-Larson,06/01/2018,238.47
394 | "Mills, Reichert and Walker",Bosco-Dibbert,05/18/2018,81.87
395 | "Haley, Crooks and Stroman",Feeney Inc,05/28/2018,92.46
396 | Waelchi-Stark,Mayer Group,06/10/2018,193.86
397 | Mosciski-Greenfelder,"Ward, Denesik and Tremblay",05/01/2018,109.63
398 | Schaden Group,"Franecki, Spencer and Reichert",05/23/2018,178.70
399 | Effertz-Herzog,"MacGyver, Mohr and Sawayn",06/10/2018,220.28
400 | "Monahan, Mayert and Rosenbaum",Orn-Vandervort,04/14/2018,237.55
401 | Luettgen and Sons,"Braun, Smitham and Hartmann",06/27/2018,203.71
402 | "Boyer, Brakus and Cole",Gislason-Baumbach,05/28/2018,45.92
403 | "Witting, Stracke and Kuhic","Homenick, Lehner and Schmeler",04/10/2018,223.27
404 | Armstrong-Zboncak,Hermann-Roob,06/28/2018,180.74
405 | Cassin-Connelly,"Braun, Schumm and Davis",06/22/2018,109.61
406 | Lang LLC,Kessler and Sons,04/11/2018,113.65
407 | "Moore, Nader and Heidenreich",Hessel-Abshire,04/01/2018,87.61
408 | Bashirian Inc,Pacocha-Pollich,04/15/2018,48.16
409 | Sipes-Walsh,"Rice, Bode and Fritsch",04/13/2018,111.20
410 | Goldner and Sons,"Grimes, Gerlach and McClure",06/23/2018,112.96
411 | Feil Inc,Gorczany-Morissette,05/06/2018,76.98
412 | Gislason-Denesik,Prosacco-Jakubowski,05/09/2018,143.86
413 | Moore-Pfannerstill,"Upton, Dickens and Rau",05/08/2018,73.62
414 | Nader-Senger,"Waters, Lowe and Beatty",06/05/2018,154.82
415 | Kshlerin-Huels,"Bergnaum, Bruen and Schoen",05/13/2018,175.29
416 | Koss LLC,"Reinger, West and Cormier",04/03/2018,67.63
417 | Runolfsdottir-DuBuque,"Schmitt, Hirthe and Jacobs",05/07/2018,345.81
418 | Conroy Group,"Prohaska, McGlynn and Bode",06/09/2018,128.74
419 | Hammes-Ritchie,Schaefer-Becker,04/24/2018,209.27
420 | Thiel Group,"Jerde, Howell and Cummerata",05/23/2018,145.15
421 | "Nienow, Labadie and Cartwright",Rolfson Inc,04/01/2018,247.41
422 | "Turcotte, Murazik and Parker",Heller and Sons,05/14/2018,57.92
423 | Sauer-Cremin,Dach Inc,06/04/2018,50.24
424 | "Gorczany, Runolfsson and Bernhard",Davis-Herzog,06/01/2018,143.93
425 | Green-Howe,Willms-Breitenberg,04/19/2018,183.40
426 | "Lubowitz, Stiedemann and McCullough","Bogisich, Kuhn and Marks",05/07/2018,248.37
427 | Upton-Rice,Cruickshank-Kuvalis,04/15/2018,241.23
428 | Hamill-Weimann,Upton-Collier,05/03/2018,218.16
429 | "Mraz, Dicki and Marks","Braun, Hermiston and Stanton",06/21/2018,224.29
430 | Hodkiewicz-Beahan,Mayer-Koss,04/17/2018,94.34
431 | "Cronin, Romaguera and Kuvalis",Schmidt Inc,04/24/2018,162.56
432 | Corwin-Blick,Ruecker-Kreiger,05/05/2018,202.00
433 | "Dach, Hauck and Dooley","Feil, Hayes and Breitenberg",06/21/2018,160.53
434 | Turcotte-Pagac,Dickinson-Rolfson,05/01/2018,185.81
435 | Gottlieb LLC,"Thiel, Bailey and Gerlach",04/17/2018,188.36
436 | Goodwin Inc,Williamson-Larkin,05/08/2018,233.47
437 | Marquardt-Raynor,Bogan LLC,04/16/2018,165.19
438 | "Runte, O'Hara and Schiller",Boyer and Sons,06/17/2018,71.07
439 | "Dare, Bechtelar and Bahringer",Kozey-Cormier,04/23/2018,118.03
440 | Beahan Group,Turner-Crona,04/07/2018,174.58
441 | Abernathy-Walter,Maggio-Feeney,04/14/2018,195.41
442 | Konopelski Inc,Watsica LLC,04/18/2018,146.92
443 | "Bernhard, Miller and Braun",Pfannerstill LLC,06/29/2018,84.27
444 | "Buckridge, Farrell and Beer",McCullough-Watsica,06/10/2018,136.11
445 | Jaskolski Group,Roberts Inc,05/07/2018,44.79
446 | Balistreri and Sons,"Morar, Conn and Franecki",06/05/2018,179.84
447 | Feest LLC,Crooks-Medhurst,05/23/2018,114.79
448 | "Haag, Larson and Beier",Kiehn LLC,04/13/2018,148.73
449 | Blanda-Breitenberg,Maggio-Tremblay,06/22/2018,90.14
450 | "O'Hara, Skiles and Mohr","West, Boyer and Wiegand",04/28/2018,200.50
451 | "Rosenbaum, VonRueden and Gaylord",Cronin and Sons,05/01/2018,40.13
452 | "Luettgen, Terry and Hills","Klocko, Nikolaus and Grimes",04/24/2018,136.99
453 | Spencer LLC,Vandervort-Bins,05/28/2018,47.23
454 | Collier-Lynch,Towne-Witting,06/07/2018,129.28
455 | Ward-Morissette,Watsica-Gibson,04/14/2018,170.08
456 | "Stracke, Adams and Ratke",Reynolds and Sons,05/01/2018,109.57
457 | Goldner Group,"Gleason, Stokes and Hegmann",04/07/2018,185.45
458 | "Corkery, Dickinson and Lesch","Spinka, Sauer and Mertz",04/30/2018,545.97
459 | Bailey Inc,Collins-Berge,06/04/2018,158.30
460 | "Schmidt, Cummerata and McKenzie",Marquardt Inc,06/10/2018,156.81
461 | Langworth-Kovacek,"Kub, Gerlach and Hansen",05/21/2018,135.72
462 | Mueller Group,Kilback-Bruen,05/09/2018,201.35
463 | King-Schmeler,"Dickens, McGlynn and Cronin",06/17/2018,42.54
464 | "Schultz, Monahan and Kozey","Lemke, Koch and DuBuque",04/03/2018,221.91
465 | Hermiston-Powlowski,"Sawayn, Reynolds and Roob",06/09/2018,68.34
466 | Gorczany LLC,"DuBuque, Boehm and Grimes",06/23/2018,39.14
467 | "Heathcote, McClure and Heathcote",Gibson-Kiehn,05/26/2018,188.15
468 | Mueller-Champlin,"Torphy, Dooley and Schmitt",05/03/2018,215.03
469 | "Mraz, Feil and Marks","Sanford, Mueller and Langosh",06/23/2018,119.00
470 | Bruen-Torp,Tillman Inc,05/15/2018,236.86
471 | "Kunde, Schamberger and Labadie","Kub, Kirlin and Herzog",05/05/2018,70.40
472 | Franecki-Kozey,Frami-Pacocha,06/29/2018,75.85
473 | "Gorczany, White and Dicki","Beer, Rippin and Tillman",04/10/2018,179.84
474 | Rosenbaum LLC,Walter-Shanahan,05/28/2018,134.53
475 | Muller Group,"Brakus, Beier and Murray",06/24/2018,236.75
476 | "Hilll, Labadie and Auer",Heidenreich Group,04/23/2018,57.25
477 | Sawayn-Franecki,Kassulke and Sons,05/14/2018,180.45
478 | Mueller LLC,Larson-Prosacco,06/25/2018,45.66
479 | Schroeder-Murphy,King Inc,05/12/2018,221.91
480 | Koelpin Inc,Welch LLC,06/24/2018,172.82
481 | "Leannon, Herman and Vandervort",Powlowski-Lakin,05/02/2018,235.82
482 | Schiller and Sons,Walker LLC,04/08/2018,48.18
483 | "Schuppe, Stoltenberg and Ankunding",Stehr Inc,05/04/2018,97.84
484 | Marks LLC,"Brakus, Torp and Yost",06/14/2018,98.86
485 | "Hayes, Ferry and Predovic","Rodriguez, Reichel and Satterfield",06/11/2018,221.00
486 | "Wilderman, Gaylord and Schaefer",Grimes Group,05/27/2018,52.30
487 | "Schowalter, Koelpin and Ondricka",Stokes LLC,04/25/2018,175.72
488 | Armstrong Inc,"Herzog, Beatty and Kautzer",04/07/2018,37.53
489 | Bayer-Koss,"McLaughlin, Hettinger and Kautzer",05/02/2018,232.39
490 | Medhurst Inc,Williamson and Sons,04/22/2018,68.05
491 | Yost Inc,"Davis, Ondricka and Bruen",05/10/2018,180.14
492 | Mayer-Gutmann,"Casper, Gislason and Gerhold",05/07/2018,177.11
493 | "Mayert, Rogahn and Brown",Kirlin and Sons,05/27/2018,132.12
494 | Mann-Prohaska,"White, Raynor and Howe",05/20/2018,127.75
495 | Kub-Feeney,Kreiger-Donnelly,05/11/2018,167.84
496 | Sauer LLC,"Pagac, Larson and Block",05/07/2018,148.04
497 | O'Kon-Stiedemann,Torphy and Sons,04/16/2018,218.16
498 | Rohan-Greenfelder,"Batz, Daniel and Welch",06/28/2018,188.60
499 | Nienow and Sons,Will Inc,04/03/2018,153.79
500 | Osinski Inc,Russel-Murray,04/08/2018,184.95
501 | "Grant, Price and Walsh",Bode Group,04/12/2018,208.38
502 | "Stiedemann, Pacocha and Kiehn",Keeling-Hagenes,05/02/2018,174.17
503 | Douglas-Kris,Rath LLC,05/05/2018,202.36
504 | Hackett LLC,"Veum, Willms and Bogisich",05/05/2018,99.46
505 | Breitenberg Group,"O'Keefe, McCullough and Terry",06/20/2018,213.88
506 | "Batz, Stoltenberg and Nader",Stehr-Boehm,05/27/2018,56.44
507 | Johns and Sons,Fadel-Lindgren,06/01/2018,189.96
508 | Hintz Group,Rath Inc,04/02/2018,204.88
509 | Wilkinson and Sons,Durgan-Heaney,04/05/2018,103.26
510 | Berge-Swaniawski,Beahan-Hermiston,06/26/2018,48.24
511 | Crist-Jacobi,"DuBuque, Russel and Welch",05/29/2018,225.58
512 | Prohaska-West,Dicki Group,05/23/2018,178.73
513 | Beer-Casper,Walker Group,05/27/2018,246.58
514 | Runolfsson-Kreiger,Marquardt-Leffler,04/08/2018,170.62
515 | "Wolff, Ferry and Stoltenberg",Kuvalis and Sons,04/12/2018,215.23
516 | Wisoky Group,Rowe Inc,05/22/2018,168.00
517 | Farrell-Hilpert,"Hills, Steuber and Hessel",05/09/2018,152.50
518 | Walsh and Sons,"Kessler, Sawayn and Cartwright",04/26/2018,198.22
519 | Cummerata LLC,Wilderman Inc,04/06/2018,79.30
520 | Abbott-Blanda,"Steuber, Miller and Lakin",04/06/2018,80.14
521 | "Dickens, Johnston and Kris",Schmeler and Sons,04/16/2018,60.88
522 | "Rippin, Bayer and Tromp",Schinner-Klein,05/26/2018,121.79
523 | "Jacobson, Ondricka and Osinski",Zieme-Wolf,06/27/2018,235.40
524 | Sipes-Trantow,Mueller-Hackett,05/23/2018,46.44
525 | Blick-O'Hara,"Carroll, Conroy and Waelchi",05/02/2018,228.53
526 | "Osinski, Kub and Kunde","Keebler, Feeney and Watsica",05/07/2018,56.17
527 | McCullough-Labadie,"Kirlin, Emmerich and Mueller",06/12/2018,81.79
528 | Lebsack Group,Herman LLC,05/17/2018,224.01
529 | "Gaylord, Deckow and Morar","Lind, Heidenreich and Koepp",05/06/2018,166.93
530 | "Goodwin, Mayert and Mann","Corkery, Strosin and Wisoky",04/05/2018,86.04
531 | "Cassin, Jacobs and Barrows",McCullough-Hessel,05/26/2018,67.52
532 | Fisher Group,Fadel LLC,05/10/2018,130.34
533 | Walker-Okuneva,Keeling LLC,05/23/2018,138.18
534 | "Dibbert, Bosco and Swaniawski","Dooley, Jast and Block",06/27/2018,44.03
535 | Balistreri-Mills,Schuster and Sons,06/12/2018,154.43
536 | Powlowski-Murray,Wunsch-Kreiger,06/11/2018,171.20
537 | Armstrong-Pagac,"Aufderhar, Jakubowski and Spencer",05/07/2018,179.72
538 | "Boyle, Fay and Rau",Roob and Sons,05/28/2018,155.98
539 | Maggio Group,Lindgren-Schmidt,05/18/2018,83.58
540 | "Maggio, Ondricka and Spencer",Littel-Kuvalis,05/17/2018,106.30
541 | "Turner, Hilpert and Harvey",Johns LLC,06/22/2018,49.33
542 | Cole and Sons,Rice and Sons,04/10/2018,112.99
543 | Olson-Haley,"Schroeder, Skiles and Wiza",04/11/2018,206.77
544 | "Ziemann, Bartell and Bailey",Simonis-Mosciski,06/08/2018,46.84
545 | "Brown, Wintheiser and Ledner",Rogahn-Quitzon,05/23/2018,212.32
546 | "Murphy, D'Amore and Kutch",Legros-Blick,05/17/2018,216.99
547 | "Hills, Casper and Hayes","Pagac, Schimmel and Turcotte",05/01/2018,131.16
548 | Auer LLC,Howell and Sons,05/11/2018,61.99
549 | Grant-Murazik,"Leuschke, Farrell and Yost",04/04/2018,92.02
550 | Howe Inc,"Kozey, Hirthe and Bernhard",04/27/2018,234.75
551 | "Bruen, Kozey and Wisozk","Bednar, Carroll and Jaskolski",04/21/2018,235.15
552 | Nikolaus-Conn,"Streich, Prosacco and Leffler",05/04/2018,229.31
553 | Will LLC,Hackett Inc,05/02/2018,171.73
554 | Stehr LLC,Waelchi Inc,05/22/2018,52.90
555 | "Altenwerth, Stokes and Dicki","Ondricka, Grady and Volkman",06/01/2018,155.30
556 | Kohler-Feest,Ferry and Sons,04/09/2018,50.58
557 | Hoppe LLC,Upton-Hackett,04/12/2018,172.48
558 | Bartell Inc,"Rolfson, Koss and Kuhic",05/14/2018,189.27
559 | Bosco LLC,"Stamm, Lakin and Schimmel",06/26/2018,230.37
560 | "Schulist, Labadie and Hickle",Kerluke Group,05/16/2018,70.79
561 | Considine LLC,Runte-Satterfield,06/04/2018,186.06
562 | Beatty-Sauer,Jast-Crona,06/12/2018,242.07
563 | Zieme Inc,Schmitt-Kessler,04/06/2018,217.45
564 | Mueller-Hettinger,Heaney LLC,05/16/2018,173.52
565 | Grady Group,"Rolfson, Wilkinson and Mitchell",04/04/2018,130.65
566 | "Gutmann, Kassulke and Ferry",Kreiger-Senger,04/27/2018,207.68
567 | Grimes Group,"Ebert, Hackett and Gleason",06/25/2018,213.64
568 | Corkery LLC,Schoen LLC,05/17/2018,60.56
569 | "Fay, Windler and Willms",Bergstrom and Sons,06/02/2018,55.91
570 | Kovacek-Hodkiewicz,Bailey-Powlowski,05/01/2018,106.67
571 | Mayer-Donnelly,"Blanda, Glover and Schulist",05/16/2018,53.06
572 | McLaughlin-Schaefer,Schaefer and Sons,04/29/2018,174.54
573 | Wolff-Hammes,Gerhold-Wilderman,05/16/2018,224.53
574 | Hudson Inc,D'Amore LLC,06/26/2018,216.08
575 | Anderson Group,Cassin-Pouros,04/16/2018,219.87
576 | Wolf-McDermott,Reynolds Group,06/25/2018,153.22
577 | "Rippin, Macejkovic and Koelpin",Hartmann Group,05/02/2018,248.77
578 | Lebsack-McLaughlin,"Jacobson, Stehr and Zulauf",04/21/2018,127.36
579 | Howe-Koelpin,Johnston-Zulauf,06/13/2018,163.91
580 | Schroeder-Heidenreich,Mills and Sons,06/01/2018,113.66
581 | Kozey Group,"Shields, Terry and McDermott",06/05/2018,106.74
582 | "Rath, Christiansen and Rolfson",Beahan LLC,05/02/2018,223.27
583 | Dicki Group,Boyle-Ruecker,04/14/2018,167.76
584 | "Dietrich, Nitzsche and Maggio",Toy-Wehner,05/26/2018,61.75
585 | Hegmann-Haag,Kozey and Sons,04/28/2018,128.26
586 | Johns-Rempel,Dooley Inc,05/03/2018,177.54
587 | Schowalter-Rodriguez,Adams-Kessler,05/20/2018,57.07
588 | "Gutkowski, Marvin and Hand","Koelpin, Crist and Bailey",06/04/2018,105.87
589 | Spencer Inc,"Rath, Hickle and Gorczany",05/02/2018,69.30
590 | "Greenholt, Miller and Schroeder",Schuppe and Sons,04/11/2018,114.65
591 | Kuphal-Johnston,Gottlieb Inc,05/03/2018,129.55
592 | "Rowe, Powlowski and Russel",Shanahan-Simonis,06/06/2018,74.00
593 | Wintheiser-Block,Predovic Group,05/05/2018,227.39
594 | Lowe Inc,"Schuppe, Bruen and Mayert",04/20/2018,154.73
595 | Mills and Sons,Schinner LLC,06/21/2018,232.30
596 | Kohler-Renner,Olson Inc,06/05/2018,212.38
597 | Marks-Lehner,"Jaskolski, Paucek and Kovacek",06/08/2018,80.14
598 | Williamson-Von,Waters-Bernier,06/04/2018,145.07
599 | Reichel-Schumm,Lakin-Sporer,05/01/2018,154.08
600 | Kreiger Group,Auer-Schmeler,05/20/2018,62.28
601 | Kuhic Group,Russel LLC,06/22/2018,210.78
602 | Kub Inc,Klocko Inc,06/16/2018,102.87
603 | "Schaden, Goldner and Armstrong",Christiansen-Schmidt,06/14/2018,248.78
604 | Frami Group,"Romaguera, Hammes and Leannon",04/22/2018,228.27
605 | Flatley-Halvorson,Walker Group,04/07/2018,230.73
606 | Langworth-Ritchie,Morissette Inc,04/05/2018,83.28
607 | Treutel-Mertz,Kautzer Inc,05/10/2018,203.96
608 | "Littel, McGlynn and Heidenreich",Collins and Sons,04/28/2018,153.76
609 | Anderson-Leffler,Sanford Inc,04/06/2018,161.64
610 | Hermann-Bergnaum,Marvin Inc,05/09/2018,105.31
611 | Boyer Group,"Kuvalis, Shanahan and Strosin",05/17/2018,179.76
612 | "Huels, Turcotte and O'Kon",Howe and Sons,06/08/2018,45.90
613 | Reilly-Beatty,"Welch, Mosciski and Purdy",06/02/2018,123.32
614 | Klocko Group,Lemke-Moen,04/04/2018,46.93
615 | Lakin-Prosacco,"Bruen, Bashirian and Wiza",04/26/2018,125.21
616 | Bernier-Williamson,Hamill Group,06/08/2018,193.20
617 | Wilkinson-Larson,"Aufderhar, Greenholt and Waelchi",05/02/2018,163.27
618 | O'Reilly Group,Cronin-Olson,06/01/2018,139.29
619 | Jacobson and Sons,Jacobi-Blick,04/02/2018,196.26
620 | Fay-Funk,Price Inc,05/21/2018,46.73
621 | Champlin-Hills,"Erdman, Schmitt and Herman",05/19/2018,143.37
622 | Fisher-Ruecker,"Erdman, Waelchi and Balistreri",04/25/2018,215.12
623 | "Kreiger, Casper and Kulas",Schinner Inc,04/27/2018,95.09
624 | "Roberts, Medhurst and Wolf",Connelly-McGlynn,05/24/2018,177.49
625 | "Frami, Wiza and Huel","Dibbert, Quitzon and Emard",04/17/2018,171.04
626 | Pfeffer Inc,Auer-Ullrich,05/14/2018,69.27
627 | Veum-Schmeler,"Moen, Schinner and Greenfelder",04/20/2018,201.21
628 | Macejkovic-O'Conner,"Sipes, Gaylord and Cole",06/19/2018,205.39
629 | Mohr-Hilll,"O'Conner, Gusikowski and Frami",05/23/2018,111.91
630 | "Zboncak, Smitham and Konopelski",O'Connell and Sons,04/08/2018,151.58
631 | Feeney-Brakus,Stroman-Hauck,04/14/2018,73.68
632 | "Hackett, Gorczany and Ullrich",Turner-Hilll,05/25/2018,111.24
633 | Franecki LLC,Stokes Inc,05/11/2018,135.50
634 | "Cummings, Schultz and Hagenes",Bode Group,04/16/2018,203.26
635 | "Schoen, Corkery and Eichmann",Schuppe-White,06/13/2018,148.38
636 | "Kutch, Toy and Roberts",Cremin-Hackett,04/14/2018,92.61
637 | "Borer, Champlin and Bernier",Grady Group,06/18/2018,47.78
638 | "Morar, Frami and Lynch",Willms-Morar,06/08/2018,86.09
639 | Morissette Inc,"Kreiger, Heathcote and Wisozk",04/08/2018,131.37
640 | "Considine, Price and Cummerata","Herman, Zieme and Friesen",05/08/2018,203.27
641 | Kris-Moen,Gleason LLC,04/18/2018,70.97
642 | Quigley and Sons,"Lind, Labadie and Terry",05/20/2018,120.34
643 | "Cassin, Littel and Zboncak","Kuphal, VonRueden and Stroman",04/07/2018,185.14
644 | Kohler LLC,Ruecker Inc,04/22/2018,54.07
645 | MacGyver Inc,Dibbert-Effertz,05/27/2018,83.24
646 | Klein-Murray,Stokes Inc,06/10/2018,180.82
647 | "Conn, Fisher and Cummerata",VonRueden-Krajcik,06/15/2018,98.67
648 | Schultz-MacGyver,Kassulke Inc,04/19/2018,94.59
649 | "Mayert, Prosacco and Hills",Roberts-Schaefer,05/09/2018,98.58
650 | Jacobson-Mraz,Rutherford-Hane,05/06/2018,185.39
651 | Halvorson-Howe,Wunsch-Kling,06/12/2018,204.32
652 | Will and Sons,"Botsford, White and Bergstrom",06/15/2018,223.02
653 | Harber Group,Kihn Group,04/29/2018,50.98
654 | "Shanahan, Glover and Lesch","Lindgren, Heller and Ondricka",06/14/2018,241.23
655 | Heathcote-White,Weimann Group,05/08/2018,171.74
656 | Heidenreich LLC,"Dickinson, Powlowski and Nikolaus",05/20/2018,195.71
657 | Graham-Senger,O'Hara-Roberts,04/15/2018,62.42
658 | "Graham, Huel and Mohr",Williamson-Kozey,06/01/2018,53.32
659 | "Schaden, Herman and Hyatt",Barton-Crist,04/26/2018,210.56
660 | "Rutherford, Rolfson and Tromp","Waelchi, Dach and Prosacco",04/07/2018,105.20
661 | "Von, Schumm and Swaniawski",White LLC,06/03/2018,139.73
662 | "Gerlach, Durgan and Nader","VonRueden, Konopelski and Nader",06/07/2018,122.39
663 | "Morar, Bailey and Jacobs",Muller LLC,06/05/2018,37.89
664 | Stiedemann-Heller,Gerhold-Stoltenberg,04/21/2018,176.66
665 | "Hirthe, Zboncak and Fisher",Kuphal LLC,05/13/2018,225.99
666 | "Romaguera, Hand and Raynor","Weimann, Kreiger and Beier",06/13/2018,39.11
667 | Renner Inc,"Ortiz, Roberts and Jenkins",04/15/2018,105.88
668 | Kohler-Sipes,"Botsford, Bahringer and Brakus",05/19/2018,131.75
669 | Harber-Hessel,"Olson, Runolfsson and Harris",06/14/2018,159.20
670 | Armstrong Inc,Kovacek-Medhurst,04/03/2018,147.42
671 | Champlin-Lebsack,Labadie-Beier,06/10/2018,182.45
672 | "Cremin, Mayer and Stokes",Adams and Sons,04/28/2018,86.82
673 | "VonRueden, Beer and Gleichner",Gleason-Mante,06/17/2018,172.79
674 | Carter Group,MacGyver LLC,06/16/2018,105.44
675 | Hirthe Group,Gutmann-Bartell,06/25/2018,183.36
676 | Smith-Robel,Strosin Inc,06/12/2018,165.73
677 | Gottlieb-Hintz,Schuppe-Murray,05/28/2018,74.41
678 | Bogan-Casper,"Ledner, Crooks and Gulgowski",06/13/2018,85.85
679 | Christiansen-Schoen,Oberbrunner-Mraz,06/07/2018,166.08
680 | "Steuber, Corkery and Schoen","Keeling, Gislason and Batz",05/25/2018,208.77
681 | "White, Stroman and Rohan",McDermott-Schuppe,04/04/2018,172.39
682 | "Schiller, Altenwerth and Langworth",Bergnaum and Sons,05/14/2018,140.72
683 | Schmeler-Parker,Lynch and Sons,06/27/2018,243.74
684 | "Boyle, Rau and Effertz","Boehm, Reilly and Ondricka",04/01/2018,157.86
685 | "Kuhlman, Skiles and Bogan","Harber, Mayert and Bradtke",05/19/2018,225.05
686 | Jacobs-Bergnaum,Gutkowski-Nikolaus,06/26/2018,82.73
687 | "Mueller, Schmeler and Boehm",Klein-Hansen,04/29/2018,121.26
688 | Shields Inc,Effertz LLC,04/25/2018,95.39
689 | Dibbert LLC,Kessler Inc,04/30/2018,70.06
690 | "Konopelski, Miller and Schuster",Franecki-Prohaska,06/10/2018,238.16
691 | "Heidenreich, Feil and Jenkins","Collier, Konopelski and Cronin",05/05/2018,120.76
692 | McKenzie Group,Rohan Group,06/21/2018,125.66
693 | Littel and Sons,Beer-Toy,05/16/2018,99.85
694 | Kovacek-Gaylord,Metz-Gerlach,06/13/2018,211.88
695 | "Rath, Wunsch and Cummings",Swaniawski LLC,05/22/2018,45.52
696 | Waters and Sons,Hauck-O'Hara,04/13/2018,224.00
697 | "Armstrong, Dietrich and Farrell","Lubowitz, Gutkowski and Green",04/03/2018,149.44
698 | "Reilly, Aufderhar and Jaskolski",Ortiz-Mueller,05/18/2018,198.52
699 | "Marvin, Hirthe and Prohaska","Fisher, Sipes and Barrows",04/16/2018,50.20
700 | "Donnelly, Wolf and Zulauf",Schoen-Lemke,04/30/2018,62.83
701 | "Hermiston, Dach and Fisher",Walter-Bauch,04/06/2018,106.05
702 | "Jacobson, Leuschke and Langworth","Sanford, Toy and Klein",05/04/2018,123.77
703 | Franecki-Nolan,Hammes Inc,05/13/2018,213.36
704 | "Stanton, Stoltenberg and Wiza",Glover LLC,06/17/2018,113.08
705 | Mills-Haley,Ward LLC,04/16/2018,175.93
706 | "Baumbach, Brown and Dooley",Stanton-Pfeffer,06/19/2018,134.38
707 | Sauer-Hackett,"Wintheiser, Rath and Roob",06/13/2018,187.95
708 | "Johns, Schamberger and Brakus",Bogan LLC,04/06/2018,106.01
709 | Pollich LLC,Cruickshank Group,04/24/2018,60.29
710 | "Romaguera, Prohaska and Harber","Brakus, Williamson and Hintz",06/23/2018,217.79
711 | Kuhn-Bayer,"Romaguera, Nitzsche and Pacocha",05/01/2018,156.17
712 | Cartwright-Yundt,Powlowski-Lynch,05/21/2018,60.00
713 | "Walker, Collins and Feil","Strosin, Bailey and Block",04/17/2018,72.30
714 | Lockman-Ledner,Heller-Aufderhar,05/04/2018,149.43
715 | Jast LLC,Conroy Inc,05/12/2018,207.84
716 | Swaniawski Group,"Dietrich, Hane and Pacocha",05/11/2018,200.15
717 | Champlin-Collier,Windler and Sons,05/21/2018,129.88
718 | Jacobson LLC,Leuschke-Bauch,05/12/2018,69.80
719 | Graham Group,Strosin-Gutkowski,06/09/2018,43.26
720 | Collier-Stoltenberg,Hirthe Group,04/24/2018,101.59
721 | Pfeffer-Marvin,Kuhlman and Sons,05/29/2018,144.40
722 | Brekke LLC,Lockman and Sons,04/27/2018,119.02
723 | "Schamberger, Baumbach and Gottlieb",Monahan-Sawayn,04/15/2018,76.94
724 | "Kertzmann, Cartwright and Goodwin","Labadie, Prosacco and Lemke",05/19/2018,46.74
725 | Streich Group,"Johns, O'Hara and Ondricka",04/08/2018,204.94
726 | Rogahn-Conroy,"MacGyver, Bernhard and Dickens",06/10/2018,212.99
727 | Wuckert-MacGyver,Torp-Sipes,06/15/2018,248.39
728 | Collins-Hills,Jacobi Group,06/06/2018,139.56
729 | Thiel and Sons,"Simonis, Price and Denesik",05/11/2018,212.13
730 | Conroy Group,"Cremin, Price and Hettinger",05/25/2018,83.11
731 | Stiedemann Group,Hansen LLC,06/27/2018,201.05
732 | Walter-Heller,Grimes-Stokes,05/25/2018,116.74
733 | "Smitham, Denesik and Koch",Greenholt-Wehner,04/05/2018,87.56
734 | Wolff Group,"Kihn, Schoen and Gleason",05/15/2018,80.79
735 | Koss Inc,Mann and Sons,05/15/2018,173.16
736 | Herman-Franecki,Maggio Inc,05/02/2018,224.61
737 | Collins LLC,Schiller Inc,04/14/2018,226.04
738 | "Legros, Hessel and Ledner","Farrell, Abernathy and Hand",04/01/2018,187.56
739 | Grady-Kuhic,Hahn-Hammes,06/15/2018,74.67
740 | Olson Inc,"Turner, Mertz and Wyman",06/24/2018,101.52
741 | Okuneva-Beahan,Jacobi LLC,06/20/2018,161.50
742 | "Rice, Lakin and Metz","Cummerata, Zboncak and Wolff",05/17/2018,248.74
743 | "Mayer, Glover and Rath",Nitzsche-Lindgren,06/27/2018,212.56
744 | Moore-Ortiz,Heidenreich Inc,04/12/2018,55.37
745 | Kshlerin Inc,Bruen Group,04/28/2018,83.68
746 | O'Kon-Kohler,Heaney Inc,05/16/2018,114.48
747 | Bosco Inc,"Kihn, Borer and Dickinson",05/17/2018,44.05
748 | Green Group,Borer and Sons,05/04/2018,248.36
749 | Bauch-Murphy,"Larson, Herman and Nikolaus",04/17/2018,66.58
750 | Walker and Sons,Yost Group,04/02/2018,244.40
751 | "Rosenbaum, Nitzsche and Brown",Hermiston-Hills,06/21/2018,148.60
752 | Stamm Group,Effertz Group,04/23/2018,79.22
753 | Corkery LLC,"Spinka, Champlin and Rath",06/29/2018,61.03
754 | Reinger-Sporer,Berge LLC,05/15/2018,154.14
755 | "Stracke, Collier and Greenholt",Dickinson LLC,05/14/2018,175.34
756 | Borer-Sanford,Kovacek LLC,05/19/2018,236.34
757 | Morissette Inc,Moen-Strosin,05/16/2018,230.34
758 | "Wolff, Kilback and Langworth",Schaefer-Kovacek,04/22/2018,196.59
759 | "White, Torp and Bernhard","Carter, Prohaska and Fahey",06/28/2018,47.77
760 | "Runolfsson, Bauch and Beatty",Cummerata and Sons,05/01/2018,207.17
761 | Luettgen Inc,Waters and Sons,06/27/2018,95.40
762 | "Harris, Waters and Altenwerth","Watsica, Pollich and Rowe",05/11/2018,40.29
763 | "Champlin, Terry and Bins",Bode-Bernhard,04/03/2018,94.21
764 | Blick-Littel,"Mayer, Weissnat and Skiles",06/19/2018,104.21
765 | Langworth-Grant,"Hane, West and Nader",05/02/2018,134.59
766 | Reilly Group,Abernathy-Orn,04/22/2018,84.19
767 | Bergstrom Inc,"West, Lowe and Predovic",05/06/2018,85.52
768 | Hessel-Lockman,Gutkowski-Lueilwitz,04/13/2018,83.07
769 | "Schimmel, Simonis and Hegmann",Ernser Inc,05/14/2018,41.28
770 | Langworth Inc,"Kilback, Ward and Blick",04/09/2018,180.09
771 | "Lubowitz, Lindgren and Yost",McLaughlin-Rogahn,05/26/2018,137.42
772 | Bashirian-Rath,Hegmann LLC,06/16/2018,174.03
773 | Homenick-Nicolas,Spinka and Sons,06/18/2018,79.98
774 | "Von, Rice and Dietrich",Conroy-Mitchell,06/07/2018,172.93
775 | O'Reilly-Senger,"Bauch, Wilderman and Herman",06/28/2018,115.61
776 | Parisian-Crooks,Bahringer Group,05/14/2018,241.88
777 | "Nicolas, Bauch and Rowe",Torp-Labadie,05/19/2018,151.42
778 | "Harber, Goyette and Zemlak",Bartoletti Inc,05/18/2018,61.89
779 | "Pagac, Fahey and Bogan","Kshlerin, Conn and Wisozk",06/21/2018,233.79
780 | Nikolaus-Feest,Kovacek LLC,04/08/2018,216.20
781 | Breitenberg and Sons,Adams-Ernser,06/06/2018,89.05
782 | Stamm-Kuhic,Watsica LLC,06/14/2018,132.70
783 | Hane LLC,Emmerich LLC,06/25/2018,162.81
784 | "Farrell, Harris and Schuppe",Abshire Inc,06/21/2018,230.61
785 | Nikolaus-Grant,Beier-Metz,06/02/2018,238.75
786 | "Gerlach, Mayer and Strosin",Schamberger Inc,05/12/2018,124.46
787 | Donnelly Inc,Greenfelder Group,04/09/2018,49.17
788 | Will Group,"Moore, Howe and Sipes",04/11/2018,139.01
789 | "Casper, Cremin and Ryan",Koss-Stroman,04/15/2018,110.10
790 | "Robel, Sipes and King",Zulauf and Sons,05/24/2018,198.04
791 | "Reilly, Lockman and Kuphal","Cole, Donnelly and Cremin",06/02/2018,198.29
792 | "Mante, Reichert and Bradtke",Mante-Zemlak,06/10/2018,48.12
793 | Ledner and Sons,"Morar, Rowe and Jacobs",04/13/2018,231.48
794 | "Corwin, O'Keefe and Hermann",Bosco Group,05/13/2018,226.65
795 | "Borer, Mraz and Bayer","Bradtke, Swift and Farrell",05/18/2018,211.67
796 | "Gulgowski, Ward and Dare",Cartwright and Sons,05/27/2018,114.80
797 | "Lueilwitz, Olson and Fisher","Jenkins, Kohler and Jaskolski",05/24/2018,216.73
798 | Grimes Group,Hegmann and Sons,04/02/2018,138.70
799 | Zieme Inc,Renner LLC,04/16/2018,48.58
800 | "Feeney, Bernhard and Gusikowski",Block-Langosh,05/30/2018,108.78
801 | Dooley Inc,Bartoletti LLC,04/13/2018,122.44
802 | Wyman-Feest,Prohaska Inc,04/03/2018,59.72
803 | Funk-Jakubowski,Goodwin and Sons,05/28/2018,66.84
804 | Gerhold and Sons,Dach-Hessel,04/21/2018,55.05
805 | Haag and Sons,Thiel-Moore,05/01/2018,239.79
806 | Bergstrom Inc,"Emard, Koepp and O'Conner",06/04/2018,240.51
807 | Koelpin Group,Jones and Sons,06/09/2018,125.88
808 | Larson-Rohan,"Pagac, Nitzsche and Sipes",04/07/2018,117.04
809 | "Stroman, Stanton and Schowalter",Mayert LLC,04/15/2018,178.20
810 | Walker and Sons,"Hermiston, Hauck and Graham",05/09/2018,195.60
811 | Donnelly-Kertzmann,"Smith, Bailey and Rolfson",05/26/2018,99.82
812 | Purdy Group,"Waelchi, Medhurst and Nitzsche",06/07/2018,155.33
813 | Keebler-Aufderhar,"Zboncak, Macejkovic and Kertzmann",06/11/2018,184.69
814 | Weissnat LLC,Murazik-Kovacek,04/01/2018,63.22
815 | "Harris, Daugherty and McCullough",Kuhn Group,05/15/2018,216.33
816 | Lind Group,Williamson-Boehm,05/06/2018,173.19
817 | "Huel, Ondricka and Casper",Batz-Rohan,05/15/2018,149.12
818 | Armstrong-Kuhn,Green Group,06/08/2018,101.64
819 | "Lesch, Padberg and Buckridge",Reinger-Waelchi,05/21/2018,47.39
820 | Mante LLC,VonRueden-Toy,06/15/2018,246.45
821 | "Koch, Dicki and Littel","Renner, Hilll and Bailey",05/25/2018,42.75
822 | Bashirian-Strosin,Hirthe-Zemlak,06/21/2018,203.78
823 | Klein Inc,"Bode, Feest and Reichert",04/11/2018,89.69
824 | Ruecker and Sons,"Rogahn, Schoen and Carroll",04/29/2018,121.02
825 | "Hand, Zemlak and Blick",Schuppe Group,05/30/2018,37.79
826 | "Welch, McLaughlin and Cruickshank",Boyle Group,04/03/2018,84.08
827 | "Paucek, Heller and Wolf","Farrell, Champlin and Lang",04/16/2018,160.24
828 | Jaskolski-Stamm,VonRueden Inc,06/26/2018,190.60
829 | Baumbach-Hane,"Littel, Gleichner and Gorczany",06/26/2018,151.93
830 | Koss Inc,Yost-Mueller,04/27/2018,149.01
831 | Paucek Group,Parker-Keebler,04/24/2018,81.29
832 | Schroeder Inc,Keebler Group,06/22/2018,216.44
833 | Pouros-Stiedemann,Zulauf Group,04/25/2018,232.32
834 | Rosenbaum LLC,Volkman Inc,05/30/2018,74.57
835 | Bosco LLC,Senger and Sons,05/11/2018,185.36
836 | "Kiehn, Macejkovic and Dicki","Hagenes, Prosacco and Streich",05/03/2018,248.25
837 | "Larkin, Schamberger and Rowe",Gorczany-Hirthe,06/03/2018,241.81
838 | "Gottlieb, Sanford and Legros","Block, Johnson and Lakin",06/08/2018,223.25
839 | "Brekke, Murphy and Abbott",Osinski-Mraz,05/04/2018,54.48
840 | "Simonis, Grimes and Zemlak",Nicolas Group,05/12/2018,219.56
841 | "Armstrong, Barrows and Buckridge",Williamson-Cormier,05/12/2018,49.59
842 | Muller-Grant,Mann Inc,06/28/2018,100.13
843 | Parker-Stamm,Langworth-Schamberger,04/02/2018,158.77
844 | "Heidenreich, Simonis and Auer","O'Hara, Yundt and Muller",05/26/2018,157.24
845 | "Sporer, Crooks and Bernhard",Bahringer-Effertz,05/19/2018,210.91
846 | DuBuque Group,Tromp Group,05/23/2018,51.41
847 | Swaniawski and Sons,Jacobson and Sons,06/14/2018,226.83
848 | Blanda LLC,Collier-Hamill,05/01/2018,49.01
849 | Gleichner-Spencer,Wilkinson Inc,06/11/2018,165.49
850 | Turcotte-Brakus,McGlynn-Schiller,04/14/2018,159.80
851 | Wolf and Sons,"Waters, Robel and Hirthe",04/05/2018,105.72
852 | Hamill and Sons,Kunde-Hettinger,04/11/2018,89.19
853 | Mante and Sons,Stehr-Wyman,06/06/2018,113.00
854 | "Mayert, Gaylord and O'Connell",Keebler-Ward,05/23/2018,240.58
855 | Corkery LLC,Towne and Sons,04/24/2018,215.66
856 | Jakubowski Inc,"Zieme, Huels and Schoen",05/11/2018,166.29
857 | Goldner Group,Vandervort-Klocko,05/29/2018,205.19
858 | Watsica LLC,"White, Borer and Heidenreich",04/02/2018,107.98
859 | "Schmitt, Monahan and Heaney","Satterfield, Lubowitz and West",05/17/2018,51.44
860 | "Olson, Donnelly and Price","Purdy, Simonis and Macejkovic",05/23/2018,207.85
861 | Bogan-Stark,Hilll-Schuppe,06/07/2018,91.24
862 | "Heathcote, Becker and Lang",Klocko Inc,04/11/2018,171.29
863 | "Runolfsdottir, Schuppe and King",Langworth and Sons,05/07/2018,88.43
864 | "Schneider, Hilpert and Nikolaus",Cartwright and Sons,05/03/2018,172.81
865 | Krajcik-Ruecker,"Collier, Abernathy and Runolfsson",05/13/2018,45.64
866 | Leffler-Ebert,Runolfsdottir Group,05/20/2018,49.12
867 | Lind-Boehm,"Grady, Kassulke and Hudson",05/23/2018,123.60
868 | "White, O'Conner and Konopelski",Russel-Johnson,06/27/2018,81.62
869 | "Wintheiser, Ankunding and Thiel","Jakubowski, Ritchie and Bashirian",04/04/2018,152.16
870 | "Hilll, Klocko and Braun","Windler, Baumbach and Mayert",06/17/2018,54.79
871 | Altenwerth-Kulas,"Pfeffer, Lowe and Sauer",05/23/2018,207.22
872 | Prosacco-Effertz,Gleichner-Marks,06/11/2018,128.73
873 | Emmerich and Sons,Paucek-Klein,05/24/2018,153.57
874 | Rowe-Morissette,"Robel, Lynch and Schneider",04/03/2018,60.91
875 | Barrows Inc,Mraz LLC,06/15/2018,215.57
876 | Krajcik LLC,Cartwright-Murphy,05/26/2018,164.63
877 | "Herzog, Dicki and Stamm",Bode Inc,05/31/2018,225.72
878 | "Koss, Dickens and Treutel","Corwin, Balistreri and VonRueden",06/17/2018,190.35
879 | "Swift, Collins and Legros",Weimann and Sons,04/21/2018,43.74
880 | "Windler, Jones and Wilkinson",Kemmer Group,06/01/2018,227.94
881 | Wolf-Johnston,"White, Mraz and Fahey",06/05/2018,69.74
882 | "Roob, Wuckert and Bahringer","Deckow, Mayert and Beer",06/02/2018,153.01
883 | Osinski-Dicki,Herzog Inc,06/21/2018,233.83
884 | "Metz, Harber and Batz",Paucek-Johnston,05/05/2018,248.50
885 | Wuckert LLC,"Reinger, Fadel and Hahn",05/02/2018,245.24
886 | "Bashirian, Rempel and Hansen",Steuber-Ziemann,04/23/2018,230.79
887 | West Inc,Bauch-Johnson,05/29/2018,127.84
888 | Lockman and Sons,Buckridge and Sons,06/11/2018,76.32
889 | "Sanford, Hilpert and Cremin",Ratke LLC,06/13/2018,211.17
890 | Rowe-Hilll,Macejkovic LLC,06/24/2018,140.31
891 | Cole and Sons,Parker and Sons,05/24/2018,167.81
892 | Borer Inc,"Stoltenberg, Lindgren and Jacobs",05/21/2018,179.75
893 | "Koss, Kuhic and McKenzie",Oberbrunner-Weber,06/06/2018,158.69
894 | "McCullough, Hegmann and Gislason",Abshire-Balistreri,06/16/2018,73.78
895 | "Bergstrom, Jacobi and Sipes",Sporer Inc,04/07/2018,50.69
896 | Wolf-Baumbach,Pfeffer-Keebler,04/04/2018,44.27
897 | Ullrich-Paucek,"Runolfsdottir, Hoppe and Gulgowski",05/21/2018,152.60
898 | Kub LLC,McGlynn Group,04/11/2018,56.26
899 | "Turcotte, Langworth and Bartell",Jacobi-Nienow,06/14/2018,46.34
900 | Kutch and Sons,DuBuque-Dach,06/15/2018,86.13
901 | "Ortiz, Ratke and Greenholt",Hansen-Bradtke,05/20/2018,218.42
902 | Kuvalis Inc,McLaughlin Group,05/06/2018,62.52
903 | Kuhlman-Harris,Koch-Grimes,04/09/2018,197.35
904 | "Jones, Breitenberg and Casper",DuBuque-Klein,04/23/2018,67.06
905 | Considine-Stracke,Conroy Inc,06/19/2018,123.07
906 | "Jast, Stoltenberg and Torphy",Carroll-Stehr,04/29/2018,213.77
907 | Quigley-Emmerich,Harber-Larkin,06/28/2018,108.68
908 | O'Connell and Sons,"Blick, O'Reilly and McGlynn",06/16/2018,122.84
909 | Stiedemann Inc,Tromp and Sons,06/21/2018,160.25
910 | Sipes-Lind,"Padberg, Trantow and Romaguera",04/25/2018,196.73
911 | Herman-Ryan,"Jakubowski, Gerlach and Swaniawski",04/28/2018,83.89
912 | Parker Inc,Zemlak-Schulist,05/22/2018,119.39
913 | Ondricka Inc,Schulist-Ebert,05/03/2018,74.82
914 | Schneider Inc,Rosenbaum-Paucek,05/03/2018,142.64
915 | Schamberger-Kunde,"Kreiger, Kohler and Bartell",06/25/2018,167.23
916 | "Hermiston, Hayes and Hyatt",Kemmer Group,04/25/2018,125.29
917 | "Hudson, Hirthe and Kunde",Abshire-Schimmel,05/19/2018,214.45
918 | Adams and Sons,Fay and Sons,05/12/2018,114.51
919 | Champlin Inc,Streich Group,06/23/2018,184.84
920 | "Barton, Sauer and Adams",Volkman Inc,05/04/2018,208.08
921 | "Huels, Harvey and Luettgen",Gutkowski and Sons,06/27/2018,87.11
922 | "Murphy, Reynolds and Ondricka","Rutherford, Steuber and Dibbert",05/31/2018,83.96
923 | "Wunsch, Berge and McCullough","Krajcik, Walter and Herman",05/22/2018,101.36
924 | Bernier-Mueller,"Ledner, Lockman and Mosciski",05/27/2018,190.54
925 | O'Reilly-Conroy,"McGlynn, O'Kon and Reinger",06/10/2018,233.24
926 | Johnston-Wilkinson,Rolfson-Kling,04/01/2018,82.07
927 | "Bednar, Stiedemann and O'Keefe",Gerlach and Sons,06/03/2018,40.84
928 | Muller-Ernser,McKenzie and Sons,05/23/2018,207.61
929 | Emard-Kling,Buckridge Inc,06/14/2018,132.47
930 | Herman Inc,Toy-Price,05/25/2018,85.17
931 | Erdman Inc,Ernser-Lebsack,05/06/2018,148.44
932 | Homenick Inc,"Sawayn, Feeney and Altenwerth",05/17/2018,186.98
933 | Wisozk and Sons,Hessel LLC,05/27/2018,44.68
934 | "Ullrich, Hettinger and Wisoky",Bayer-Herzog,05/30/2018,69.54
935 | Kerluke-Renner,Ernser-Fahey,06/04/2018,180.80
936 | Ernser and Sons,Schroeder-Zemlak,06/08/2018,165.03
937 | "Orn, Nitzsche and Abshire",Rath and Sons,05/11/2018,132.21
938 | Sipes and Sons,Kovacek Group,04/13/2018,242.18
939 | "Koss, Cormier and Gorczany",Stiedemann-Kuhlman,06/24/2018,101.38
940 | "Gerhold, Gislason and Langworth","Mayer, Denesik and Kerluke",05/31/2018,163.84
941 | Gutkowski-Sanford,"Moen, Hettinger and Dickinson",06/12/2018,224.08
942 | Wehner Inc,Wilkinson Group,06/07/2018,208.88
943 | Lowe-Purdy,Pfannerstill LLC,06/01/2018,196.08
944 | Schaefer-Walker,"Graham, Rutherford and Schuppe",06/06/2018,222.61
945 | "Beahan, Wuckert and Lynch","Corwin, Nicolas and Kautzer",06/26/2018,85.93
946 | "Bergstrom, Bashirian and Mills","Stark, Bosco and Hartmann",06/26/2018,128.22
947 | White-Hyatt,"Welch, Ankunding and Gusikowski",06/24/2018,39.28
948 | Hyatt-Dare,Graham-Kunze,06/08/2018,96.39
949 | Batz Inc,Krajcik and Sons,06/24/2018,45.68
950 | Klocko and Sons,Ziemann Inc,05/17/2018,192.69
951 | "Gerlach, Terry and Erdman","Larson, Daugherty and Legros",06/02/2018,75.58
952 | "Shields, Hudson and Harber",Cronin-Gislason,06/27/2018,157.42
953 | Considine-Fadel,"Wolf, Barrows and Pfeffer",05/01/2018,133.94
954 | "Welch, Carroll and Kemmer","Lehner, Howell and Murazik",06/02/2018,241.48
955 | "Brekke, Zboncak and Jacobi",Stoltenberg-Connelly,05/29/2018,101.66
956 | Gutmann-Frami,Wyman Inc,06/03/2018,190.13
957 | Towne-Frami,Lind and Sons,05/26/2018,151.02
958 | "Rowe, Breitenberg and Mayer",Runolfsdottir-Lehner,05/12/2018,123.56
959 | "Ullrich, Gutkowski and Nicolas",Quitzon LLC,05/09/2018,115.94
960 | Tremblay-McCullough,Osinski-Auer,06/27/2018,97.23
961 | Wisozk Group,"Emmerich, Walsh and Stehr",05/02/2018,240.27
962 | Johnston-Pfannerstill,"Steuber, Kohler and Nienow",06/05/2018,205.12
963 | "Romaguera, Pfeffer and Reichert","Kshlerin, Deckow and Parisian",04/29/2018,200.50
964 | Yundt-Mohr,"Blick, Gleason and Cartwright",05/04/2018,199.53
965 | Daugherty Inc,Bradtke-Hegmann,05/13/2018,78.31
966 | Wiza and Sons,Shanahan and Sons,05/26/2018,37.73
967 | Berge-Mayer,Block Group,06/02/2018,91.88
968 | Jaskolski and Sons,Johnson-Strosin,06/18/2018,42.45
969 | "Ortiz, Lindgren and Schuppe",Kuphal Inc,05/15/2018,192.82
970 | Maggio-Gerhold,Mitchell-Cole,04/20/2018,170.99
971 | "Heidenreich, Skiles and Dickens","Wunsch, Conn and Jones",05/09/2018,91.62
972 | Muller-Tillman,Hansen-Auer,06/13/2018,180.96
973 | "Smitham, Kris and Legros",Bailey and Sons,04/25/2018,225.55
974 | Mertz-Lakin,Bogan Inc,04/24/2018,120.78
975 | "O'Connell, Turcotte and Stiedemann",Boehm Group,05/08/2018,106.17
976 | Nitzsche and Sons,"Schroeder, Abbott and Kris",04/10/2018,201.43
977 | Weimann and Sons,Mohr-Ullrich,06/17/2018,102.52
978 | Reynolds Inc,Rogahn-Hilpert,05/16/2018,242.19
979 | Spinka-Bogisich,Senger-Hoeger,05/26/2018,161.09
980 | "Oberbrunner, Parisian and Maggio","Welch, Lang and Breitenberg",06/21/2018,79.13
981 | Kreiger and Sons,Hilll-Parisian,05/11/2018,158.16
982 | Konopelski-Muller,"Schaefer, Howell and Frami",06/06/2018,58.87
983 | "Carroll, Luettgen and Wuckert",Turcotte-Ortiz,04/03/2018,194.60
984 | Sipes-Hane,Monahan LLC,06/16/2018,132.23
985 | Leuschke Group,"Weimann, Gusikowski and Tremblay",05/18/2018,101.70
986 | Torp-Grimes,Dicki Group,05/02/2018,92.45
987 | Bauch and Sons,"Cartwright, Gorczany and Heller",06/25/2018,159.81
988 | Turcotte LLC,Howell and Sons,05/26/2018,202.79
989 | "Becker, Jaskolski and Hyatt","Buckridge, Kunde and Smith",04/06/2018,145.05
990 | "Prosacco, Gerlach and Mayer",Tremblay-Kutch,04/09/2018,159.93
991 | Windler LLC,Renner Group,05/10/2018,106.10
992 | Keeling-Dickens,"Marks, Cremin and VonRueden",06/08/2018,65.89
993 | "Johnston, Skiles and Connelly",Collins-Satterfield,06/25/2018,67.64
994 | Crona-Gorczany,"Bins, Mueller and Gislason",04/03/2018,138.26
995 | Kub Inc,"Nikolaus, Jast and Bartell",06/06/2018,243.32
996 | "Lueilwitz, Davis and Wintheiser",Kohler LLC,04/17/2018,110.35
997 | Becker-Friesen,Cronin Group,04/12/2018,243.89
998 | "Goodwin, Hilll and Dibbert","Hegmann, Kirlin and Mosciski",04/23/2018,105.54
999 | Grady Group,Kunde and Sons,04/23/2018,62.34
1000 | "Kling, Hessel and Frami",Pollich-Heller,06/20/2018,150.98
1001 |
--------------------------------------------------------------------------------
/course-lessons-project/project4-redshift-data-analysis/README.md:
--------------------------------------------------------------------------------
1 | # Creating a Redshift Cluster
2 |
3 | 1. Navigate to Redshift in the AWS console
4 | 2. Quick Launch a 1-node cluster
5 | 3. Install Postico
6 | 4. Install the [JDBC driver](https://docs.aws.amazon.com/redshift/latest/mgmt/configure-jdbc-connection.html#download-jdbc-driver)
7 | 5. Copy Redshift JDBC url. e.g. `redshift-cluster-1.ccmcujfidyml.us-east-1.redshift.amazonaws.com` port `5439` and `dev` database
8 |
9 | # Compression in Redshift
10 |
11 | Automatic compression analysis requires enough rows in the load data (at least 100,000 rows per slice) to generate a meaningful sample.
12 |
13 | ```sql
14 | create table sales(
15 | salesid integer not null,
16 | listid integer not null distkey,
17 | sellerid integer not null,
18 | buyerid integer not null,
19 | eventid integer not null,
20 | dateid smallint not null sortkey,
21 | qtysold smallint not null,
22 | pricepaid decimal(8,2),
23 | commission decimal(8,2),
24 | saletime timestamp
25 | );
26 |
27 | copy sales from 's3://awssampledbuswest2/tickit/sales_tab.txt'
28 | iam_role 'arn:aws:iam::123123123123:role/redshift-po'
29 | delimiter '\t' timeformat 'MM/DD/YYYY HH:MI:SS' region 'us-west-2';
30 |
31 | select "column", type, encoding, distkey, sortkey, "notnull"
32 | from pg_table_def
33 | where tablename = 'sales';
34 |
35 | select * from sales limit 10;
36 |
37 | analyze compression sales;
38 |
39 | drop table sales;
40 | ```
41 |
42 | # Distribution Styles
43 |
44 | ```sql
45 | create table adpubresults_all(
46 | _1 varchar(50),
47 | _2 date,
48 | _3 float
49 | )
50 | diststyle all;
51 |
52 | create table adpubresults_datekey(
53 | _1 varchar(50),
54 | _2 date distkey,
55 | _3 float
56 | );
57 |
58 | select "column", type, encoding, distkey, sortkey, "notnull"
59 | from pg_table_def
60 | where tablename = 'sales';
61 |
62 | copy adpubresults
63 | from 's3://penguin-outfitters-adpubdata/adPubResultsjson/'
64 | iam_role 'arn:aws:iam::123123123123:role/redshift-po'
65 | dateformat as 'MM/DD/YYYY'
66 | json 'auto';
67 |
68 | select * from adpubresults limit 100;
69 |
70 | select * from stl_load_errors limit 1;
71 | ```
72 |
73 | # Sort Keys
74 |
75 | ```sql
76 | create table iotstreamdata(
77 | station varchar(16),
78 | name varchar(50),
79 | latitude decimal,
80 | longitude decimal,
81 | elevation decimal,
82 | date_measured distkey sortkey date,
83 | precipitation decimal,
84 | snowfall decimal,
85 | snow_depth decimal,
86 | average_temperature int,
87 | max_temperature int,
88 | min_temperature int
89 | )
90 | -- compound sortkey(listid,sellerid);
91 | -- interleaved sortkey (c_custkey, c_city, c_mktsegment);
92 | ;
93 |
94 | copy iotstreamdata
95 | from 's3://big-data-iot-2018-la/2018/'
96 | iam_role 'arn:aws:iam::123123123123:role/redshift-po'
97 | dateformat as 'YYYY-MM-DD'
98 | json 'auto';
99 | ```
100 |
101 | Create a table in the cluster and use all these things
102 |
103 | # Unload and Copy
104 |
105 | ```sql
106 | unload ('
107 | select * from (
108 | select
109 | date_measured,
110 | max_temperature
111 | from iotstreamdata
112 | order by max_temperature desc
113 | limit 10
114 | )
115 | ')
116 | to 's3://penguin-orders-export-2018/redshiftunloads/maxtemps_'
117 | iam_role 'arn:aws:iam::123123123123:role/redshift-po';
118 |
119 | unload ('
120 | select
121 | date_measured,
122 | max_temperature
123 | from iotstreamdata
124 | where date_measured between \'2018-04-01\' and \'2018-04-07\'
125 | order by date_measured
126 | ')
127 | to 's3://penguin-orders-export-2018/redshiftunloads/aprilmaxtemp_'
128 | iam_role 'arn:aws:iam::123123123123:role/redshift-po'
129 | ```
130 |
131 |
132 |
--------------------------------------------------------------------------------
/course-lessons-project/project5-js-visualizations/README.md:
--------------------------------------------------------------------------------
1 | # D3 JS
2 |
3 | ## Load the data from S3
4 |
5 | 1. Make the JSON file public
6 | 2. Update CORS settings on the bucket
7 |
8 | ```xml
9 |