View on GitHub

Spark-Cassandra-Notes

Cassandra data computing with Apache Spark

< Back Home

Save joined dataset

Saving to new Cassandra Table and output JSON file

Github repository Path: examples/dataset-join-03 Language: Python v3.5

Description

This is a standalone python example which runs directly onto python interpreter. The core is pyspark which is a python package that is the wrapper of Apache Spark.

It is very similar to previous dataset-join-02. However, this is independent from spark-shell or spark-submit. Both save back results to a Cassandra’s table. Furthermore, dataset-join-03 writes to disk on a JSON format output file.

Explanation

Libraries used by this example:

import os, sys
import pandas as pd

os.putenv('PYTHONIOENCODING','UTF-8')

from pyspark import SparkContext, SparkConf
from pyspark.sql import SQLContext, SparkSession

Setting up Cassandra-ready spark session

spark = (
  SparkSession.builder
    .appName('SparkCassandraApp')
    .config('spark.cassandra.connection.host', 'localhost')
    .config('spark.cassandra.connection.port', '9042')
    .config('spark.cassandra.output.consistency.level','ONE')
    .master('local[2]')
    .getOrCreate()
)

Loading data of people

ds_people = ( 
  sqlContext
    .read
    .format('org.apache.spark.sql.cassandra')
    .options(table='mock_data', keyspace='examples')
    .load()
    .filter('drinker == "Daily"')
)

The same with cars

ds_cars = (
  sqlContext
    .read
    .format('org.apache.spark.sql.cassandra')
    .options(table='mock_cars', keyspace='examples')
    .load()
)

Join cars with owners

ds_drinkers = (
  ds_people
    .join(ds_cars,ds_people['id'] == ds_cars['id_owner'])
    .select('id','email','car_id','car_make','car_model')
)

Table is created if no exists, otherwise exception is raise but silenced Nowadays it doesn’t work, but in Scala dataset-join-02 it works flawlessly. I reported to maintener at datastax

try:
  # this method doesn't work with pyspark (in scala works fine) 
  ds_drinkers.createCassandraTable('examples', 'cars_owned_by_drinkers', partitionKeyColumns = ['id','car_id'])
except:
  None

Saving joined dataset back to Cassandra

(
  ds_drinkers
    .write
    .mode('append')
    .format('org.apache.spark.sql.cassandra')
    .options(table = 'cars_owned_by_drinkers', keyspace = 'examples')
    .save()
)

To test the result, it loads again new data into Spark’s DataFrame

ds_cars = (
  sqlContext
    .read
    .format('org.apache.spark.sql.cassandra')
    .options(table='cars_owned_by_drinkers', keyspace='examples')
    .load()
)

Loading data into pandas in order to save to file system, although It could be post in an HTTP connection or something else

df = ds_cars.toPandas()
df.to_json('./output.json')

Results output.json

