SDS-2.2, Scalable Data Science
Archived YouTube video of this live unedited lab-lecture:
Analysis of NY Taxi dataset in magellan
Replicating Ram Sriharsha's analysis by Victor Ingman.
See https://magellan.ghost.io/magellan-geospatial-processing-made-easy/ for Ram's blog on this data analysis and learn about the dataset at http://www.nyc.gov/html/tlc/html/about/triprecorddata.shtml.
# download data yall
# wget https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2017-06.csv // the schema is different so this needs more work
wget https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2015-07.csv
--2017-10-11 21:04:00-- https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2015-07.csv Resolving s3.amazonaws.com (s3.amazonaws.com)... 52.216.224.59 Connecting to s3.amazonaws.com (s3.amazonaws.com)|52.216.224.59|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1812530041 (1.7G) [application/octet-stream] Saving to: ‘yellow_tripdata_2015-07.csv’ 0K .......... .......... .......... .......... .......... 0% 206K 2h23m 50K .......... .......... .......... .......... .......... 0% 310K 1h59m 100K .......... .......... .......... .......... .......... 0% 617K 95m21s 150K .......... .......... .......... .......... .......... 0% 618K 83m27s 200K .......... .......... .......... .......... .......... 0% 619K 76m17s 250K .......... .......... .......... .......... .......... 0% 622K 71m29s 300K .......... .......... .......... .......... .......... 0% 80.8M 61m19s 350K .......... .......... .......... .......... .......... 0% 619K 59m36s 400K .......... .......... .......... .......... .......... 0% 622K 58m15s 450K .......... .......... .......... .......... .......... 0% 96.4M 52m27s 500K .......... .......... .......... .......... .......... 0% 1.23M 49m48s 550K .......... .......... .......... .......... .......... 0% 1.19M 47m40s 600K .......... .......... .......... .......... .......... 0% 92.5M 44m1s 650K .......... .......... .......... .......... .......... 0% 625K 44m15s 700K .......... .......... .......... .......... .......... 0% 97.2M 41m19s 750K .......... .......... .......... .......... .......... 0% 1.23M 40m12s 800K .......... .......... .......... .......... .......... 0% 1.21M 39m14s 850K .......... .......... .......... .......... .......... 0% 154M 37m4s 900K .......... .......... .......... .......... .......... 0% 128M 35m8s 950K .......... .......... .......... .......... .......... 0% 626K 35m44s 1000K .......... .......... .......... .......... .......... 0% 81.1M 34m2s 1050K .......... .......... .......... .......... .......... 0% 146M 32m30s 1100K .......... .......... .......... .......... .......... 0% 1.26M 32m5s 1150K .......... .......... .......... .......... .......... 0% 1.18M 31m45s 1200K .......... .......... .......... .......... .......... 0% 95.5M 30m30s 1250K .......... .......... .......... .......... .......... 0% 174M 29m20s 1300K .......... .......... .......... .......... .......... 0% 1.26M 29m5s 1350K .......... .......... .......... .......... .......... 0% 1.18M 28m55s 1400K .......... .......... .......... .......... .......... 0% 100M 27m56s 1450K .......... .......... .......... .......... .......... 0% 92.8M 27m1s 1500K .......... .......... .......... .......... .......... 0% 173M 26m9s 1550K .......... .......... .......... .......... .......... 0% 1.25M 26m3s 1600K .......... .......... .......... .......... .......... 0% 1.21M 25m59s 1650K .......... .......... .......... .......... .......... 0% 61.1M 25m14s 1700K .......... .......... .......... .......... .......... 0% 99.3M 24m31s 1750K .......... .......... .......... .......... .......... 0% 150M 23m50s 1800K .......... .......... .......... .......... .......... 0% 1.30M 23m48s 1850K .......... .......... .......... .......... .......... 0% 39.0M 23m11s 1900K .......... .......... .......... .......... .......... 0% 1.21M 23m12s 1950K .......... .......... .......... .......... .......... 0% 59.4M 22m38s 2000K .......... .......... .......... .......... .......... 0% 130M 22m5s 2050K .......... .......... .......... .......... .......... 0% 129M 21m34s 2100K .......... .......... .......... .......... .......... 0% 1.30M 21m35s 2150K .......... .......... .......... .......... .......... 0% 37.9M 21m6s 2200K .......... .......... .......... .......... .......... 0% 1.21M 21m10s 2250K .......... .......... .......... .......... .......... 0% 62.4M 20m43s 2300K .......... .......... .......... .......... .......... 0% 90.2M 20m17s 2350K .......... .......... .......... .......... .......... 0% 132M 19m51s 2400K .......... .......... .......... .......... .......... 0% 1.30M 19m54s 2450K .......... .......... .......... .......... .......... 0% 41.4M 19m31s 2500K .......... .......... .......... .......... .......... 0% 1.21M 19m36s 2550K .......... .......... .......... .......... .......... 0% 123M 19m14s 2600K .......... .......... .......... .......... .......... 0% 151M 18m52s 2650K .......... .......... .......... .......... .......... 0% 139M 18m31s 2700K .......... .......... .......... .......... .......... 0% 160M 18m11s 2750K .......... .......... .......... .......... .......... 0% 1.29M 18m16s 2800K .......... .......... .......... .......... .......... 0% 39.8M 17m57s 2850K .......... .......... .......... .......... .......... 0% 1.22M 18m3s 2900K .......... .......... .......... .......... .......... 0% 108M 17m45s 2950K .......... .......... .......... .......... .......... 0% 101M 17m27s 3000K .......... .......... .......... .......... .......... 0% 159M 17m10s 3050K .......... .......... .......... .......... .......... 0% 145M 16m54s 3100K .......... .......... .......... .......... .......... 0% 1.29M 16m59s 3150K .......... .......... .......... .......... .......... 0% 41.1M 16m44s 3200K .......... .......... .......... .......... .......... 0% 1.22M 16m50s 3250K .......... .......... .......... .......... .......... 0% 70.4M 16m35s 3300K .......... .......... .......... .......... .......... 0% 128M 16m20s 3350K .......... .......... .......... .......... .......... 0% 126M 16m6s 3400K .......... .......... .......... .......... .......... 0% 174M 15m52s 3450K .......... .......... .......... .......... .......... 0% 162M 15m39s 3500K .......... .......... .......... .......... .......... 0% 1.29M 15m44s 3550K .......... .......... .......... .......... .......... 0% 54.0M 15m32s 3600K .......... .......... .......... .......... .......... 0% 81.5M 15m19s 3650K .......... .......... .......... .......... .......... 0% 1.22M 15m26s 3700K .......... .......... .......... .......... .......... 0% 72.3M 15m14s 3750K .......... .......... .......... .......... .......... 0% 65.6M 15m2s 3800K .......... .......... .......... .......... .......... 0% 100M 14m50s 3850K .......... .......... .......... .......... .......... 0% 138M 14m39s 3900K .......... .......... .......... .......... .......... 0% 130M 14m28s 3950K .......... .......... .......... .......... .......... 0% 1.32M 14m34s 4000K .......... .......... .......... .......... .......... 0% 70.0M 14m23s 4050K .......... .......... .......... .......... .......... 0% 68.7M 14m13s 4100K .......... .......... .......... .......... .......... 0% 1.24M 14m19s 4150K .......... .......... .......... .......... .......... 0% 76.4M 14m9s 4200K .......... .......... .......... .......... .......... 0% 61.5M 14m0s 4250K .......... .......... .......... .......... .......... 0% 73.8M 13m50s 4300K .......... .......... .......... .......... .......... 0% 150M 13m41s 4350K .......... .......... .......... .......... .......... 0% 118M 13m31s 4400K .......... .......... .......... .......... .......... 0% 130M 13m22s 4450K .......... .......... .......... .......... .......... 0% 128M 13m14s 4500K .......... .......... .......... .......... .......... 0% 1.33M 13m19s 4550K .......... .......... .......... .......... .......... 0% 84.5M 13m11s 4600K .......... .......... .......... .......... .......... 0% 87.3M 13m2s 4650K .......... .......... .......... .......... .......... 0% 1.23M 13m9s 4700K .......... .......... .......... .......... .......... 0% 54.9M 13m1s 4750K .......... .......... .......... .......... .......... 0% 77.1M 12m53s 4800K .......... .......... .......... .......... .......... 0% 78.6M 12m45s 4850K .......... .......... .......... .......... .......... 0% 135M 12m38s 4900K .......... .......... .......... .......... .......... 0% 113M 12m30s 4950K .......... .......... .......... .......... .......... 0% 133M 12m23s 5000K .......... .......... .......... .......... .......... 0% 1.34M 12m28s 5050K .......... .......... .......... .......... .......... 0% 73.6M 12m21s 5100K .......... .......... .......... .......... .......... 0% 82.1M 12m14s 5150K .......... .......... .......... .......... .......... 0% 129M 12m7s 5200K .......... .......... .......... .......... .......... 0% 1.25M 12m13s 5250K .......... .......... .......... .......... .......... 0% 57.1M 12m6s 5300K .......... .......... .......... .......... .......... 0% 72.6M 12m0s 5350K .......... .......... .......... .......... .......... 0% 71.3M 11m53s 5400K .......... .......... .......... .......... .......... 0% 103M 11m47s 5450K .......... .......... .......... .......... .......... 0% 161M 11m41s 5500K .......... .......... .......... .......... .......... 0% 165M 11m34s 5550K .......... .......... .......... .......... .......... 0% 146M 11m28s 5600K .......... .......... .......... .......... .......... 0% 155M 11m22s 5650K .......... .......... .......... .......... .......... 0% 1.34M 11m28s 5700K .......... .......... .......... .......... .......... 0% 94.5M 11m22s 5750K .......... .......... .......... .......... .......... 0% 70.9M 11m16s 5800K .......... .......... .......... .......... .......... 0% 157M 11m10s 5850K .......... .......... .......... .......... .......... 0% 1.25M 11m16s 5900K .......... .......... .......... .......... .......... 0% 80.0M 11m11s 5950K .......... .......... .......... .......... .......... 0% 90.3M 11m5s 6000K .......... .......... .......... .......... .......... 0% 86.5M 11m0s 6050K .......... .......... .......... .......... .......... 0% 70.4M 10m55s 6100K .......... .......... .......... .......... .......... 0% 103M 10m50s 6150K .......... .......... .......... .......... .......... 0% 123M 10m44s 6200K .......... .......... .......... .......... .......... 0% 158M 10m39s 6250K .......... .......... .......... .......... .......... 0% 139M 10m34s 6300K .......... .......... .......... .......... .......... 0% 151M 10m29s 6350K .......... .......... .......... .......... .......... 0% 1.35M 10m34s 6400K .......... .......... .......... .......... .......... 0% 163M 10m30s 6450K .......... .......... .......... .......... .......... 0% 92.2M 10m25s 6500K .......... .......... .......... .......... .......... 0% 220M 10m20s 6550K .......... .......... .......... .......... .......... 0% 1.24M 10m26s 6600K .......... .......... .......... .......... .......... 0% 130M 10m21s 6650K .......... .......... .......... .......... .......... 0% 115M 10m17s 6700K .......... .......... .......... .......... .......... 0% 149M 10m12s 6750K .......... .......... .......... .......... .......... 0% 125M 10m8s 6800K .......... .......... .......... .......... .......... 0% 146M 10m4s 6850K .......... .......... .......... .......... .......... 0% 107M 9m59s 6900K .......... .......... .......... .......... .......... 0% 130M 9m55s 6950K .......... .......... .......... .......... .......... 0% 203M 9m51s 7000K .......... .......... .......... .......... .......... 0% 251M 9m47s 7050K .......... .......... .......... .......... .......... 0% 1.32M 9m52s 7100K .......... .......... .......... .......... .......... 0% 106M 9m48s 7150K .......... .......... .......... .......... .......... 0% 129M 9m44s 7200K .......... .......... .......... .......... .......... 0% 145M 9m40s 7250K .......... .......... .......... .......... .......... 0% 194M 9m36s 7300K .......... .......... .......... .......... .......... 0% 1.24M 9m41s 7350K .......... .......... .......... .......... .......... 0% 69.7M 9m37s 7400K .......... .......... .......... .......... .......... 0% 99.8M 9m34s 7450K .......... .......... .......... .......... .......... 0% 105M 9m30s 7500K .......... .......... .......... .......... .......... 0% 97.9M 9m26s 7550K .......... .......... .......... .......... .......... 0% 75.8M 9m23s 7600K .......... .......... .......... .......... .......... 0% 159M 9m19s 7650K .......... .......... .......... .......... .......... 0% 164M 9m15s 7700K .......... .......... .......... .......... .......... 0% 166M 9m12s 7750K .......... .......... .......... .......... .......... 0% 138M 9m8s 7800K .......... .......... .......... .......... .......... 0% 148M 9m5s 7850K .......... .......... .......... .......... .......... 0% 1.37M 9m10s 7900K .......... .......... .......... .......... .......... 0% 78.6M 9m6s 7950K .......... .......... .......... .......... .......... 0% 81.1M 9m3s 8000K .......... .......... .......... .......... .......... 0% 159M 9m0s 8050K .......... .......... .......... .......... .......... 0% 163M 8m56s 8100K .......... .......... .......... .......... .......... 0% 1.26M 9m1s 8150K .......... .......... .......... .......... .......... 0% 67.9M 8m58s 8200K .......... .......... .......... .......... .......... 0% 91.5M 8m55s 8250K .......... .......... .......... .......... .......... 0% 87.4M 8m52s 8300K .......... .......... .......... .......... .......... 0% 85.6M 8m49s 8350K .......... .......... .......... .......... .......... 0% 88.2M 8m46s 8400K .......... .......... .......... .......... .......... 0% 102M 8m43s 8450K .......... .......... .......... .......... .......... 0% 160M 8m40s 8500K .......... .......... .......... .......... .......... 0% 154M 8m37s 8550K .......... .......... .......... .......... .......... 0% 134M 8m34s 8600K .......... .......... .......... .......... .......... 0% 161M 8m31s 8650K .......... .......... .......... .......... .......... 0% 163M 8m28s 8700K .......... .......... .......... .......... .......... 0% 1.39M 8m32s 8750K .......... .......... .......... .......... .......... 0% 74.3M 8m29s 8800K .......... .......... .......... .......... .......... 0% 79.4M 8m27s 8850K .......... .......... .......... .......... .......... 0% 112M 8m24s 8900K .......... .......... .......... .......... .......... 0% 131M 8m21s 8950K .......... .......... .......... .......... .......... 0% 1.27M 8m26s 9000K .......... .......... .......... .......... .......... 0% 60.6M 8m23s 9050K .......... .......... .......... .......... .......... 0% 86.7M 8m20s 9100K .......... .......... .......... .......... .......... 0% 89.4M 8m18s 9150K .......... .......... .......... .......... .......... 0% 87.3M 8m15s 9200K .......... .......... .......... .......... .......... 0% 93.9M 8m13s 9250K .......... .......... .......... .......... .......... 0% 64.3M 8m10s 9300K .......... .......... .......... .......... .......... 0% 139M 8m7s 9350K .......... .......... .......... .......... .......... 0% 129M 8m5s 9400K .......... .......... .......... .......... .......... 0% 163M 8m2s 9450K .......... .......... .......... .......... .......... 0% 164M 8m0s 9500K .......... .......... .......... .......... .......... 0% 163M 7m57s 9550K .......... .......... .......... .......... .......... 0% 135M 7m55s 9600K .......... .......... .......... .......... .......... 0% 158M 7m53s 9650K .......... .......... .......... .......... .......... 0% 1.41M 7m56s 9700K .......... .......... .......... .......... .......... 0% 82.7M 7m54s 9750K .......... .......... .......... .......... .......... 0% 73.4M 7m52s 9800K .......... .......... .......... .......... .......... 0% 164M 7m49s 9850K .......... .......... .......... .......... .......... 0% 165M 7m47s 9900K .......... .......... .......... .......... .......... 0% 1.28M 7m52s 9950K .......... .......... .......... .......... .......... 0% 67.1M 7m49s 10000K .......... .......... .......... .......... .......... 0% 80.5M 7m47s 10050K .......... .......... .......... .......... .......... 0% 91.8M 7m45s 10100K .......... .......... .......... .......... .......... 0% 97.1M 7m43s 10150K .......... .......... .......... .......... .......... 0% 61.5M 7m40s 10200K .......... .......... .......... .......... .......... 0% 82.2M 7m38s 10250K .......... .......... .......... .......... .......... 0% 160M 7m36s 10300K .......... .......... .......... .......... .......... 0% 166M 7m34s 10350K .......... .......... .......... .......... .......... 0% 141M 7m32s 10400K .......... .......... .......... .......... .......... 0% 153M 7m30s 10450K .......... .......... .......... .......... .......... 0% 159M 7m28s 10500K .......... .......... .......... .......... .......... 0% 156M 7m25s 10550K .......... .......... .......... .......... .......... 0% 115M 7m23s 10600K .......... .......... .......... .......... .......... 0% 1.41M 7m27s 10650K .......... .......... .......... .......... .......... 0% 87.6M 7m25s 10700K .......... .......... .......... .......... .......... 0% 92.5M 7m23s 10750K .......... .......... .......... .......... .......... 0% 110M 7m21s 10800K .......... .......... .......... .......... .......... 0% 159M 7m19s 10850K .......... .......... .......... .......... .......... 0% 158M 7m17s 10900K .......... .......... .......... .......... .......... 0% 1.29M 7m21s 10950K .......... .......... .......... .......... .......... 0% 57.1M 7m19s 11000K .......... .......... .......... .......... .......... 0% 104M 7m17s 11050K .......... .......... .......... .......... .......... 0% 88.1M 7m16s 11100K .......... .......... .......... .......... .......... 0% 103M 7m14s 11150K .......... .......... .......... .......... .......... 0% 79.9M 7m12s 11200K .......... .......... .......... .......... .......... 0% 104M 7m10s 11250K .......... .......... .......... .......... .......... 0% 100M 7m8s 11300K .......... .......... .......... .......... .......... 0% 161M 7m6s 11350K .......... .......... .......... .......... .......... 0% 132M 7m4s 11400K .......... .......... .......... .......... .......... 0% 160M 7m3s 11450K .......... .......... .......... .......... .......... 0% 168M 7m1s 11500K .......... .......... .......... .......... .......... 0% 166M 6m59s 11550K .......... .......... .......... .......... .......... 0% 124M 6m57s 11600K .......... .......... .......... .......... .......... 0% 155M 6m55s 11650K .......... .......... .......... .......... .......... 0% 1.42M 6m59s 11700K .......... .......... .......... .......... .......... 0% 116M 6m57s 11750K .......... .......... .......... .......... .......... 0% 141M 6m55s 11800K .......... .......... .......... .......... .......... 0% 198M 6m54s 11850K .......... .......... .......... .......... .......... 0% 129M 6m52s 11900K .......... .......... .......... .......... .......... 0% 108M 6m50s 11950K .......... .......... .......... .......... .......... 0% 1.27M 6m54s 12000K .......... .......... .......... .......... .......... 0% 88.8M 6m53s 12050K .......... .......... .......... .......... .......... 0% 101M 6m51s 12100K .......... .......... .......... .......... .......... 0% 93.7M 6m49s 12150K .......... .......... .......... .......... .......... 0% 66.1M 6m48s 12200K .......... .......... .......... .......... .......... 0% 94.8M 6m46s 12250K .......... .......... .......... .......... .......... 0% 93.1M 6m44s 12300K .......... .......... .......... .......... .......... 0% 86.5M 6m43s 12350K .......... .......... .......... .......... .......... 0% 144M 6m41s 12400K .......... .......... .......... .......... .......... 0% 158M 6m40s 12450K .......... .......... .......... .......... .......... 0% 151M 6m38s 12500K .......... .......... .......... .......... .......... 0% 158M 6m37s 12550K .......... .......... .......... .......... .......... 0% 132M 6m35s 12600K .......... .......... .......... .......... .......... 0% 167M 6m34s 12650K .......... .......... .......... .......... .......... 0% 166M 6m32s 12700K .......... .......... .......... .......... .......... 0% 159M 6m31s 12750K .......... .......... .......... .......... .......... 0% 1.44M 6m34s 12800K .......... .......... .......... .......... .......... 0% 79.1M 6m32s 12850K .......... .......... .......... .......... .......... 0% 158M 6m31s 12900K .......... .......... .......... .......... .......... 0% 165M 6m29s 12950K .......... .......... .......... .......... .......... 0% 126M 6m28s 13000K .......... .......... .......... .......... .......... 0% 164M 6m26s 13050K .......... .......... .......... .......... .......... 0% 181M 6m25s 13100K .......... .......... .......... .......... .......... 0% 1.28M 6m28s 13150K .......... .......... .......... .......... .......... 0% 80.6M 6m27s 13200K .......... .......... .......... .......... .......... 0% 125M 6m26s 13250K .......... .......... .......... .......... .......... 0% 85.1M 6m24s 13300K .......... .......... .......... .......... .......... 0% 133M 6m23s 13350K .......... .......... .......... .......... .......... 0% 147M 6m21s 13400K .......... .......... .......... .......... .......... 0% 167M 6m20s 13450K .......... .......... .......... .......... .......... 0% 171M 6m19s 13500K .......... .......... .......... .......... .......... 0% 161M 6m17s 13550K .......... .......... .......... .......... .......... 0% 159M 6m16s 13600K .......... .......... .......... .......... .......... 0% 186M 6m15s 13650K .......... .......... .......... .......... .......... 0% 180M 6m13s 13700K .......... .......... .......... .......... .......... 0% 148M 6m12s 13750K .......... .......... .......... .......... .......... 0% 162M 6m11s 13800K .......... .......... .......... .......... .......... 0% 197M 6m9s 13850K .......... .......... .......... .......... .......... 0% 201M 6m8s 13900K .......... .......... .......... .......... .......... 0% 197M 6m7s 13950K .......... .......... .......... .......... .......... 0% 1.39M 6m10s 14000K .......... .......... .......... .......... .......... 0% 76.5M 6m9s 14050K .......... .......... .......... .......... .......... 0% 81.1M 6m7s 14100K .......... .......... .......... .......... .......... 0% 82.9M 6m6s 14150K .......... .......... .......... .......... .......... 0% 118M 6m5s 14200K .......... .......... .......... .......... .......... 0% 163M 6m4s 14250K .......... .......... .......... .......... .......... 0% 163M 6m2s 14300K .......... .......... .......... .......... .......... 0% 1.32M 6m6s 14350K .......... .......... .......... .......... .......... 0% 78.2M 6m4s 14400K .......... .......... .......... .......... .......... 0% 93.4M 6m3s 14450K .......... .......... .......... .......... .......... 0% 81.8M 6m2s 14500K .......... .......... .......... .......... .......... 0% 79.2M 6m1s 14550K .......... .......... .......... .......... .......... 0% 73.7M 6m0s 14600K .......... .......... .......... .......... .......... 0% 72.4M 5m59s 14650K .......... .......... .......... .......... .......... 0% 74.3M 5m57s 14700K .......... .......... .......... .......... .......... 0% 85.3M 5m56s 14750K .......... .......... .......... .......... .......... 0% 119M 5m55s 14800K .......... .......... .......... .......... .......... 0% 160M 5m54s 14850K .......... .......... .......... .......... .......... 0% 148M 5m53s 14900K .......... .......... .......... .......... .......... 0% 132M 5m52s 14950K .......... .......... .......... .......... .......... 0% 129M 5m50s 15000K .......... .......... .......... .......... .......... 0% 160M 5m49s 15050K .......... .......... .......... .......... .......... 0% 154M 5m48s 15100K .......... .......... .......... .......... .......... 0% 163M 5m47s 15150K .......... .......... .......... .......... .......... 0% 130M 5m46s 15200K .......... .......... .......... .......... .......... 0% 1.50M 5m49s 15250K .......... .......... .......... .......... .......... 0% 80.6M 5m47s 15300K .......... .......... .......... .......... .......... 0% 81.9M 5m46s 15350K .......... .......... .......... .......... .......... 0% 62.9M 5m45s 15400K .......... .......... .......... .......... .......... 0% 129M 5m44s 15450K .......... .......... .......... .......... .......... 0% 160M 5m43s 15500K .......... .......... .......... .......... .......... 0% 164M 5m42s *** WARNING: skipped 2693591 bytes of output *** 1753900K .......... .......... .......... .......... .......... 99% 39.6M 1s 1753950K .......... .......... .......... .......... .......... 99% 43.7M 1s 1754000K .......... .......... .......... .......... .......... 99% 52.2M 1s 1754050K .......... .......... .......... .......... .......... 99% 40.6M 1s 1754100K .......... .......... .......... .......... .......... 99% 132M 1s 1754150K .......... .......... .......... .......... .......... 99% 122M 1s 1754200K .......... .......... .......... .......... .......... 99% 76.6M 1s 1754250K .......... .......... .......... .......... .......... 99% 111M 1s 1754300K .......... .......... .......... .......... .......... 99% 149M 1s 1754350K .......... .......... .......... .......... .......... 99% 186M 1s 1754400K .......... .......... .......... .......... .......... 99% 92.0M 1s 1754450K .......... .......... .......... .......... .......... 99% 98.7M 1s 1754500K .......... .......... .......... .......... .......... 99% 170M 1s 1754550K .......... .......... .......... .......... .......... 99% 231M 1s 1754600K .......... .......... .......... .......... .......... 99% 5.12M 1s 1754650K .......... .......... .......... .......... .......... 99% 42.4M 1s 1754700K .......... .......... .......... .......... .......... 99% 41.9M 1s 1754750K .......... .......... .......... .......... .......... 99% 1.77M 1s 1754800K .......... .......... .......... .......... .......... 99% 47.6M 1s 1754850K .......... .......... .......... .......... .......... 99% 87.1M 1s 1754900K .......... .......... .......... .......... .......... 99% 30.1M 1s 1754950K .......... .......... .......... .......... .......... 99% 93.1M 1s 1755000K .......... .......... .......... .......... .......... 99% 90.9M 1s 1755050K .......... .......... .......... .......... .......... 99% 159M 1s 1755100K .......... .......... .......... .......... .......... 99% 132M 1s 1755150K .......... .......... .......... .......... .......... 99% 70.9M 1s 1755200K .......... .......... .......... .......... .......... 99% 60.4M 1s 1755250K .......... .......... .......... .......... .......... 99% 85.7M 1s 1755300K .......... .......... .......... .......... .......... 99% 87.8M 1s 1755350K .......... .......... .......... .......... .......... 99% 20.6M 1s 1755400K .......... .......... .......... .......... .......... 99% 103M 1s 1755450K .......... .......... .......... .......... .......... 99% 81.0M 1s 1755500K .......... .......... .......... .......... .......... 99% 119M 1s 1755550K .......... .......... .......... .......... .......... 99% 232M 1s 1755600K .......... .......... .......... .......... .......... 99% 228M 1s 1755650K .......... .......... .......... .......... .......... 99% 195M 1s 1755700K .......... .......... .......... .......... .......... 99% 236M 1s 1755750K .......... .......... .......... .......... .......... 99% 6.56M 1s 1755800K .......... .......... .......... .......... .......... 99% 173M 1s 1755850K .......... .......... .......... .......... .......... 99% 92.5M 1s 1755900K .......... .......... .......... .......... .......... 99% 50.6M 1s 1755950K .......... .......... .......... .......... .......... 99% 70.9M 1s 1756000K .......... .......... .......... .......... .......... 99% 88.7M 1s 1756050K .......... .......... .......... .......... .......... 99% 42.6M 1s 1756100K .......... .......... .......... .......... .......... 99% 108M 1s 1756150K .......... .......... .......... .......... .......... 99% 120M 1s 1756200K .......... .......... .......... .......... .......... 99% 122M 1s 1756250K .......... .......... .......... .......... .......... 99% 126M 1s 1756300K .......... .......... .......... .......... .......... 99% 70.0M 1s 1756350K .......... .......... .......... .......... .......... 99% 71.3M 1s 1756400K .......... .......... .......... .......... .......... 99% 116M 1s 1756450K .......... .......... .......... .......... .......... 99% 135M 1s 1756500K .......... .......... .......... .......... .......... 99% 28.5M 1s 1756550K .......... .......... .......... .......... .......... 99% 27.6M 1s 1756600K .......... .......... .......... .......... .......... 99% 116M 1s 1756650K .......... .......... .......... .......... .......... 99% 76.6M 1s 1756700K .......... .......... .......... .......... .......... 99% 119M 1s 1756750K .......... .......... .......... .......... .......... 99% 146M 1s 1756800K .......... .......... .......... .......... .......... 99% 28.0M 1s 1756850K .......... .......... .......... .......... .......... 99% 52.0M 1s 1756900K .......... .......... .......... .......... .......... 99% 116M 1s 1756950K .......... .......... .......... .......... .......... 99% 21.9M 1s 1757000K .......... .......... .......... .......... .......... 99% 56.0M 1s 1757050K .......... .......... .......... .......... .......... 99% 97.1M 1s 1757100K .......... .......... .......... .......... .......... 99% 141M 1s 1757150K .......... .......... .......... .......... .......... 99% 158M 1s 1757200K .......... .......... .......... .......... .......... 99% 161M 1s 1757250K .......... .......... .......... .......... .......... 99% 103M 1s 1757300K .......... .......... .......... .......... .......... 99% 122M 1s 1757350K .......... .......... .......... .......... .......... 99% 182M 1s 1757400K .......... .......... .......... .......... .......... 99% 220M 1s 1757450K .......... .......... .......... .......... .......... 99% 193M 1s 1757500K .......... .......... .......... .......... .......... 99% 90.5M 1s 1757550K .......... .......... .......... .......... .......... 99% 5.34M 1s 1757600K .......... .......... .......... .......... .......... 99% 30.3M 1s 1757650K .......... .......... .......... .......... .......... 99% 1.77M 1s 1757700K .......... .......... .......... .......... .......... 99% 49.4M 1s 1757750K .......... .......... .......... .......... .......... 99% 85.9M 1s 1757800K .......... .......... .......... .......... .......... 99% 59.4M 1s 1757850K .......... .......... .......... .......... .......... 99% 35.8M 1s 1757900K .......... .......... .......... .......... .......... 99% 102M 1s 1757950K .......... .......... .......... .......... .......... 99% 121M 1s 1758000K .......... .......... .......... .......... .......... 99% 101M 1s 1758050K .......... .......... .......... .......... .......... 99% 76.3M 1s 1758100K .......... .......... .......... .......... .......... 99% 88.2M 1s 1758150K .......... .......... .......... .......... .......... 99% 87.4M 1s 1758200K .......... .......... .......... .......... .......... 99% 144M 1s 1758250K .......... .......... .......... .......... .......... 99% 63.2M 0s 1758300K .......... .......... .......... .......... .......... 99% 20.2M 0s 1758350K .......... .......... .......... .......... .......... 99% 134M 0s 1758400K .......... .......... .......... .......... .......... 99% 99.2M 0s 1758450K .......... .......... .......... .......... .......... 99% 138M 0s 1758500K .......... .......... .......... .......... .......... 99% 242M 0s 1758550K .......... .......... .......... .......... .......... 99% 240M 0s 1758600K .......... .......... .......... .......... .......... 99% 209M 0s 1758650K .......... .......... .......... .......... .......... 99% 6.28M 0s 1758700K .......... .......... .......... .......... .......... 99% 97.8M 0s 1758750K .......... .......... .......... .......... .......... 99% 87.4M 0s 1758800K .......... .......... .......... .......... .......... 99% 60.7M 0s 1758850K .......... .......... .......... .......... .......... 99% 74.3M 0s 1758900K .......... .......... .......... .......... .......... 99% 92.0M 0s 1758950K .......... .......... .......... .......... .......... 99% 46.6M 0s 1759000K .......... .......... .......... .......... .......... 99% 47.8M 0s 1759050K .......... .......... .......... .......... .......... 99% 112M 0s 1759100K .......... .......... .......... .......... .......... 99% 128M 0s 1759150K .......... .......... .......... .......... .......... 99% 145M 0s 1759200K .......... .......... .......... .......... .......... 99% 133M 0s 1759250K .......... .......... .......... .......... .......... 99% 113M 0s 1759300K .......... .......... .......... .......... .......... 99% 88.6M 0s 1759350K .......... .......... .......... .......... .......... 99% 179M 0s 1759400K .......... .......... .......... .......... .......... 99% 27.6M 0s 1759450K .......... .......... .......... .......... .......... 99% 28.1M 0s 1759500K .......... .......... .......... .......... .......... 99% 111M 0s 1759550K .......... .......... .......... .......... .......... 99% 99.6M 0s 1759600K .......... .......... .......... .......... .......... 99% 83.2M 0s 1759650K .......... .......... .......... .......... .......... 99% 53.4M 0s 1759700K .......... .......... .......... .......... .......... 99% 44.2M 0s 1759750K .......... .......... .......... .......... .......... 99% 48.9M 0s 1759800K .......... .......... .......... .......... .......... 99% 148M 0s 1759850K .......... .......... .......... .......... .......... 99% 22.3M 0s 1759900K .......... .......... .......... .......... .......... 99% 50.8M 0s 1759950K .......... .......... .......... .......... .......... 99% 108M 0s 1760000K .......... .......... .......... .......... .......... 99% 129M 0s 1760050K .......... .......... .......... .......... .......... 99% 125M 0s 1760100K .......... .......... .......... .......... .......... 99% 148M 0s 1760150K .......... .......... .......... .......... .......... 99% 120M 0s 1760200K .......... .......... .......... .......... .......... 99% 115M 0s 1760250K .......... .......... .......... .......... .......... 99% 148M 0s 1760300K .......... .......... .......... .......... .......... 99% 254M 0s 1760350K .......... .......... .......... .......... .......... 99% 250M 0s 1760400K .......... .......... .......... .......... .......... 99% 5.41M 0s 1760450K .......... .......... .......... .......... .......... 99% 41.6M 0s 1760500K .......... .......... .......... .......... .......... 99% 37.6M 0s 1760550K .......... .......... .......... .......... .......... 99% 1.77M 0s 1760600K .......... .......... .......... .......... .......... 99% 67.4M 0s 1760650K .......... .......... .......... .......... .......... 99% 87.8M 0s 1760700K .......... .......... .......... .......... .......... 99% 33.4M 0s 1760750K .......... .......... .......... .......... .......... 99% 65.2M 0s 1760800K .......... .......... .......... .......... .......... 99% 117M 0s 1760850K .......... .......... .......... .......... .......... 99% 116M 0s 1760900K .......... .......... .......... .......... .......... 99% 116M 0s 1760950K .......... .......... .......... .......... .......... 99% 68.4M 0s 1761000K .......... .......... .......... .......... .......... 99% 83.8M 0s 1761050K .......... .......... .......... .......... .......... 99% 110M 0s 1761100K .......... .......... .......... .......... .......... 99% 40.2M 0s 1761150K .......... .......... .......... .......... .......... 99% 26.9M 0s 1761200K .......... .......... .......... .......... .......... 99% 77.0M 0s 1761250K .......... .......... .......... .......... .......... 99% 115M 0s 1761300K .......... .......... .......... .......... .......... 99% 121M 0s 1761350K .......... .......... .......... .......... .......... 99% 235M 0s 1761400K .......... .......... .......... .......... .......... 99% 191M 0s 1761450K .......... .......... .......... .......... .......... 99% 231M 0s 1761500K .......... .......... .......... .......... .......... 99% 6.42M 0s 1761550K .......... .......... .......... .......... .......... 99% 120M 0s 1761600K .......... .......... .......... .......... .......... 99% 81.3M 0s 1761650K .......... .......... .......... .......... .......... 99% 65.1M 0s 1761700K .......... .......... .......... .......... .......... 99% 84.8M 0s 1761750K .......... .......... .......... .......... .......... 99% 90.1M 0s 1761800K .......... .......... .......... .......... .......... 99% 86.7M 0s 1761850K .......... .......... .......... .......... .......... 99% 45.5M 0s 1761900K .......... .......... .......... .......... .......... 99% 45.1M 0s 1761950K .......... .......... .......... .......... .......... 99% 132M 0s 1762000K .......... .......... .......... .......... .......... 99% 132M 0s 1762050K .......... .......... .......... .......... .......... 99% 136M 0s 1762100K .......... .......... .......... .......... .......... 99% 108M 0s 1762150K .......... .......... .......... .......... .......... 99% 119M 0s 1762200K .......... .......... .......... .......... .......... 99% 105M 0s 1762250K .......... .......... .......... .......... .......... 99% 151M 0s 1762300K .......... .......... .......... .......... .......... 99% 28.9M 0s 1762350K .......... .......... .......... .......... .......... 99% 27.0M 0s 1762400K .......... .......... .......... .......... .......... 99% 107M 0s 1762450K .......... .......... .......... .......... .......... 99% 100M 0s 1762500K .......... .......... .......... .......... .......... 99% 96.4M 0s 1762550K .......... .......... .......... .......... .......... 99% 56.6M 0s 1762600K .......... .......... .......... .......... .......... 99% 46.9M 0s 1762650K .......... .......... .......... .......... .......... 99% 46.7M 0s 1762700K .......... .......... .......... .......... .......... 99% 148M 0s 1762750K .......... .......... .......... .......... .......... 99% 22.5M 0s 1762800K .......... .......... .......... .......... .......... 99% 52.0M 0s 1762850K .......... .......... .......... .......... .......... 99% 85.9M 0s 1762900K .......... .......... .......... .......... .......... 99% 209M 0s 1762950K .......... .......... .......... .......... .......... 99% 203M 0s 1763000K .......... .......... .......... .......... .......... 99% 221M 0s 1763050K .......... .......... .......... .......... .......... 99% 199M 0s 1763100K .......... .......... .......... .......... .......... 99% 196M 0s 1763150K .......... .......... .......... .......... .......... 99% 195M 0s 1763200K .......... .......... .......... .......... .......... 99% 163M 0s 1763250K .......... .......... .......... .......... .......... 99% 31.4M 0s 1763300K .......... .......... .......... .......... .......... 99% 5.87M 0s 1763350K .......... .......... .......... .......... .......... 99% 44.7M 0s 1763400K .......... .......... .......... .......... .......... 99% 35.3M 0s 1763450K .......... .......... .......... .......... .......... 99% 1.77M 0s 1763500K .......... .......... .......... .......... .......... 99% 52.2M 0s 1763550K .......... .......... .......... .......... .......... 99% 94.7M 0s 1763600K .......... .......... .......... .......... .......... 99% 61.9M 0s 1763650K .......... .......... .......... .......... .......... 99% 37.5M 0s 1763700K .......... .......... .......... .......... .......... 99% 92.8M 0s 1763750K .......... .......... .......... .......... .......... 99% 130M 0s 1763800K .......... .......... .......... .......... .......... 99% 97.6M 0s 1763850K .......... .......... .......... .......... .......... 99% 25.2M 0s 1763900K .......... .......... .......... .......... .......... 99% 176M 0s 1763950K .......... .......... .......... .......... .......... 99% 99.5M 0s 1764000K .......... .......... .......... .......... .......... 99% 117M 0s 1764050K .......... .......... .......... .......... .......... 99% 29.9M 0s 1764100K .......... .......... .......... .......... .......... 99% 84.7M 0s 1764150K .......... .......... .......... .......... .......... 99% 128M 0s 1764200K .......... .......... .......... .......... .......... 99% 109M 0s 1764250K .......... .......... .......... .......... .......... 99% 121M 0s 1764300K .......... .......... .......... .......... .......... 99% 228M 0s 1764350K .......... .......... .......... .......... .......... 99% 231M 0s 1764400K .......... .......... .......... .......... .......... 99% 6.48M 0s 1764450K .......... .......... .......... .......... .......... 99% 146M 0s 1764500K .......... .......... .......... .......... .......... 99% 92.6M 0s 1764550K .......... .......... .......... .......... .......... 99% 66.9M 0s 1764600K .......... .......... .......... .......... .......... 99% 106M 0s 1764650K .......... .......... .......... .......... .......... 99% 62.7M 0s 1764700K .......... .......... .......... .......... .......... 99% 131M 0s 1764750K .......... .......... .......... .......... .......... 99% 45.5M 0s 1764800K .......... .......... .......... .......... .......... 99% 43.3M 0s 1764850K .......... .......... .......... .......... .......... 99% 98.8M 0s 1764900K .......... .......... .......... .......... .......... 99% 151M 0s 1764950K .......... .......... .......... .......... .......... 99% 172M 0s 1765000K .......... .......... .......... .......... .......... 99% 113M 0s 1765050K .......... .......... .......... .......... .......... 99% 126M 0s 1765100K .......... .......... .......... .......... .......... 99% 112M 0s 1765150K .......... .......... .......... .......... .......... 99% 135M 0s 1765200K .......... .......... .......... .......... .......... 99% 30.7M 0s 1765250K .......... .......... .......... .......... .......... 99% 24.6M 0s 1765300K .......... .......... .......... .......... .......... 99% 120M 0s 1765350K .......... .......... .......... .......... .......... 99% 140M 0s 1765400K .......... .......... .......... .......... .......... 99% 72.3M 0s 1765450K .......... .......... .......... .......... .......... 99% 149M 0s 1765500K .......... .......... .......... .......... .......... 99% 54.4M 0s 1765550K .......... .......... .......... .......... .......... 99% 41.5M 0s 1765600K .......... .......... .......... .......... .......... 99% 21.4M 0s 1765650K .......... .......... .......... .......... .......... 99% 58.8M 0s 1765700K .......... .......... .......... .......... .......... 99% 52.0M 0s 1765750K .......... .......... .......... .......... .......... 99% 96.4M 0s 1765800K .......... .......... .......... .......... .......... 99% 101M 0s 1765850K .......... .......... .......... .......... .......... 99% 117M 0s 1765900K .......... .......... .......... .......... .......... 99% 126M 0s 1765950K .......... .......... .......... .......... .......... 99% 121M 0s 1766000K .......... .......... .......... .......... .......... 99% 126M 0s 1766050K .......... .......... .......... .......... .......... 99% 170M 0s 1766100K .......... .......... .......... .......... .......... 99% 234M 0s 1766150K .......... .......... .......... .......... .......... 99% 201M 0s 1766200K .......... .......... .......... .......... .......... 99% 58.2M 0s 1766250K .......... .......... .......... .......... .......... 99% 5.59M 0s 1766300K .......... .......... .......... .......... .......... 99% 75.8M 0s 1766350K .......... .......... .......... .......... .......... 99% 32.4M 0s 1766400K .......... .......... .......... .......... .......... 99% 1.75M 0s 1766450K .......... .......... .......... .......... .......... 99% 86.1M 0s 1766500K .......... .......... .......... .......... .......... 99% 95.2M 0s 1766550K .......... .......... .......... .......... .......... 99% 36.0M 0s 1766600K .......... .......... .......... .......... .......... 99% 91.9M 0s 1766650K .......... .......... .......... .......... .......... 99% 82.6M 0s 1766700K .......... .......... .......... .......... .......... 99% 165M 0s 1766750K .......... .......... .......... .......... .......... 99% 101M 0s 1766800K .......... .......... .......... .......... .......... 99% 23.2M 0s 1766850K .......... .......... .......... .......... .......... 99% 123M 0s 1766900K .......... .......... .......... .......... .......... 99% 116M 0s 1766950K .......... .......... .......... .......... .......... 99% 236M 0s 1767000K .......... .......... .......... .......... .......... 99% 29.5M 0s 1767050K .......... .......... .......... .......... .......... 99% 90.6M 0s 1767100K .......... .......... .......... .......... .......... 99% 121M 0s 1767150K .......... .......... .......... .......... .......... 99% 147M 0s 1767200K .......... .......... .......... .......... .......... 99% 123M 0s 1767250K .......... .......... .......... .......... .......... 99% 171M 0s 1767300K .......... .......... .......... .......... .......... 99% 243M 0s 1767350K .......... .......... .......... .......... .......... 99% 6.49M 0s 1767400K .......... .......... .......... .......... .......... 99% 128M 0s 1767450K .......... .......... .......... .......... .......... 99% 92.0M 0s 1767500K .......... .......... .......... .......... .......... 99% 74.0M 0s 1767550K .......... .......... .......... .......... .......... 99% 88.4M 0s 1767600K .......... .......... .......... .......... .......... 99% 72.6M 0s 1767650K .......... .......... .......... .......... .......... 99% 96.3M 0s 1767700K .......... .......... .......... .......... .......... 99% 27.1M 0s 1767750K .......... .......... .......... .......... .......... 99% 111M 0s 1767800K .......... .......... .......... .......... .......... 99% 118M 0s 1767850K .......... .......... .......... .......... .......... 99% 152M 0s 1767900K .......... .......... .......... .......... .......... 99% 181M 0s 1767950K .......... .......... .......... .......... .......... 99% 137M 0s 1768000K .......... .......... .......... .......... .......... 99% 105M 0s 1768050K .......... .......... .......... .......... .......... 99% 81.4M 0s 1768100K .......... .......... .......... .......... .......... 99% 119M 0s 1768150K .......... .......... .......... .......... .......... 99% 38.1M 0s 1768200K .......... .......... .......... .......... .......... 99% 27.0M 0s 1768250K .......... .......... .......... .......... .......... 99% 88.1M 0s 1768300K .......... .......... .......... .......... .......... 99% 126M 0s 1768350K .......... .......... .......... .......... .......... 99% 91.2M 0s 1768400K .......... .......... .......... .......... .......... 99% 110M 0s 1768450K .......... .......... .......... .......... .......... 99% 37.9M 0s 1768500K .......... .......... .......... .......... .......... 99% 46.2M 0s 1768550K .......... .......... .......... .......... .......... 99% 24.8M 0s 1768600K .......... .......... .......... .......... .......... 99% 65.4M 0s 1768650K .......... .......... .......... .......... .......... 99% 48.0M 0s 1768700K .......... .......... .......... .......... .......... 99% 94.8M 0s 1768750K .......... .......... .......... .......... .......... 99% 129M 0s 1768800K .......... .......... .......... .......... .......... 99% 89.6M 0s 1768850K .......... .......... .......... .......... .......... 99% 129M 0s 1768900K .......... .......... .......... .......... .......... 99% 114M 0s 1768950K .......... .......... .......... .......... .......... 99% 139M 0s 1769000K .......... .......... .......... .......... .......... 99% 168M 0s 1769050K .......... .......... .......... .......... .......... 99% 195M 0s 1769100K .......... .......... .......... .......... .......... 99% 191M 0s 1769150K .......... .......... .......... .......... .......... 99% 64.2M 0s 1769200K .......... .......... .......... .......... .......... 99% 5.96M 0s 1769250K .......... .......... .......... .......... .......... 99% 27.3M 0s 1769300K .......... .......... .......... .......... .......... 99% 1.83M 0s 1769350K .......... .......... .......... .......... .......... 99% 23.0M 0s 1769400K .......... .......... .......... .......... .......... 99% 125M 0s 1769450K .......... .......... .......... .......... .......... 99% 91.1M 0s 1769500K .......... .......... .......... .......... .......... 99% 32.4M 0s 1769550K .......... .......... .......... .......... .......... 99% 93.6M 0s 1769600K .......... .......... .......... .......... .......... 99% 73.8M 0s 1769650K .......... .......... .......... .......... .......... 99% 148M 0s 1769700K .......... .......... .......... .......... .......... 99% 84.1M 0s 1769750K .......... .......... .......... .......... .......... 99% 26.9M 0s 1769800K .......... .......... .......... .......... .......... 99% 158M 0s 1769850K .......... .......... .......... .......... .......... 99% 182M 0s 1769900K .......... .......... .......... .......... .......... 99% 127M 0s 1769950K .......... .......... .......... .......... .......... 99% 29.2M 0s 1770000K .......... .......... .......... .......... ........ 100% 87.3M=75s 2017-10-11 21:05:16 (23.1 MB/s) - ‘yellow_tripdata_2015-07.csv’ saved [1812530041/1812530041]
wget https://github.com/harsha2010/magellan/raw/master/examples/datasets/NYC-NEIGHBORHOODS/neighborhoods.geojson
pwd
val PATH = "datasets/taxis" // dfs path
val LOCAL_PATH = "databricks/driver" // local shell path
val FILE = "yellow_tripdata_2015-07.csv"
val CSV_PATH = LOCAL_PATH + "/" + FILE
val NE_FILE = "neighborhoods.geojson"
val NE_FILE_PATH = LOCAL_PATH + "/" + NE_FILE
PATH: String = datasets/taxis LOCAL_PATH: String = databricks/driver FILE: String = yellow_tripdata_2015-07.csv CSV_PATH: String = databricks/driver/yellow_tripdata_2015-07.csv NE_FILE: String = neighborhoods.geojson NE_FILE_PATH: String = databricks/driver/neighborhoods.geojson
dbutils.fs.mkdirs("dbfs:/" + PATH)
PATH: String = datasets/taxis res5: Boolean = true
dbutils.fs.cp("file:/" + CSV_PATH, "dbfs:/" + PATH)
dbutils.fs.cp("file:/" + NE_FILE_PATH, "dbfs:/" + PATH)
Parse data
import org.apache.spark.sql.SQLContext
import org.apache.spark.sql.magellan.dsl.expressions._
import org.apache.spark.sql.types._
import magellan.{Point, Polygon}
import org.apache.spark.sql.SQLContext import org.apache.spark.sql.magellan.dsl.expressions._ import org.apache.spark.sql.types._ import magellan.{Point, Polygon}
sc.textFile(PATH + "/" + FILE).take(1)
res62: Array[String] = Array(VendorID,tpep_pickup_datetime,tpep_dropoff_datetime,passenger_count,trip_distance,pickup_longitude,pickup_latitude,RatecodeID,store_and_fwd_flag,dropoff_longitude,dropoff_latitude,payment_type,fare_amount,extra,mta_tax,tip_amount,tolls_amount,improvement_surcharge,total_amount)
val schema = StructType(Array(
StructField("vendorId", StringType, false),
StructField("pickup_datetime", StringType, false),
StructField("dropoff_datetime", StringType, false),
StructField("passenger_count", IntegerType, false),
StructField("trip_distance", DoubleType, false),
StructField("pickup_longitude", DoubleType, false),
StructField("pickup_latitude", DoubleType, false),
StructField("rateCodeId", StringType, false),
StructField("store_fwd", StringType, false),
StructField("dropoff_longitude", DoubleType, false),
StructField("dropoff_latitude", DoubleType, false),
StructField("payment_type", StringType, false),
StructField("fare_amount", StringType, false),
StructField("extra", StringType, false),
StructField("mta_tax", StringType, false),
StructField("tip_amount", StringType, false),
StructField("tolls_amount", StringType, false),
StructField("improvement_surcharge", StringType, false),
StructField("total_amount", DoubleType, false)))
schema: org.apache.spark.sql.types.StructType = StructType(StructField(vendorId,StringType,false), StructField(pickup_datetime,StringType,false), StructField(dropoff_datetime,StringType,false), StructField(passenger_count,IntegerType,false), StructField(trip_distance,DoubleType,false), StructField(pickup_longitude,DoubleType,false), StructField(pickup_latitude,DoubleType,false), StructField(rateCodeId,StringType,false), StructField(store_fwd,StringType,false), StructField(dropoff_longitude,DoubleType,false), StructField(dropoff_latitude,DoubleType,false), StructField(payment_type,StringType,false), StructField(fare_amount,StringType,false), StructField(extra,StringType,false), StructField(mta_tax,StringType,false), StructField(tip_amount,StringType,false), StructField(tolls_amount,StringType,false), StructField(improvement_surcharge,StringType,false), StructField(total_amount,DoubleType,false))
val trips = sqlContext
.read
.format("com.databricks.spark.csv")
.option("comment", "V")
.option("mode", "DROPMALFORMED")
.schema(schema)
.load("dbfs:/" + PATH + "/" + FILE)
.withColumn("point", point($"pickup_longitude", $"pickup_latitude"))
.cache()
trips: org.apache.spark.sql.Dataset[org.apache.spark.sql.Row] = [vendorId: string, pickup_datetime: string ... 18 more fields]
trips.count()
trips.take(1)
res66: Array[org.apache.spark.sql.Row] = Array([1,2015-07-01 00:00:00,2015-07-01 00:15:26,1,3.5,-73.99415588378906,40.75112533569336,1,N,-73.97682189941406,40.78856658935547,2,14,0.5,0.5,0,0,0.3,15.3,Point(-73.99415588378906, 40.75112533569336)])
val neighbourhoods = sqlContext
.read
.format("magellan")
.option("type", "geojson")
.load("dbfs:/" + PATH + "/" + NE_FILE)
.select($"polygon", $"metadata"("neighborhood").as("neighborhood"))
.cache()
neighbourhoods: org.apache.spark.sql.Dataset[org.apache.spark.sql.Row] = [polygon: polygon, neighborhood: string]
neighbourhoods.count()
res68: Long = 310
neighbourhoods.printSchema()
root |-- polygon: polygon (nullable = true) |-- neighborhood: string (nullable = true)
val joined = trips
.join(neighbourhoods)
.where($"point" within $"polygon")
joined: org.apache.spark.sql.Dataset[org.apache.spark.sql.Row] = [vendorId: string, pickup_datetime: string ... 20 more fields]
joined.printSchema
root |-- vendorId: string (nullable = true) |-- pickup_datetime: string (nullable = true) |-- dropoff_datetime: string (nullable = true) |-- passenger_count: integer (nullable = true) |-- trip_distance: double (nullable = true) |-- pickup_longitude: double (nullable = true) |-- pickup_latitude: double (nullable = true) |-- rateCodeId: string (nullable = true) |-- store_fwd: string (nullable = true) |-- dropoff_longitude: double (nullable = true) |-- dropoff_latitude: double (nullable = true) |-- payment_type: string (nullable = true) |-- fare_amount: string (nullable = true) |-- extra: string (nullable = true) |-- mta_tax: string (nullable = true) |-- tip_amount: string (nullable = true) |-- tolls_amount: string (nullable = true) |-- improvement_surcharge: string (nullable = true) |-- total_amount: double (nullable = true) |-- point: point (nullable = false) |-- polygon: polygon (nullable = true) |-- neighborhood: string (nullable = true)
display(
joined
.groupBy('neighborhood)
.count()
.orderBy($"count".desc)
)
neighborhood | count |
---|---|
Midtown | 2100525.0 |
Upper East Side | 1485657.0 |
Chelsea | 1101154.0 |
Upper West Side | 950757.0 |
Hell's Kitchen | 611699.0 |
Theater District | 452054.0 |
East Village | 451573.0 |
West Village | 427372.0 |
Murray Hill | 316317.0 |
LaGuardia Airport | 283160.0 |
John F. Kennedy International Airport | 264302.0 |
SoHo | 242748.0 |
Gramercy | 241271.0 |
Kips Bay | 238094.0 |
Greenwich Village | 238023.0 |
Financial District | 231074.0 |
Tribeca | 203249.0 |
Flatiron District | 190873.0 |
Lower East Side | 181093.0 |
Central Park | 173214.0 |
Battery Park City | 122574.0 |
East Harlem | 102184.0 |
NoHo | 88882.0 |
Harlem | 71778.0 |
Williamsburg | 59386.0 |
Stuyvesant Town | 52770.0 |
Nolita | 51337.0 |
Chinatown | 48776.0 |
Long Island City | 44771.0 |
Morningside Heights | 44428.0 |
Truncated to 30 rows