{
  "id":{
    "0":532,
    "1":782,
    "2":266,
    "3":900,
    "4":807,
    "5":590,
    "6":754,
    "7":387,
    "8":904,
    "9":492,
    "10":699,
    "11":564,
    "12":779,
    "13":26,
    "14":796,
    "15":149,
    "16":671,
    "17":903,
    "18":635,
    "19":211,
    "20":233,
    "21":346,
    "22":136,
    "23":405,
    "24":681,
    "25":940,
    "26":358,
    "27":695,
    "28":572,
    "29":886,
    "30":561,
    "31":185,
    "32":203,
    "33":700,
    "34":686,
    "35":811,
    "36":331,
    "37":4,
    "38":400,
    "39":175,
    "40":255,
    "41":515,
    "42":687,
    "43":76,
    "44":876,
    "45":605,
    "46":249,
    "47":86,
    "48":792,
    "49":302,
    "50":528,
    "51":439,
    "52":914,
    "53":712,
    "54":868,
    "55":594,
    "56":218,
    "57":84,
    "58":53,
    "59":872,
    "60":533,
    "61":705,
    "62":800,
    "63":159,
    "64":677,
    "65":499,
    "66":969,
    "67":690,
    "68":408,
    "69":225,
    "70":931,
    "71":489,
    "72":336,
    "73":99,
    "74":867,
    "75":449,
    "76":882,
    "77":986,
    "78":395,
    "79":755,
    "80":960,
    "81":366,
    "82":664,
    "83":787,
    "84":106,
    "85":454,
    "86":915,
    "87":230,
    "88":62,
    "89":271,
    "90":992,
    "91":920,
    "92":342,
    "93":327,
    "94":953,
    "95":697,
    "96":500,
    "97":726,
    "98":350,
    "99":784,
    "100":473,
    "101":596,
    "102":575,
    "103":849,
    "104":679,
    "105":802,
    "106":501,
    "107":247,
    "108":107,
    "109":854,
    "110":24,
    "111":861,
    "112":642,
    "113":936,
    "114":420,
    "115":621,
    "116":367,
    "117":864,
    "118":884,
    "119":145,
    "120":885,
    "121":682,
    "122":146,
    "123":987,
    "124":780,
    "125":286,
    "126":231,
    "127":812,
    "128":989,
    "129":828,
    "130":643,
    "131":758,
    "132":171,
    "133":569,
    "134":332,
    "135":724,
    "136":616,
    "137":955,
    "138":276,
    "139":534,
    "140":111,
    "141":67,
    "142":776,
    "143":478,
    "144":573
  },
  "car_id":{
    "0":"c5577b3d-58fd-45d6-b3cc-15c4ed37f7d9",
    "1":"9578d049-958d-44e8-b611-4533c0a71074",
    "2":"7378adb7-a965-4795-ae7d-aebf469511e4",
    "3":"81f330da-c322-43c3-8536-bd92bc22555c",
    "4":"93497ddc-bea9-4af1-927c-8a2ab24a5699",
    "5":"c625e58b-8b03-4df4-ac3f-f55a824f3f59",
    "6":"b8d648cb-e4b8-4c14-853c-0900531bb142",
    "7":"6bf737b4-3084-4af7-ace7-315136f93eda",
    "8":"78b44210-090a-4256-ba3a-35235bb36b0e",
    "9":"b6d7f202-6989-4726-bc33-2fb278380602",
    "10":"5dbbdb37-88f3-4a70-8026-32849f2c2c05",
    "11":"ff80ce4d-5847-4d38-b905-b211ea011e02",
    "12":"46395c7c-77a2-401f-80eb-96bf3185ab97",
    "13":"5154213c-5875-40d6-9546-17255c8e278e",
    "14":"7b6919ce-b879-4e3d-9a44-91a8ae0f6644",
    "15":"25c0bd13-c560-4421-b958-1122bd3771a0",
    "16":"43187cd5-2316-4b81-b427-e9e7d752600a",
    "17":"1fe04043-4c8c-43ca-8e69-502783a6f196",
    "18":"263775e9-c07e-46a4-a693-3d62b527abbd",
    "19":"4836950f-68c4-4673-a79a-d45e67b40f5f",
    "20":"dfef6677-8ba7-49b5-bcdd-fa1d45888fcf",
    "21":"d50c8068-fe28-4a2b-88bb-8b1269bee640",
    "22":"395c1530-32f2-4084-ae12-217cd44e7893",
    "23":"b4b86ee1-5181-4a2f-8a83-14834b205d37",
    "24":"93f3735d-60be-4974-b01d-ce764b972a18",
    "25":"d754be9b-9e4f-4c90-a88e-e9d93b7b4a31",
    "26":"f9f13728-a47e-40b4-b3d8-52655fdce923",
    "27":"ee1d5037-4f0c-4278-8f74-64a2c4280be1",
    "28":"2e386c1c-075e-48f5-8dee-e9721d4c3412",
    "29":"a3f944df-3429-42d3-b566-63c0923697ea",
    "30":"75d00261-673f-4bbb-b0b2-44604f04fc73",
    "31":"46a14981-3479-4882-81ff-a176c90790e6",
    "32":"f8b86ad4-6e45-43ef-ab5b-fca11c3da48a",
    "33":"d23880d0-39d2-4302-834d-758a5f7d385b",
    "34":"9403d296-574d-41c9-8dd9-6943555bb873",
    "35":"50281ba9-8cd4-45fe-aa58-96cdfaa9ec75",
    "36":"cc5df18b-a342-4130-9db0-bf1ae7987164",
    "37":"b507aeff-f208-4e45-9da3-5c67ee8bd4a8",
    "38":"b2228c61-112b-4d57-ad82-d53f9490fb3b",
    "39":"ddb65ebd-c781-433d-a08d-9aa5c394a9be",
    "40":"1b5d41f8-7b81-412a-9398-78f9125e859c",
    "41":"b7187e24-7f29-4e6f-a632-989dbee52164",
    "42":"feb4a229-4aa7-4b7f-9421-b6633140b6ac",
    "43":"e6e6a3d4-3283-4adc-ad19-bb00c2d48495",
    "44":"a65f9c4e-a170-4f89-a80c-251ca79c9843",
    "45":"6f05d852-b43c-4c8f-bc21-17b832a1572f",
    "46":"144c36fc-6bbf-45c0-b0fd-5d2b6460cb01",
    "47":"c73802db-c188-4c7b-a8bf-e1bc7c63cf47",
    "48":"7231d3f7-0613-4f1d-8d2b-35112d221540",
    "49":"98ddfe24-25e9-49b9-b791-42a886ef8752",
    "50":"4478563f-b184-4ebb-8615-d84b7c249f56",
    "51":"7c507426-3532-40ce-9ab3-729904068ed3",
    "52":"7f69d4de-1ffb-4ac3-b556-b01a84bfefe9",
    "53":"d73b662d-14be-49d7-859f-9d20e1e376c7",
    "54":"17029efb-141d-4ced-bb82-56a8c50badea",
    "55":"385511c1-43f2-4b0f-bba0-b923ed164ad1",
    "56":"20815e0c-0877-4cdf-b61f-48f95f9510ea",
    "57":"9ad097c9-2970-4480-b15b-c2098f8e6141",
    "58":"a56327ed-4a43-4910-a18e-d4545d285bbe",
    "59":"96735569-2d20-4575-a36e-602ff8952a10",
    "60":"accde034-98ca-4926-ad58-25723c7b1897",
    "61":"f47529fe-ca9a-49df-9d98-4705dcbe971b",
    "62":"da7424ef-a2bb-4cac-8795-e231e83d1ddb",
    "63":"8818c957-eff4-410d-9d9b-8b26b47253f9",
    "64":"e59e2f3b-0252-4401-880f-42e6997beda8",
    "65":"be076613-634c-4164-9168-5c2d65793940",
    "66":"3a56978e-7724-40b1-8f72-6796cd1961b3",
    "67":"f2bb0131-b1a9-4746-81be-db8bd16696a6",
    "68":"6f5e9145-be17-4e3c-9d4c-506d89e0fe50",
    "69":"646f88ba-091a-42e8-8fca-ee9a49a9c28e",
    "70":"062044a1-38cf-47ec-a9ef-5867de7c9940",
    "71":"221860c4-479a-44aa-bb43-a1a70ca05dd1",
    "72":"3f3a6820-da3d-4912-b269-37ba06090009",
    "73":"819fb204-ca5c-4488-af6a-c50b4e24b2d6",
    "74":"138d12ea-ee89-453f-a646-b9cf2176ee40",
    "75":"943eea59-9ea7-4117-b898-0de5b3bad50b",
    "76":"834f8603-b758-4c0a-8915-362c473635fa",
    "77":"e4ec2a2b-c5da-4071-a7c8-18d76e851588",
    "78":"2c318882-4fa4-4799-8e1e-191e3fcb80c8",
    "79":"6d6085da-46ea-4726-9c90-f0a6a66fc2b4",
    "80":"fbd58958-17ae-4ce7-8137-b4edb17abbdd",
    "81":"eab42c64-fd79-488a-addc-e107a624b58d",
    "82":"f43b0025-3b28-4cb4-855e-b52296936c78",
    "83":"83f00240-f54d-4c44-b5d9-062f9d1d607e",
    "84":"e97c2135-b69a-4195-96e9-eddc23478bbd",
    "85":"7dde4b48-ae0a-4278-85e5-56b1349d224c",
    "86":"c715acaa-fa00-40bd-9b2e-27547431e8b6",
    "87":"bc3e072d-608d-42ab-a19c-5176f9db1045",
    "88":"2f0bb122-f3cc-4f77-b0cc-7cc668369533",
    "89":"12955ad9-5905-479a-a5d9-2c74a12a62cf",
    "90":"ab8b79bf-0ae4-4bdd-ba7b-800340bf20b7",
    "91":"f2aa4a29-d8d3-48df-9e5c-d0c25ee1f64b",
    "92":"6511b562-99f3-46dc-8902-6ca9eb006152",
    "93":"a461cf67-5cc5-493b-a3f9-d2f9c7aba085",
    "94":"caae32bc-449f-4b49-9d1c-61ac2f295fdd",
    "95":"da7954e2-c84c-4f93-b7b8-d713a7f591a1",
    "96":"c09eb254-385f-4a16-bc8d-bfcd73570a8e",
    "97":"3a6d26a0-fcb0-43c9-9ad2-768e0d2daa36",
    "98":"e8e9eda3-08e9-4258-bd81-7a49dd5733c7",
    "99":"ef6d658f-c203-4d1a-9a4f-738a8bb75a50",
    "100":"b02b9f6e-4e01-4659-864c-9389f36af2fa",
    "101":"4946ca8b-2fda-41dd-b877-316e9453a6cf",
    "102":"2c9e6551-ecb5-481a-b3e8-0d63c76262a3",
    "103":"c996a26e-010d-4802-b33b-d93ded897e8c",
    "104":"ecf20a68-56d0-4531-b93e-e12b3fec0e17",
    "105":"abe7b6f8-ef1f-4178-a362-54337fa3c223",
    "106":"62ef80b9-b117-45b7-9282-24bfa8ae353e",
    "107":"3663bdfc-941a-449e-8a2e-ae7343ae3448",
    "108":"0edb48ee-6856-481f-b48f-0b4e15ac253b",
    "109":"17920319-cf3b-4149-81e5-c008fd47c1cc",
    "110":"c0ebeed5-3aa4-47c3-a229-fbc8bbe28541",
    "111":"5b6dd8d9-461c-476d-8512-53e663219495",
    "112":"43655c28-5876-4295-88eb-858242319b74",
    "113":"c19409de-11fe-48c0-8457-ef2b8a98e463",
    "114":"5a0c62f7-41a6-4f62-9006-28c78d53e087",
    "115":"84f11176-b9e7-4e84-94be-c81523db4612",
    "116":"e4c27519-5ec3-49d7-8bd6-2cc468a23c20",
    "117":"b7bdbd74-eb9f-46d0-9d11-a5840c841b6b",
    "118":"0262971d-92a1-4bbd-bd15-b1804957bcd1",
    "119":"ea355147-0401-4572-b881-b139b8ff6327",
    "120":"31d3023e-4460-4328-82d0-c6820430eeeb",
    "121":"48f0b996-ad91-4915-893c-f3138ff5912d",
    "122":"af362e0b-bb1b-403c-97ef-71f11e4a7f79",
    "123":"b01ccf55-a39c-49c9-ac62-692a80b72ee6",
    "124":"5d0b3cf7-5405-4238-b61e-5e6c63e04a46",
    "125":"570234a5-abaf-4ca9-b14a-143e44421d18",
    "126":"6025fff5-b649-460c-b55f-3d0d4e449655",
    "127":"ecb86424-d673-41ad-a9e9-2be25462587b",
    "128":"9431564f-28a6-4953-bb43-9fb69a84636c",
    "129":"309de1f7-a4a6-470f-a8d5-0e5370f5d350",
    "130":"4a5a4c68-bd9d-440e-965c-9440444f5f76",
    "131":"7a9fcdc7-e01b-4763-8e34-366c4c0e286e",
    "132":"891588a4-741e-4296-84ab-c64b842024a2",
    "133":"f42caffd-6934-4c37-825e-cf931b7bb497",
    "134":"1ed079a9-7058-4a8c-93b6-bf2ae2d34e7d",
    "135":"a41e2d2b-404e-4fb9-aff6-1aa65cd85491",
    "136":"877bb149-a37a-4964-99f8-9512949d3afb",
    "137":"b91c2b8d-7e77-41c8-9d22-3c2ab0f74b55",
    "138":"aa6fff29-47d9-4f7a-b4ef-4359e821eb27",
    "139":"cabfe53f-b17c-4b42-b101-6807322ade8e",
    "140":"59d2f3a2-a7cf-4da1-bfe0-40b89323caa9",
    "141":"0660a94e-59fa-48b3-8ac6-1c7542bcad35",
    "142":"ea2eee7c-15ad-4284-ba94-fd50cf8ff3fd",
    "143":"2af47107-975d-420d-a300-e6dfcca4ff81",
    "144":"30fc4c2b-55cb-456c-a56a-862cfe2a0063"
  },
  "car_make":{
    "0":"Mazda",
    "1":"Volvo",
    "2":"Oldsmobile",
    "3":"Mazda",
    "4":"Ford",
    "5":"Pontiac",
    "6":"Pontiac",
    "7":"Mercedes-Benz",
    "8":"Buick",
    "9":"Pontiac",
    "10":"Suzuki",
    "11":"Oldsmobile",
    "12":"Nissan",
    "13":"Mercedes-Benz",
    "14":"Pontiac",
    "15":"Chevrolet",
    "16":"Hyundai",
    "17":"Buick",
    "18":"Buick",
    "19":"Plymouth",
    "20":"Ford",
    "21":"Chevrolet",
    "22":"Ford",
    "23":"Toyota",
    "24":"Ford",
    "25":"Land Rover",
    "26":"Lotus",
    "27":"Mercedes-Benz",
    "28":"Cadillac",
    "29":"Mitsubishi",
    "30":"Nissan",
    "31":"Pontiac",
    "32":"Mercury",
    "33":"Porsche",
    "34":"Mercury",
    "35":"Mercury",
    "36":"Porsche",
    "37":"Ford",
    "38":"GMC",
    "39":"Eagle",
    "40":"Chevrolet",
    "41":"Toyota",
    "42":"Chevrolet",
    "43":"Subaru",
    "44":"Chevrolet",
    "45":"Volvo",
    "46":"Buick",
    "47":"Lotus",
    "48":"Bentley",
    "49":"Mitsubishi",
    "50":"Audi",
    "51":"Honda",
    "52":"Subaru",
    "53":"Dodge",
    "54":"Ford",
    "55":"Mitsubishi",
    "56":"Mazda",
    "57":"Ford",
    "58":"Mazda",
    "59":"MINI",
    "60":"Volkswagen",
    "61":"Acura",
    "62":"Ford",
    "63":"Honda",
    "64":"Buick",
    "65":"Audi",
    "66":"Pontiac",
    "67":"Plymouth",
    "68":"Nissan",
    "69":"Volvo",
    "70":"BMW",
    "71":"Lotus",
    "72":"Subaru",
    "73":"Alfa Romeo",
    "74":"Mitsubishi",
    "75":"Volkswagen",
    "76":"Ford",
    "77":"Jaguar",
    "78":"Chevrolet",
    "79":"Ferrari",
    "80":"Mercedes-Benz",
    "81":"Cadillac",
    "82":"BMW",
    "83":"Suzuki",
    "84":"Ford",
    "85":"Toyota",
    "86":"Acura",
    "87":"Pontiac",
    "88":"Pontiac",
    "89":"Pontiac",
    "90":"Volvo",
    "91":"Suzuki",
    "92":"Toyota",
    "93":"Mazda",
    "94":"Buick",
    "95":"Chrysler",
    "96":"Saab",
    "97":"Acura",
    "98":"Aston Martin",
    "99":"Volvo",
    "100":"Mercury",
    "101":"Dodge",
    "102":"Bentley",
    "103":"Chevrolet",
    "104":"Honda",
    "105":"Mitsubishi",
    "106":"Chrysler",
    "107":"Buick",
    "108":"Honda",
    "109":"Volkswagen",
    "110":"Lincoln",
    "111":"BMW",
    "112":"Maserati",
    "113":"Eagle",
    "114":"Volkswagen",
    "115":"Mercury",
    "116":"Plymouth",
    "117":"Saab",
    "118":"Audi",
    "119":"Hyundai",
    "120":"Nissan",
    "121":"Mercedes-Benz",
    "122":"Cadillac",
    "123":"Mitsubishi",
    "124":"Subaru",
    "125":"Volvo",
    "126":"Saturn",
    "127":"Subaru",
    "128":"Lexus",
    "129":"Mercury",
    "130":"Buick",
    "131":"Suzuki",
    "132":"Volkswagen",
    "133":"Dodge",
    "134":"Audi",
    "135":"Maybach",
    "136":"Jaguar",
    "137":"Chevrolet",
    "138":"Dodge",
    "139":"Chevrolet",
    "140":"GMC",
    "141":"Subaru",
    "142":"GMC",
    "143":"Mercedes-Benz",
    "144":"BMW"
  },
  "car_model":{
    "0":"RX-7",
    "1":"XC70",
    "2":"Achieva",
    "3":"Mazda6",
    "4":"Excursion",
    "5":"Fiero",
    "6":"LeMans",
    "7":"E-Class",
    "8":"Rainier",
    "9":"GTO",
    "10":"Aerio",
    "11":"Alero",
    "12":"Sentra",
    "13":"CL-Class",
    "14":"Grand Prix",
    "15":"S10",
    "16":"Sonata",
    "17":"LeSabre",
    "18":"Enclave",
    "19":"Neon",
    "20":"E350",
    "21":"Camaro",
    "22":"Crown Victoria",
    "23":"Camry",
    "24":"Fusion",
    "25":"Range Rover",
    "26":"Evora",
    "27":"CL-Class",
    "28":"XLR-V",
    "29":"L300",
    "30":"Xterra",
    "31":"Trans Sport",
    "32":"Cougar",
    "33":"928",
    "34":"Grand Marquis",
    "35":"Mountaineer",
    "36":"Boxster",
    "37":"Aerostar",
    "38":"Yukon",
    "39":"Talon",
    "40":"S10",
    "41":"4Runner",
    "42":"Venture",
    "43":"Forester",
    "44":"Express 1500",
    "45":"S60",
    "46":"Park Avenue",
    "47":"Esprit",
    "48":"Continental Flying Spur",
    "49":"Chariot",
    "50":"riolet",
    "51":"Fit",
    "52":"Legacy",
    "53":"Dynasty",
    "54":"E250",
    "55":"Pajero",
    "56":"Tribute",
    "57":"Explorer Sport Trac",
    "58":"RX-7",
    "59":"Cooper",
    "60":"R32",
    "61":"NSX",
    "62":"F350",
    "63":"Passport",
    "64":"Park Avenue",
    "65":"riolet",
    "66":"Firebird",
    "67":"Voyager",
    "68":"300ZX",
    "69":"S60",
    "70":"X5",
    "71":"Elise",
    "72":"Legacy",
    "73":"Spider",
    "74":"Montero",
    "75":"Scirocco",
    "76":"Ranger",
    "77":"XK Series",
    "78":"Uplander",
    "79":"612 Scaglietti",
    "80":"190E",
    "81":"XLR-V",
    "82":"Z4",
    "83":"SX4",
    "84":"EXP",
    "85":"Corolla",
    "86":"RL",
    "87":"Bonneville",
    "88":"Torrent",
    "89":"Bonneville",
    "90":"S80",
    "91":"Swift",
    "92":"T100",
    "93":"RX-7",
    "94":"Rendezvous",
    "95":"Cirrus",
    "96":"900",
    "97":"Integra",
    "98":"V8 Vantage",
    "99":"XC60",
    "100":"Tracer",
    "101":"Durango",
    "102":"Continental GTC",
    "103":"Colorado",
    "104":"Accord",
    "105":"Eclipse",
    "106":"Voyager",
    "107":"Somerset",
    "108":"CR-X",
    "109":"Touareg 2",
    "110":"Continental",
    "111":"Z3",
    "112":"Quattroporte",
    "113":"Talon",
    "114":"Jetta",
    "115":"Mariner",
    "116":"Grand Voyager",
    "117":"9000",
    "118":"V8",
    "119":"Elantra",
    "120":"200SX",
    "121":"S-Class",
    "122":"XLR-V",
    "123":"Pajero",
    "124":"Tribeca",
    "125":"XC70",
    "126":"Ion",
    "127":"Legacy",
    "128":"ES",
    "129":"Cougar",
    "130":"Regal",
    "131":"Grand Vitara",
    "132":"Cabriolet",
    "133":"Dakota",
    "134":"S6",
    "135":"57S",
    "136":"XK",
    "137":"Impala",
    "138":"Grand Caravan",
    "139":"Express 1500",
    "140":"Sierra 1500",
    "141":"Legacy",
    "142":"Sonoma",
    "143":"SL-Class",
    "144":"X5"
  },
  "email":{
    "0":"asleichtes@tiny.cc",
    "1":"lfredelq@go.com",
    "2":"dlegerwood7e@youtu.be",
    "3":"cbryantp0@tinypic.com",
    "4":"bblazemf@scribd.com",
    "5":"tdickinge@guardian.co.uk",
    "6":"jsaffrinky@ebay.co.uk",
    "7":"cdimmackar@macromedia.com",
    "8":"mpattlelp4@plala.or.jp",
    "9":"trainforddo@rakuten.co.jp",
    "10":"ejendrickejf@twitter.com",
    "11":"mbrafieldfo@google.com.br",
    "12":"nfuggleln@usa.gov",
    "13":"bcoxonq@unc.edu",
    "14":"cstrathmanm4@joomla.org",
    "15":"mscogings45@ehow.com",
    "16":"criggollin@fastcompany.com",
    "17":"lludwikiewiczp3@nps.gov",
    "18":"aglandonhn@cmu.edu",
    "19":"dbickerstaffe5v@wp.com",
    "20":"msindle6h@photobucket.com",
    "21":"aandryushin9m@salon.com",
    "22":"nabad3s@homestead.com",
    "23":"hmoralasb9@ed.gov",
    "24":"cjuneix@gmpg.org",
    "25":"kbeckettq4@printfriendly.com",
    "26":"aastbury9y@mac.com",
    "27":"gredfordjb@samsung.com",
    "28":"pshimonyfw@harvard.edu",
    "29":"lwoolacottom@cornell.edu",
    "30":"bbromwichfl@nba.com",
    "31":"emunkley55@w3.org",
    "32":"dmaxwale5n@zdnet.com",
    "33":"jneashamjg@gov.uk",
    "34":"hhardyj2@ocn.ne.jp",
    "35":"lsottellmj@about.com",
    "36":"crollings97@meetup.com",
    "37":"agaydon4@ted.com",
    "38":"cmalbonb4@hugedomains.com",
    "39":"mmccuffie4v@geocities.jp",
    "40":"mfulbrook73@seesaa.net",
    "41":"cthackereb@indiatimes.com",
    "42":"dwilkensonj3@paginegialle.it",
    "43":"tcleminshaw24@surveymonkey.com",
    "44":"dseamansoc@rambler.ru",
    "45":"friachgt@phpbb.com",
    "46":"atesche6x@wordpress.com",
    "47":"ppinkard2e@alexa.com",
    "48":"dhowsleym0@spotify.com",
    "49":"adecourcey8e@nymag.com",
    "50":"omoraleseo@japanpost.jp",
    "51":"speyzerc7@yellowbook.com",
    "52":"hwhatfordpe@nba.com",
    "53":"ccaldecuttjs@issuu.com",
    "54":"jtimmiso4@clickbank.net",
    "55":"ptrengovegi@cdbaby.com",
    "56":"mgutch62@tinypic.com",
    "57":"lflinders2c@tiny.cc",
    "58":"sgrigore1h@phoca.cz",
    "59":"tglentono8@unc.edu",
    "60":"dkristofet@nifty.com",
    "61":"jpearsejl@clickbank.net",
    "62":"ljanatkam8@newsvine.com",
    "63":"mgerlts4f@smugmug.com",
    "64":"hmcenenyit@twitpic.com",
    "65":"alegricedv@aol.com",
    "66":"nleareqx@wikimedia.org",
    "67":"mdunbabinj6@admin.ch",
    "68":"tbarleybc@ibm.com",
    "69":"aosgar69@who.int",
    "70":"fcorkerpv@sbwire.com",
    "71":"plisciandridl@sina.com.cn",
    "72":"sdobell9c@youtube.com",
    "73":"aderyebarrett2r@omniture.com",
    "74":"cchildrenso3@china.com.cn",
    "75":"bgemellich@blog.com",
    "76":"jcolvilloi@arstechnica.com",
    "77":"msnellre@addthis.com",
    "78":"broakesaz@list-manage.com",
    "79":"mrolingsonkz@cafepress.com",
    "80":"ddudderidgeqo@illinois.edu",
    "81":"nshenfischa6@surveymonkey.com",
    "82":"knovotneig@ocn.ne.jp",
    "83":"sstallybrasslv@businesswire.com",
    "84":"ydeem2y@miitbeian.gov.cn",
    "85":"fmandrycm@newsvine.com",
    "86":"elaintonpf@goo.gl",
    "87":"ahallgough6e@slashdot.org",
    "88":"clodovichi1q@harvard.edu",
    "89":"eohalligan7j@ox.ac.uk",
    "90":"jmutchrk@wikia.com",
    "91":"ederlpk@exblog.jp",
    "92":"rbuck9i@wikispaces.com",
    "93":"lcopyn93@nba.com",
    "94":"iwinstanleyqh@google.co.uk",
    "95":"vcucuzzajd@deviantart.com",
    "96":"rgoeffdw@live.com",
    "97":"vbohlmannk6@joomla.org",
    "98":"ahradsky9q@ask.com",
    "99":"bdeavels@prnewswire.com",
    "100":"mharrigand5@livejournal.com",
    "101":"edealygk@youku.com",
    "102":"kbulcroftfz@microsoft.com",
    "103":"drichienl@quantcast.com",
    "104":"ehebbesiv@gov.uk",
    "105":"cblinderma@thetimes.co.uk",
    "106":"hmenaultdx@dyndns.org",
    "107":"sallans6v@addtoany.com",
    "108":"aellse2z@amazon.co.uk",
    "109":"lpoonenq@xinhuanet.com",
    "110":"rmateoso@friendfeed.com",
    "111":"cfaynenx@xinhuanet.com",
    "112":"atruderhu@list-manage.com",
    "113":"ekeenq0@nsw.gov.au",
    "114":"vstilldalebo@infoseek.co.jp",
    "115":"fstickellsh9@ocn.ne.jp",
    "116":"clefleya7@vinaora.com",
    "117":"fkimbleno0@dell.com",
    "118":"mlukasikok@google.nl",
    "119":"nfoat41@nba.com",
    "120":"hjergol@ow.ly",
    "121":"wdigiorgioiy@tumblr.com",
    "122":"nmeece42@netscape.com",
    "123":"fmclevierf@prweb.com",
    "124":"ncolgravelo@npr.org",
    "125":"ntregenna7y@vimeo.com",
    "126":"jworviell6f@yellowbook.com",
    "127":"gunthankmk@posterous.com",
    "128":"dpilipyakrh@berkeley.edu",
    "129":"cstanionn0@myspace.com",
    "130":"dwilkissonhv@opera.com",
    "131":"zdonohoel2@shinystat.com",
    "132":"gbrands4r@paypal.com",
    "133":"bdelucaft@blogspot.com",
    "134":"dhanburybrown98@devhub.com",
    "135":"xmcdonoghk4@nba.com",
    "136":"bgotcherh4@youku.com",
    "137":"mwindressqj@yahoo.com",
    "138":"olimbrick7o@google.de",
    "139":"kbachmaneu@flickr.com",
    "140":"aslowgrove33@biblegateway.com",
    "141":"gcake1v@msu.edu",
    "142":"bdenneslk@webs.com",
    "143":"jhenrysda@ifeng.com",
    "144":"cdufourfx@cdbaby.com"
  }
}