032_NYtaxisInMagellan(Scala)

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 https://www1.nyc.gov/site/tlc/about/tlc-trip-record-data.page .

%sh
# 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
--2019-06-17 20:06:24-- https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2015-07.csv Resolving s3.amazonaws.com (s3.amazonaws.com)... 52.216.101.77 Connecting to s3.amazonaws.com (s3.amazonaws.com)|52.216.101.77|: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% 813K 36m17s 50K .......... .......... .......... .......... .......... 0% 812K 36m18s 100K .......... .......... .......... .......... .......... 0% 824K 36m8s 150K .......... .......... .......... .......... .......... 0% 53.7M 27m14s 200K .......... .......... .......... .......... .......... 0% 83.2M 21m51s 250K .......... .......... .......... .......... .......... 0% 829K 24m8s 300K .......... .......... .......... .......... .......... 0% 58.8M 20m46s 350K .......... .......... .......... .......... .......... 0% 62.8M 18m13s 400K .......... .......... .......... .......... .......... 0% 87.5M 16m14s 450K .......... .......... .......... .......... .......... 0% 838K 18m8s 500K .......... .......... .......... .......... .......... 0% 62.7M 16m31s 550K .......... .......... .......... .......... .......... 0% 37.9M 15m12s 600K .......... .......... .......... .......... .......... 0% 97.2M 14m4s 650K .......... .......... .......... .......... .......... 0% 159M 13m4s 700K .......... .......... .......... .......... .......... 0% 163M 12m12s 750K .......... .......... .......... .......... .......... 0% 154M 11m27s 800K .......... .......... .......... .......... .......... 0% 161M 10m48s 850K .......... .......... .......... .......... .......... 0% 189M 10m12s 900K .......... .......... .......... .......... .......... 0% 175M 9m40s 950K .......... .......... .......... .......... .......... 0% 886K 10m51s 1000K .......... .......... .......... .......... .......... 0% 33.1M 10m23s 1050K .......... .......... .......... .......... .......... 0% 39.9M 9m56s 1100K .......... .......... .......... .......... .......... 0% 48.4M 9m32s 1150K .......... .......... .......... .......... .......... 0% 155M 9m8s 1200K .......... .......... .......... .......... .......... 0% 154M 8m47s 1250K .......... .......... .......... .......... .......... 0% 190M 8m27s 1300K .......... .......... .......... .......... .......... 0% 193M 8m9s 1350K .......... .......... .......... .......... .......... 0% 182M 7m51s 1400K .......... .......... .......... .......... .......... 0% 174M 7m35s 1450K .......... .......... .......... .......... .......... 0% 184M 7m21s 1500K .......... .......... .......... .......... .......... 0% 178M 7m7s 1550K .......... .......... .......... .......... .......... 0% 187M 6m54s 1600K .......... .......... .......... .......... .......... 0% 881K 7m42s 1650K .......... .......... .......... .......... .......... 0% 54.8M 7m29s 1700K .......... .......... .......... .......... .......... 0% 44.6M 7m18s 1750K .......... .......... .......... .......... .......... 0% 57.5M 7m6s 1800K .......... .......... .......... .......... .......... 0% 62.7M 6m55s 1850K .......... .......... .......... .......... .......... 0% 49.0M 6m45s 1900K .......... .......... .......... .......... .......... 0% 44.6M 6m36s 1950K .......... .......... .......... .......... .......... 0% 48.2M 6m27s 2000K .......... .......... .......... .......... .......... 0% 120M 6m18s 2050K .......... .......... .......... .......... .......... 0% 142M 6m9s 2100K .......... .......... .......... .......... .......... 0% 136M 6m1s 2150K .......... .......... .......... .......... .......... 0% 146M 5m53s 2200K .......... .......... .......... .......... .......... 0% 132M 5m45s 2250K .......... .......... .......... .......... .......... 0% 134M 5m38s 2300K .......... .......... .......... .......... .......... 0% 136M 5m31s 2350K .......... .......... .......... .......... .......... 0% 132M 5m25s 2400K .......... .......... .......... .......... .......... 0% 111M 5m18s 2450K .......... .......... .......... .......... .......... 0% 143M 5m12s 2500K .......... .......... .......... .......... .......... 0% 147M 5m6s 2550K .......... .......... .......... .......... .......... 0% 134M 5m1s 2600K .......... .......... .......... .......... .......... 0% 140M 4m55s 2650K .......... .......... .......... .......... .......... 0% 137M 4m50s 2700K .......... .......... .......... .......... .......... 0% 133M 4m45s 2750K .......... .......... .......... .......... .......... 0% 131M 4m40s 2800K .......... .......... .......... .......... .......... 0% 120M 4m35s 2850K .......... .......... .......... .......... .......... 0% 139M 4m31s 2900K .......... .......... .......... .......... .......... 0% 138M 4m26s 2950K .......... .......... .......... .......... .......... 0% 139M 4m22s 3000K .......... .......... .......... .......... .......... 0% 128M 4m18s 3050K .......... .......... .......... .......... .......... 0% 132M 4m14s 3100K .......... .......... .......... .......... .......... 0% 132M 4m10s 3150K .......... .......... .......... .......... .......... 0% 1.07M 4m31s 3200K .......... .......... .......... .......... .......... 0% 65.7M 4m28s 3250K .......... .......... .......... .......... .......... 0% 140M 4m24s 3300K .......... .......... .......... .......... .......... 0% 142M 4m20s 3350K .......... .......... .......... .......... .......... 0% 120M 4m16s 3400K .......... .......... .......... .......... .......... 0% 119M 4m13s 3450K .......... .......... .......... .......... .......... 0% 130M 4m10s 3500K .......... .......... .......... .......... .......... 0% 135M 4m6s 3550K .......... .......... .......... .......... .......... 0% 160M 4m3s 3600K .......... .......... .......... .......... .......... 0% 102M 4m0s 3650K .......... .......... .......... .......... .......... 0% 117M 3m57s 3700K .......... .......... .......... .......... .......... 0% 130M 3m54s 3750K .......... .......... .......... .......... .......... 0% 6.43M 3m54s 3800K .......... .......... .......... .......... .......... 0% 126M 3m51s 3850K .......... .......... .......... .......... .......... 0% 148M 3m49s 3900K .......... .......... .......... .......... .......... 0% 129M 3m46s 3950K .......... .......... .......... .......... .......... 0% 135M 3m43s 4000K .......... .......... .......... .......... .......... 0% 121M 3m41s 4050K .......... .......... .......... .......... .......... 0% 144M 3m38s 4100K .......... .......... .......... .......... .......... 0% 143M 3m35s 4150K .......... .......... .......... .......... .......... 0% 140M 3m33s 4200K .......... .......... .......... .......... .......... 0% 128M 3m31s 4250K .......... .......... .......... .......... .......... 0% 138M 3m28s 4300K .......... .......... .......... .......... .......... 0% 154M 3m26s 4350K .......... .......... .......... .......... .......... 0% 154M 3m24s 4400K .......... .......... .......... .......... .......... 0% 1.14M 3m39s 4450K .......... .......... .......... .......... .......... 0% 107M 3m36s 4500K .......... .......... .......... .......... .......... 0% 146M 3m34s 4550K .......... .......... .......... .......... .......... 0% 113M 3m32s 4600K .......... .......... .......... .......... .......... 0% 117M 3m30s 4650K .......... .......... .......... .......... .......... 0% 130M 3m28s 4700K .......... .......... .......... .......... .......... 0% 146M 3m26s 4750K .......... .......... .......... .......... .......... 0% 150M 3m24s 4800K .......... .......... .......... .......... .......... 0% 99.9M 3m22s 4850K .......... .......... .......... .......... .......... 0% 42.3M 3m20s 4900K .......... .......... .......... .......... .......... 0% 158M 3m18s 4950K .......... .......... .......... .......... .......... 0% 164M 3m16s 5000K .......... .......... .......... .......... .......... 0% 132M 3m14s 5050K .......... .......... .......... .......... .......... 0% 140M 3m13s 5100K .......... .......... .......... .......... .......... 0% 141M 3m11s 5150K .......... .......... .......... .......... .......... 0% 141M 3m9s 5200K .......... .......... .......... .......... .......... 0% 135M 3m8s 5250K .......... .......... .......... .......... .......... 0% 6.74M 3m8s 5300K .......... .......... .......... .......... .......... 0% 71.1M 3m7s 5350K .......... .......... .......... .......... .......... 0% 53.3M 3m5s 5400K .......... .......... .......... .......... .......... 0% 49.7M 3m4s 5450K .......... .......... .......... .......... .......... 0% 53.0M 3m2s 5500K .......... .......... .......... .......... .......... 0% 55.4M 3m1s 5550K .......... .......... .......... .......... .......... 0% 53.3M 3m0s 5600K .......... .......... .......... .......... .......... 0% 46.9M 2m58s 5650K .......... .......... .......... .......... .......... 0% 56.1M 2m57s 5700K .......... .......... .......... .......... .......... 0% 54.1M 2m56s 5750K .......... .......... .......... .......... .......... 0% 54.8M 2m55s 5800K .......... .......... .......... .......... .......... 0% 50.8M 2m53s 5850K .......... .......... .......... .......... .......... 0% 57.0M 2m52s 5900K .......... .......... .......... .......... .......... 0% 56.0M 2m51s 5950K .......... .......... .......... .......... .......... 0% 1.36M 3m0s 6000K .......... .......... .......... .......... .......... 0% 19.4M 2m59s 6050K .......... .......... .......... .......... .......... 0% 54.8M 2m58s 6100K .......... .......... .......... .......... .......... 0% 136M 2m57s 6150K .......... .......... .......... .......... .......... 0% 140M 2m55s 6200K .......... .......... .......... .......... .......... 0% 124M 2m54s 6250K .......... .......... .......... .......... .......... 0% 97.3M 2m53s 6300K .......... .......... .......... .......... .......... 0% 124M 2m52s 6350K .......... .......... .......... .......... .......... 0% 152M 2m50s 6400K .......... .......... .......... .......... .......... 0% 110M 2m49s 6450K .......... .......... .......... .......... .......... 0% 154M 2m48s 6500K .......... .......... .......... .......... .......... 0% 158M 2m47s 6550K .......... .......... .......... .......... .......... 0% 128M 2m46s 6600K .......... .......... .......... .......... .......... 0% 139M 2m44s 6650K .......... .......... .......... .......... .......... 0% 152M 2m43s 6700K .......... .......... .......... .......... .......... 0% 145M 2m42s 6750K .......... .......... .......... .......... .......... 0% 149M 2m41s 6800K .......... .......... .......... .......... .......... 0% 9.87M 2m41s 6850K .......... .......... .......... .......... .......... 0% 42.1M 2m40s 6900K .......... .......... .......... .......... .......... 0% 156M 2m39s 6950K .......... .......... .......... .......... .......... 0% 157M 2m38s 7000K .......... .......... .......... .......... .......... 0% 146M 2m37s 7050K .......... .......... .......... .......... .......... 0% 150M 2m36s 7100K .......... .......... .......... .......... .......... 0% 151M 2m35s 7150K .......... .......... .......... .......... .......... 0% 151M 2m34s 7200K .......... .......... .......... .......... .......... 0% 125M 2m33s 7250K .......... .......... .......... .......... .......... 0% 158M 2m32s 7300K .......... .......... .......... .......... .......... 0% 161M 2m31s 7350K .......... .......... .......... .......... .......... 0% 161M 2m30s 7400K .......... .......... .......... .......... .......... 0% 143M 2m29s 7450K .......... .......... .......... .......... .......... 0% 155M 2m28s 7500K .......... .......... .......... .......... .......... 0% 1.08M 2m38s 7550K .......... .......... .......... .......... .......... 0% 77.8M 2m37s 7600K .......... .......... .......... .......... .......... 0% 155M 2m36s 7650K .......... .......... .......... .......... .......... 0% 191M 2m35s 7700K .......... .......... .......... .......... .......... 0% 168M 2m34s 7750K .......... .......... .......... .......... .......... 0% 108M 2m33s 7800K .......... .......... .......... .......... .......... 0% 107M 2m32s 7850K .......... .......... .......... .......... .......... 0% 151M 2m31s 7900K .......... .......... .......... .......... .......... 0% 155M 2m31s 7950K .......... .......... .......... .......... .......... 0% 124M 2m30s 8000K .......... .......... .......... .......... .......... 0% 125M 2m29s 8050K .......... .......... .......... .......... .......... 0% 157M 2m28s 8100K .......... .......... .......... .......... .......... 0% 137M 2m27s 8150K .......... .......... .......... .......... .......... 0% 155M 2m26s 8200K .......... .......... .......... .......... .......... 0% 140M 2m26s 8250K .......... .......... .......... .......... .......... 0% 152M 2m25s 8300K .......... .......... .......... .......... .......... 0% 183M 2m24s 8350K .......... .......... .......... .......... .......... 0% 10.6M 2m24s 8400K .......... .......... .......... .......... .......... 0% 27.7M 2m24s 8450K .......... .......... .......... .......... .......... 0% 229M 2m23s 8500K .......... .......... .......... .......... .......... 0% 193M 2m22s 8550K .......... .......... .......... .......... .......... 0% 230M 2m21s 8600K .......... .......... .......... .......... .......... 0% 212M 2m20s 8650K .......... .......... .......... .......... .......... 0% 234M 2m20s 8700K .......... .......... .......... .......... .......... 0% 201M 2m19s 8750K .......... .......... .......... .......... .......... 0% 177M 2m18s 8800K .......... .......... .......... .......... .......... 0% 145M 2m17s 8850K .......... .......... .......... .......... .......... 0% 186M 2m17s 8900K .......... .......... .......... .......... .......... 0% 192M 2m16s 8950K .......... .......... .......... .......... .......... 0% 190M 2m15s 9000K .......... .......... .......... .......... .......... 0% 1.14M 2m23s 9050K .......... .......... .......... .......... .......... 0% 27.7M 2m22s 9100K .......... .......... .......... .......... .......... 0% 19.3M 2m22s 9150K .......... .......... .......... .......... .......... 0% 184M 2m21s 9200K .......... .......... .......... .......... .......... 0% 154M 2m21s 9250K .......... .......... .......... .......... .......... 0% 103M 2m20s 9300K .......... .......... .......... .......... .......... 0% 157M 2m19s 9350K .......... .......... .......... .......... .......... 0% 185M 2m19s 9400K .......... .......... .......... .......... .......... 0% 174M 2m18s 9450K .......... .......... .......... .......... .......... 0% 137M 2m17s 9500K .......... .......... .......... .......... .......... 0% 185M 2m17s 9550K .......... .......... .......... .......... .......... 0% 180M 2m16s 9600K .......... .......... .......... .......... .......... 0% 155M 2m15s 9650K .......... .......... .......... .......... .......... 0% 190M 2m15s 9700K .......... .......... .......... .......... .......... 0% 153M 2m14s 9750K .......... .......... .......... .......... .......... 0% 190M 2m13s 9800K .......... .......... .......... .......... .......... 0% 168M 2m13s 9850K .......... .......... .......... .......... .......... 0% 185M 2m12s 9900K .......... .......... .......... .......... .......... 0% 9.74M 2m12s 9950K .......... .......... .......... .......... .......... 0% 25.6M 2m12s 10000K .......... .......... .......... .......... .......... 0% 144M 2m11s 10050K .......... .......... .......... .......... .......... 0% 184M 2m11s 10100K .......... .......... .......... .......... .......... 0% 194M 2m10s 10150K .......... .......... .......... .......... .......... 0% 194M 2m10s 10200K .......... .......... .......... .......... .......... 0% 177M 2m9s 10250K .......... .......... .......... .......... .......... 0% 194M 2m8s 10300K .......... .......... .......... .......... .......... 0% 187M 2m8s 10350K .......... .......... .......... .......... .......... 0% 190M 2m7s 10400K .......... .......... .......... .......... .......... 0% 159M 2m7s 10450K .......... .......... .......... .......... .......... 0% 193M 2m6s 10500K .......... .......... .......... .......... .......... 0% 195M 2m6s 10550K .......... .......... .......... .......... .......... 0% 1.13M 2m12s 10600K .......... .......... .......... .......... .......... 0% 27.5M 2m12s 10650K .......... .......... .......... .......... .......... 0% 28.2M 2m11s 10700K .......... .......... .......... .......... .......... 0% 184M 2m11s 10750K .......... .......... .......... .......... .......... 0% 184M 2m10s 10800K .......... .......... .......... .......... .......... 0% 84.3M 2m10s 10850K .......... .......... .......... .......... .......... 0% 161M 2m9s 10900K .......... .......... .......... .......... .......... 0% 158M 2m9s 10950K .......... .......... .......... .......... .......... 0% 123M 2m8s 11000K .......... .......... .......... .......... .......... 0% 134M 2m8s 11050K .......... .......... .......... .......... .......... 0% 162M 2m7s 11100K .......... .......... .......... .......... .......... 0% 183M 2m7s 11150K .......... .......... .......... .......... .......... 0% 187M 2m6s 11200K .......... .......... .......... .......... .......... 0% 134M 2m6s 11250K .......... .......... .......... .......... .......... 0% 184M 2m5s 11300K .......... .......... .......... .......... .......... 0% 181M 2m5s 11350K .......... .......... .......... .......... .......... 0% 189M 2m4s 11400K .......... .......... .......... .......... .......... 0% 12.6M 2m4s 11450K .......... .......... .......... .......... .......... 0% 32.9M 2m4s 11500K .......... .......... .......... .......... .......... 0% 32.1M 2m3s 11550K .......... .......... .......... .......... .......... 0% 185M 2m3s 11600K .......... .......... .......... .......... .......... 0% 151M 2m2s 11650K .......... .......... .......... .......... .......... 0% 193M 2m2s 11700K .......... .......... .......... .......... .......... 0% 192M 2m1s 11750K .......... .......... .......... .......... .......... 0% 190M 2m1s 11800K .......... .......... .......... .......... .......... 0% 174M 2m1s 11850K .......... .......... .......... .......... .......... 0% 181M 2m0s 11900K .......... .......... .......... .......... .......... 0% 187M 2m0s 11950K .......... .......... .......... .......... .......... 0% 187M 1m59s 12000K .......... .......... .......... .......... .......... 0% 156M 1m59s 12050K .......... .......... .......... .......... .......... 0% 191M 1m58s 12100K .......... .......... .......... .......... .......... 0% 1.11M 2m4s 12150K .......... .......... .......... .......... .......... 0% 53.7M 2m4s 12200K .......... .......... .......... .......... .......... 0% 20.8M 2m4s 12250K .......... .......... .......... .......... .......... 0% 106M 2m3s 12300K .......... .......... .......... .......... .......... 0% 183M 2m3s 12350K .......... .......... .......... .......... .......... 0% 168M 2m2s 12400K .......... .......... .......... .......... .......... 0% 114M 2m2s 12450K .......... .......... .......... .......... .......... 0% 192M 2m1s 12500K .......... .......... .......... .......... .......... 0% 189M 2m1s 12550K .......... .......... .......... .......... .......... 0% 189M 2m0s 12600K .......... .......... .......... .......... .......... 0% 169M 2m0s 12650K .......... .......... .......... .......... .......... 0% 191M 2m0s 12700K .......... .......... .......... .......... .......... 0% 155M 1m59s 12750K .......... .......... .......... .......... .......... 0% 189M 1m59s 12800K .......... .......... .......... .......... .......... 0% 157M 1m58s 12850K .......... .......... .......... .......... .......... 0% 175M 1m58s 12900K .......... .......... .......... .......... .......... 0% 190M 1m57s 12950K .......... .......... .......... .......... .......... 0% 12.2M 1m57s 13000K .......... .......... .......... .......... .......... 0% 34.4M 1m57s 13050K .......... .......... .......... .......... .......... 0% 27.9M 1m57s 13100K .......... .......... .......... .......... .......... 0% 176M 1m57s 13150K .......... .......... .......... .......... .......... 0% 187M 1m56s 13200K .......... .......... .......... .......... .......... 0% 157M 1m56s 13250K .......... .......... .......... .......... .......... 0% 194M 1m55s 13300K .......... .......... .......... .......... .......... 0% 187M 1m55s 13350K .......... .......... .......... .......... .......... 0% 172M 1m55s 13400K .......... .......... .......... .......... .......... 0% 177M 1m54s 13450K .......... .......... .......... .......... .......... 0% 189M 1m54s 13500K .......... .......... .......... .......... .......... 0% 192M 1m53s 13550K .......... .......... .......... .......... .......... 0% 188M 1m53s 13600K .......... .......... .......... .......... .......... 0% 1.16M 1m58s 13650K .......... .......... .......... .......... .......... 0% 39.5M 1m58s 13700K .......... .......... .......... .......... .......... 0% 35.1M 1m57s 13750K .......... .......... .......... .......... .......... 0% 37.4M 1m57s 13800K .......... .......... .......... .......... .......... 0% 105M 1m57s 13850K .......... .......... .......... .......... .......... 0% 57.0M 1m57s 13900K .......... .......... .......... .......... .......... 0% 179M 1m56s 13950K .......... .......... .......... .......... .......... 0% 184M 1m56s 14000K .......... .......... .......... .......... .......... 0% 137M 1m55s 14050K .......... .......... .......... .......... .......... 0% 148M 1m55s 14100K .......... .......... .......... .......... .......... 0% 188M 1m55s 14150K .......... .......... .......... .......... .......... 0% 181M 1m54s 14200K .......... .......... .......... .......... .......... 0% 172M 1m54s 14250K .......... .......... .......... .......... .......... 0% 188M 1m54s 14300K .......... .......... .......... .......... .......... 0% 151M 1m53s 14350K .......... .......... .......... .......... .......... 0% 185M 1m53s 14400K .......... .......... .......... .......... .......... 0% 150M 1m52s 14450K .......... .......... .......... .......... .......... 0% 191M 1m52s 14500K .......... .......... .......... .......... .......... 0% 8.88M 1m52s 14550K .......... .......... .......... .......... .......... 0% 129M 1m52s 14600K .......... .......... .......... .......... .......... 0% 68.7M 1m52s 14650K .......... .......... .......... .......... .......... 0% 47.4M 1m51s 14700K .......... .......... .......... .......... .......... 0% 185M 1m51s 14750K .......... .......... .......... .......... .......... 0% 170M 1m51s 14800K .......... .......... .......... .......... .......... 0% 157M 1m50s 14850K .......... .......... .......... .......... .......... 0% 198M 1m50s 14900K .......... .......... .......... .......... .......... 0% 195M 1m50s 14950K .......... .......... .......... .......... .......... 0% 192M 1m49s 15000K .......... .......... .......... .......... .......... 0% 179M 1m49s 15050K .......... .......... .......... .......... .......... 0% 209M 1m49s 15100K .......... .......... .......... .......... .......... 0% 190M 1m48s 15150K .......... .......... .......... .......... .......... 0% 1.14M 1m53s 15200K .......... .......... .......... .......... .......... 0% 34.7M 1m53s 15250K .......... .......... .......... .......... .......... 0% 43.1M 1m53s 15300K .......... .......... .......... .......... .......... 0% 73.5M 1m52s 15350K .......... .......... .......... .......... .......... 0% 48.8M 1m52s 15400K .......... .......... .......... .......... .......... 0% 50.0M 1m52s 15450K .......... .......... .......... .......... .......... 0% 185M 1m51s 15500K .......... .......... .......... .......... .......... 0% 159M 1m51s 15550K .......... .......... .......... .......... .......... 0% 129M 1m51s 15600K .......... .......... .......... .......... .......... 0% 155M 1m50s *** WARNING: skipped 2687877 bytes of output *** 1753900K .......... .......... .......... .......... .......... 99% 23.4M 1s 1753950K .......... .......... .......... .......... .......... 99% 25.5M 1s 1754000K .......... .......... .......... .......... .......... 99% 83.5M 1s 1754050K .......... .......... .......... .......... .......... 99% 76.4M 1s 1754100K .......... .......... .......... .......... .......... 99% 27.0M 1s 1754150K .......... .......... .......... .......... .......... 99% 72.9M 1s 1754200K .......... .......... .......... .......... .......... 99% 3.90M 1s 1754250K .......... .......... .......... .......... .......... 99% 109M 1s 1754300K .......... .......... .......... .......... .......... 99% 151M 1s 1754350K .......... .......... .......... .......... .......... 99% 116M 1s 1754400K .......... .......... .......... .......... .......... 99% 140M 1s 1754450K .......... .......... .......... .......... .......... 99% 144M 1s 1754500K .......... .......... .......... .......... .......... 99% 102M 1s 1754550K .......... .......... .......... .......... .......... 99% 110M 1s 1754600K .......... .......... .......... .......... .......... 99% 91.3M 1s 1754650K .......... .......... .......... .......... .......... 99% 4.37M 1s 1754700K .......... .......... .......... .......... .......... 99% 23.9M 1s 1754750K .......... .......... .......... .......... .......... 99% 74.4M 1s 1754800K .......... .......... .......... .......... .......... 99% 118M 1s 1754850K .......... .......... .......... .......... .......... 99% 26.9M 1s 1754900K .......... .......... .......... .......... .......... 99% 33.8M 1s 1754950K .......... .......... .......... .......... .......... 99% 33.9M 1s 1755000K .......... .......... .......... .......... .......... 99% 50.0M 1s 1755050K .......... .......... .......... .......... .......... 99% 9.64M 1s 1755100K .......... .......... .......... .......... .......... 99% 34.5M 1s 1755150K .......... .......... .......... .......... .......... 99% 49.4M 1s 1755200K .......... .......... .......... .......... .......... 99% 142M 1s 1755250K .......... .......... .......... .......... .......... 99% 5.62M 1s 1755300K .......... .......... .......... .......... .......... 99% 137M 1s 1755350K .......... .......... .......... .......... .......... 99% 134M 1s 1755400K .......... .......... .......... .......... .......... 99% 24.0M 1s 1755450K .......... .......... .......... .......... .......... 99% 134M 1s 1755500K .......... .......... .......... .......... .......... 99% 25.4M 1s 1755550K .......... .......... .......... .......... .......... 99% 79.5M 1s 1755600K .......... .......... .......... .......... .......... 99% 81.4M 1s 1755650K .......... .......... .......... .......... .......... 99% 25.4M 1s 1755700K .......... .......... .......... .......... .......... 99% 99.1M 1s 1755750K .......... .......... .......... .......... .......... 99% 3.80M 1s 1755800K .......... .......... .......... .......... .......... 99% 113M 1s 1755850K .......... .......... .......... .......... .......... 99% 127M 1s 1755900K .......... .......... .......... .......... .......... 99% 129M 1s 1755950K .......... .......... .......... .......... .......... 99% 121M 1s 1756000K .......... .......... .......... .......... .......... 99% 141M 1s 1756050K .......... .......... .......... .......... .......... 99% 125M 1s 1756100K .......... .......... .......... .......... .......... 99% 143M 1s 1756150K .......... .......... .......... .......... .......... 99% 4.34M 1s 1756200K .......... .......... .......... .......... .......... 99% 60.9M 1s 1756250K .......... .......... .......... .......... .......... 99% 30.7M 1s 1756300K .......... .......... .......... .......... .......... 99% 84.1M 1s 1756350K .......... .......... .......... .......... .......... 99% 105M 1s 1756400K .......... .......... .......... .......... .......... 99% 26.1M 1s 1756450K .......... .......... .......... .......... .......... 99% 29.8M 1s 1756500K .......... .......... .......... .......... .......... 99% 36.6M 1s 1756550K .......... .......... .......... .......... .......... 99% 57.6M 1s 1756600K .......... .......... .......... .......... .......... 99% 9.06M 1s 1756650K .......... .......... .......... .......... .......... 99% 48.7M 1s 1756700K .......... .......... .......... .......... .......... 99% 44.0M 1s 1756750K .......... .......... .......... .......... .......... 99% 5.63M 1s 1756800K .......... .......... .......... .......... .......... 99% 97.3M 1s 1756850K .......... .......... .......... .......... .......... 99% 140M 1s 1756900K .......... .......... .......... .......... .......... 99% 159M 1s 1756950K .......... .......... .......... .......... .......... 99% 24.2M 1s 1757000K .......... .......... .......... .......... .......... 99% 102M 1s 1757050K .......... .......... .......... .......... .......... 99% 26.4M 1s 1757100K .......... .......... .......... .......... .......... 99% 124M 1s 1757150K .......... .......... .......... .......... .......... 99% 22.3M 1s 1757200K .......... .......... .......... .......... .......... 99% 99.8M 1s 1757250K .......... .......... .......... .......... .......... 99% 3.83M 1s 1757300K .......... .......... .......... .......... .......... 99% 102M 1s 1757350K .......... .......... .......... .......... .......... 99% 126M 1s 1757400K .......... .......... .......... .......... .......... 99% 134M 1s 1757450K .......... .......... .......... .......... .......... 99% 122M 1s 1757500K .......... .......... .......... .......... .......... 99% 128M 1s 1757550K .......... .......... .......... .......... .......... 99% 101M 1s 1757600K .......... .......... .......... .......... .......... 99% 123M 1s 1757650K .......... .......... .......... .......... .......... 99% 130M 1s 1757700K .......... .......... .......... .......... .......... 99% 4.27M 1s 1757750K .......... .......... .......... .......... .......... 99% 30.8M 1s 1757800K .......... .......... .......... .......... .......... 99% 74.5M 1s 1757850K .......... .......... .......... .......... .......... 99% 83.2M 1s 1757900K .......... .......... .......... .......... .......... 99% 114M 1s 1757950K .......... .......... .......... .......... .......... 99% 24.5M 0s 1758000K .......... .......... .......... .......... .......... 99% 24.6M 0s 1758050K .......... .......... .......... .......... .......... 99% 38.8M 0s 1758100K .......... .......... .......... .......... .......... 99% 18.1M 0s 1758150K .......... .......... .......... .......... .......... 99% 13.6M 0s 1758200K .......... .......... .......... .......... .......... 99% 55.1M 0s 1758250K .......... .......... .......... .......... .......... 99% 83.2M 0s 1758300K .......... .......... .......... .......... .......... 99% 5.57M 0s 1758350K .......... .......... .......... .......... .......... 99% 97.5M 0s 1758400K .......... .......... .......... .......... .......... 99% 133M 0s 1758450K .......... .......... .......... .......... .......... 99% 24.1M 0s 1758500K .......... .......... .......... .......... .......... 99% 120M 0s 1758550K .......... .......... .......... .......... .......... 99% 33.0M 0s 1758600K .......... .......... .......... .......... .......... 99% 71.5M 0s 1758650K .......... .......... .......... .......... .......... 99% 63.1M 0s 1758700K .......... .......... .......... .......... .......... 99% 28.1M 0s 1758750K .......... .......... .......... .......... .......... 99% 61.6M 0s 1758800K .......... .......... .......... .......... .......... 99% 3.88M 0s 1758850K .......... .......... .......... .......... .......... 99% 129M 0s 1758900K .......... .......... .......... .......... .......... 99% 40.7M 0s 1758950K .......... .......... .......... .......... .......... 99% 102M 0s 1759000K .......... .......... .......... .......... .......... 99% 138M 0s 1759050K .......... .......... .......... .......... .......... 99% 146M 0s 1759100K .......... .......... .......... .......... .......... 99% 141M 0s 1759150K .......... .......... .......... .......... .......... 99% 121M 0s 1759200K .......... .......... .......... .......... .......... 99% 184M 0s 1759250K .......... .......... .......... .......... .......... 99% 4.43M 0s 1759300K .......... .......... .......... .......... .......... 99% 28.8M 0s 1759350K .......... .......... .......... .......... .......... 99% 77.1M 0s 1759400K .......... .......... .......... .......... .......... 99% 140M 0s 1759450K .......... .......... .......... .......... .......... 99% 111M 0s 1759500K .......... .......... .......... .......... .......... 99% 21.5M 0s 1759550K .......... .......... .......... .......... .......... 99% 22.7M 0s 1759600K .......... .......... .......... .......... .......... 99% 32.9M 0s 1759650K .......... .......... .......... .......... .......... 99% 10.7M 0s 1759700K .......... .......... .......... .......... .......... 99% 40.9M 0s 1759750K .......... .......... .......... .......... .......... 99% 44.6M 0s 1759800K .......... .......... .......... .......... .......... 99% 74.8M 0s 1759850K .......... .......... .......... .......... .......... 99% 5.67M 0s 1759900K .......... .......... .......... .......... .......... 99% 145M 0s 1759950K .......... .......... .......... .......... .......... 99% 117M 0s 1760000K .......... .......... .......... .......... .......... 99% 22.3M 0s 1760050K .......... .......... .......... .......... .......... 99% 145M 0s 1760100K .......... .......... .......... .......... .......... 99% 32.5M 0s 1760150K .......... .......... .......... .......... .......... 99% 71.0M 0s 1760200K .......... .......... .......... .......... .......... 99% 98.5M 0s 1760250K .......... .......... .......... .......... .......... 99% 24.7M 0s 1760300K .......... .......... .......... .......... .......... 99% 86.2M 0s 1760350K .......... .......... .......... .......... .......... 99% 3.85M 0s 1760400K .......... .......... .......... .......... .......... 99% 151M 0s 1760450K .......... .......... .......... .......... .......... 99% 42.7M 0s 1760500K .......... .......... .......... .......... .......... 99% 147M 0s 1760550K .......... .......... .......... .......... .......... 99% 133M 0s 1760600K .......... .......... .......... .......... .......... 99% 158M 0s 1760650K .......... .......... .......... .......... .......... 99% 147M 0s 1760700K .......... .......... .......... .......... .......... 99% 169M 0s 1760750K .......... .......... .......... .......... .......... 99% 4.34M 0s 1760800K .......... .......... .......... .......... .......... 99% 33.7M 0s 1760850K .......... .......... .......... .......... .......... 99% 74.3M 0s 1760900K .......... .......... .......... .......... .......... 99% 82.5M 0s 1760950K .......... .......... .......... .......... .......... 99% 106M 0s 1761000K .......... .......... .......... .......... .......... 99% 28.4M 0s 1761050K .......... .......... .......... .......... .......... 99% 31.1M 0s 1761100K .......... .......... .......... .......... .......... 99% 33.5M 0s 1761150K .......... .......... .......... .......... .......... 99% 22.0M 0s 1761200K .......... .......... .......... .......... .......... 99% 11.8M 0s 1761250K .......... .......... .......... .......... .......... 99% 36.4M 0s 1761300K .......... .......... .......... .......... .......... 99% 52.2M 0s 1761350K .......... .......... .......... .......... .......... 99% 67.7M 0s 1761400K .......... .......... .......... .......... .......... 99% 5.91M 0s 1761450K .......... .......... .......... .......... .......... 99% 117M 0s 1761500K .......... .......... .......... .......... .......... 99% 111M 0s 1761550K .......... .......... .......... .......... .......... 99% 21.3M 0s 1761600K .......... .......... .......... .......... .......... 99% 147M 0s 1761650K .......... .......... .......... .......... .......... 99% 29.6M 0s 1761700K .......... .......... .......... .......... .......... 99% 128M 0s 1761750K .......... .......... .......... .......... .......... 99% 26.2M 0s 1761800K .......... .......... .......... .......... .......... 99% 73.6M 0s 1761850K .......... .......... .......... .......... .......... 99% 3.86M 0s 1761900K .......... .......... .......... .......... .......... 99% 102M 0s 1761950K .......... .......... .......... .......... .......... 99% 38.0M 0s 1762000K .......... .......... .......... .......... .......... 99% 108M 0s 1762050K .......... .......... .......... .......... .......... 99% 114M 0s 1762100K .......... .......... .......... .......... .......... 99% 132M 0s 1762150K .......... .......... .......... .......... .......... 99% 110M 0s 1762200K .......... .......... .......... .......... .......... 99% 180M 0s 1762250K .......... .......... .......... .......... .......... 99% 227M 0s 1762300K .......... .......... .......... .......... .......... 99% 4.46M 0s 1762350K .......... .......... .......... .......... .......... 99% 33.8M 0s 1762400K .......... .......... .......... .......... .......... 99% 53.0M 0s 1762450K .......... .......... .......... .......... .......... 99% 140M 0s 1762500K .......... .......... .......... .......... .......... 99% 124M 0s 1762550K .......... .......... .......... .......... .......... 99% 25.8M 0s 1762600K .......... .......... .......... .......... .......... 99% 33.3M 0s 1762650K .......... .......... .......... .......... .......... 99% 30.8M 0s 1762700K .......... .......... .......... .......... .......... 99% 24.2M 0s 1762750K .......... .......... .......... .......... .......... 99% 10.3M 0s 1762800K .......... .......... .......... .......... .......... 99% 47.4M 0s 1762850K .......... .......... .......... .......... .......... 99% 68.5M 0s 1762900K .......... .......... .......... .......... .......... 99% 5.78M 0s 1762950K .......... .......... .......... .......... .......... 99% 85.0M 0s 1763000K .......... .......... .......... .......... .......... 99% 111M 0s 1763050K .......... .......... .......... .......... .......... 99% 156M 0s 1763100K .......... .......... .......... .......... .......... 99% 21.2M 0s 1763150K .......... .......... .......... .......... .......... 99% 38.8M 0s 1763200K .......... .......... .......... .......... .......... 99% 59.6M 0s 1763250K .......... .......... .......... .......... .......... 99% 113M 0s 1763300K .......... .......... .......... .......... .......... 99% 23.6M 0s 1763350K .......... .......... .......... .......... .......... 99% 134M 0s 1763400K .......... .......... .......... .......... .......... 99% 3.72M 0s 1763450K .......... .......... .......... .......... .......... 99% 124M 0s 1763500K .......... .......... .......... .......... .......... 99% 62.4M 0s 1763550K .......... .......... .......... .......... .......... 99% 95.0M 0s 1763600K .......... .......... .......... .......... .......... 99% 124M 0s 1763650K .......... .......... .......... .......... .......... 99% 136M 0s 1763700K .......... .......... .......... .......... .......... 99% 111M 0s 1763750K .......... .......... .......... .......... .......... 99% 142M 0s 1763800K .......... .......... .......... .......... .......... 99% 148M 0s 1763850K .......... .......... .......... .......... .......... 99% 4.48M 0s 1763900K .......... .......... .......... .......... .......... 99% 29.3M 0s 1763950K .......... .......... .......... .......... .......... 99% 68.0M 0s 1764000K .......... .......... .......... .......... .......... 99% 131M 0s 1764050K .......... .......... .......... .......... .......... 99% 22.4M 0s 1764100K .......... .......... .......... .......... .......... 99% 40.9M 0s 1764150K .......... .......... .......... .......... .......... 99% 48.5M 0s 1764200K .......... .......... .......... .......... .......... 99% 35.8M 0s 1764250K .......... .......... .......... .......... .......... 99% 9.67M 0s 1764300K .......... .......... .......... .......... .......... 99% 41.8M 0s 1764350K .......... .......... .......... .......... .......... 99% 37.2M 0s 1764400K .......... .......... .......... .......... .......... 99% 56.8M 0s 1764450K .......... .......... .......... .......... .......... 99% 5.03M 0s 1764500K .......... .......... .......... .......... .......... 99% 123M 0s 1764550K .......... .......... .......... .......... .......... 99% 129M 0s 1764600K .......... .......... .......... .......... .......... 99% 56.7M 0s 1764650K .......... .......... .......... .......... .......... 99% 181M 0s 1764700K .......... .......... .......... .......... .......... 99% 41.0M 0s 1764750K .......... .......... .......... .......... .......... 99% 53.8M 0s 1764800K .......... .......... .......... .......... .......... 99% 90.9M 0s 1764850K .......... .......... .......... .......... .......... 99% 24.2M 0s 1764900K .......... .......... .......... .......... .......... 99% 70.0M 0s 1764950K .......... .......... .......... .......... .......... 99% 3.81M 0s 1765000K .......... .......... .......... .......... .......... 99% 122M 0s 1765050K .......... .......... .......... .......... .......... 99% 68.5M 0s 1765100K .......... .......... .......... .......... .......... 99% 134M 0s 1765150K .......... .......... .......... .......... .......... 99% 102M 0s 1765200K .......... .......... .......... .......... .......... 99% 135M 0s 1765250K .......... .......... .......... .......... .......... 99% 130M 0s 1765300K .......... .......... .......... .......... .......... 99% 143M 0s 1765350K .......... .......... .......... .......... .......... 99% 4.43M 0s 1765400K .......... .......... .......... .......... .......... 99% 60.3M 0s 1765450K .......... .......... .......... .......... .......... 99% 42.5M 0s 1765500K .......... .......... .......... .......... .......... 99% 74.1M 0s 1765550K .......... .......... .......... .......... .......... 99% 95.1M 0s 1765600K .......... .......... .......... .......... .......... 99% 22.8M 0s 1765650K .......... .......... .......... .......... .......... 99% 37.4M 0s 1765700K .......... .......... .......... .......... .......... 99% 40.3M 0s 1765750K .......... .......... .......... .......... .......... 99% 31.9M 0s 1765800K .......... .......... .......... .......... .......... 99% 10.5M 0s 1765850K .......... .......... .......... .......... .......... 99% 47.4M 0s 1765900K .......... .......... .......... .......... .......... 99% 38.9M 0s 1765950K .......... .......... .......... .......... .......... 99% 15.5M 0s 1766000K .......... .......... .......... .......... .......... 99% 6.51M 0s 1766050K .......... .......... .......... .......... .......... 99% 106M 0s 1766100K .......... .......... .......... .......... .......... 99% 139M 0s 1766150K .......... .......... .......... .......... .......... 99% 57.7M 0s 1766200K .......... .......... .......... .......... .......... 99% 129M 0s 1766250K .......... .......... .......... .......... .......... 99% 33.0M 0s 1766300K .......... .......... .......... .......... .......... 99% 102M 0s 1766350K .......... .......... .......... .......... .......... 99% 22.5M 0s 1766400K .......... .......... .......... .......... .......... 99% 91.2M 0s 1766450K .......... .......... .......... .......... .......... 99% 3.72M 0s 1766500K .......... .......... .......... .......... .......... 99% 108M 0s 1766550K .......... .......... .......... .......... .......... 99% 73.4M 0s 1766600K .......... .......... .......... .......... .......... 99% 110M 0s 1766650K .......... .......... .......... .......... .......... 99% 102M 0s 1766700K .......... .......... .......... .......... .......... 99% 141M 0s 1766750K .......... .......... .......... .......... .......... 99% 82.1M 0s 1766800K .......... .......... .......... .......... .......... 99% 133M 0s 1766850K .......... .......... .......... .......... .......... 99% 134M 0s 1766900K .......... .......... .......... .......... .......... 99% 4.35M 0s 1766950K .......... .......... .......... .......... .......... 99% 36.5M 0s 1767000K .......... .......... .......... .......... .......... 99% 83.8M 0s 1767050K .......... .......... .......... .......... .......... 99% 82.8M 0s 1767100K .......... .......... .......... .......... .......... 99% 120M 0s 1767150K .......... .......... .......... .......... .......... 99% 27.1M 0s 1767200K .......... .......... .......... .......... .......... 99% 26.2M 0s 1767250K .......... .......... .......... .......... .......... 99% 49.0M 0s 1767300K .......... .......... .......... .......... .......... 99% 15.2M 0s 1767350K .......... .......... .......... .......... .......... 99% 17.1M 0s 1767400K .......... .......... .......... .......... .......... 99% 37.5M 0s 1767450K .......... .......... .......... .......... .......... 99% 51.7M 0s 1767500K .......... .......... .......... .......... .......... 99% 4.84M 0s 1767550K .......... .......... .......... .......... .......... 99% 91.2M 0s 1767600K .......... .......... .......... .......... .......... 99% 131M 0s 1767650K .......... .......... .......... .......... .......... 99% 138M 0s 1767700K .......... .......... .......... .......... .......... 99% 65.2M 0s 1767750K .......... .......... .......... .......... .......... 99% 50.6M 0s 1767800K .......... .......... .......... .......... .......... 99% 45.1M 0s 1767850K .......... .......... .......... .......... .......... 99% 97.8M 0s 1767900K .......... .......... .......... .......... .......... 99% 26.3M 0s 1767950K .......... .......... .......... .......... .......... 99% 55.5M 0s 1768000K .......... .......... .......... .......... .......... 99% 3.77M 0s 1768050K .......... .......... .......... .......... .......... 99% 122M 0s 1768100K .......... .......... .......... .......... .......... 99% 73.0M 0s 1768150K .......... .......... .......... .......... .......... 99% 105M 0s 1768200K .......... .......... .......... .......... .......... 99% 137M 0s 1768250K .......... .......... .......... .......... .......... 99% 162M 0s 1768300K .......... .......... .......... .......... .......... 99% 129M 0s 1768350K .......... .......... .......... .......... .......... 99% 120M 0s 1768400K .......... .......... .......... .......... .......... 99% 157M 0s 1768450K .......... .......... .......... .......... .......... 99% 4.23M 0s 1768500K .......... .......... .......... .......... .......... 99% 34.1M 0s 1768550K .......... .......... .......... .......... .......... 99% 95.7M 0s 1768600K .......... .......... .......... .......... .......... 99% 128M 0s 1768650K .......... .......... .......... .......... .......... 99% 83.4M 0s 1768700K .......... .......... .......... .......... .......... 99% 28.4M 0s 1768750K .......... .......... .......... .......... .......... 99% 22.7M 0s 1768800K .......... .......... .......... .......... .......... 99% 25.6M 0s 1768850K .......... .......... .......... .......... .......... 99% 10.9M 0s 1768900K .......... .......... .......... .......... .......... 99% 33.7M 0s 1768950K .......... .......... .......... .......... .......... 99% 48.0M 0s 1769000K .......... .......... .......... .......... .......... 99% 28.0M 0s 1769050K .......... .......... .......... .......... .......... 99% 5.41M 0s 1769100K .......... .......... .......... .......... .......... 99% 152M 0s 1769150K .......... .......... .......... .......... .......... 99% 124M 0s 1769200K .......... .......... .......... .......... .......... 99% 82.9M 0s 1769250K .......... .......... .......... .......... .......... 99% 118M 0s 1769300K .......... .......... .......... .......... .......... 99% 43.7M 0s 1769350K .......... .......... .......... .......... .......... 99% 58.7M 0s 1769400K .......... .......... .......... .......... .......... 99% 104M 0s 1769450K .......... .......... .......... .......... .......... 99% 18.2M 0s 1769500K .......... .......... .......... .......... .......... 99% 128M 0s 1769550K .......... .......... .......... .......... .......... 99% 3.89M 0s 1769600K .......... .......... .......... .......... .......... 99% 145M 0s 1769650K .......... .......... .......... .......... .......... 99% 54.5M 0s 1769700K .......... .......... .......... .......... .......... 99% 166M 0s 1769750K .......... .......... .......... .......... .......... 99% 132M 0s 1769800K .......... .......... .......... .......... .......... 99% 143M 0s 1769850K .......... .......... .......... .......... .......... 99% 133M 0s 1769900K .......... .......... .......... .......... .......... 99% 150M 0s 1769950K .......... .......... .......... .......... .......... 99% 4.23M 0s 1770000K .......... .......... .......... .......... ........ 100% 112M=73s 2019-06-17 20:07:38 (23.5 MB/s) - ‘yellow_tripdata_2015-07.csv’ saved [1812530041/1812530041]
%sh
wget https://github.com/harsha2010/magellan/raw/master/examples/datasets/NYC-NEIGHBORHOODS/neighborhoods.geojson
Show result
%sh
pwd
/databricks/driver
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)
res0: Boolean = true
dbutils.fs.cp("file:/" + CSV_PATH, "dbfs:/" + PATH)
Show result
dbutils.fs.cp("file:/" + NE_FILE_PATH, "dbfs:/" + PATH)
Show result

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)
res0: 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)
res2: 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)])
trips.count
res3: Long = 11562783
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()
res5: 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)
)
Midtown2100525
Upper East Side1485657
Chelsea1101154
Upper West Side950757
Hell's Kitchen611699
Theater District452054
East Village451573
West Village427372
Murray Hill316317
LaGuardia Airport283160
John F. Kennedy International Airport264302
SoHo242748
Gramercy241271
Kips Bay238094
Greenwich Village238023
Financial District231074
Tribeca203249
Flatiron District190873
Lower East Side181093
Central Park173214
Battery Park City122574
East Harlem102184
NoHo88882
Harlem71778
Williamsburg59386
Stuyvesant Town52770
Nolita51337
Chinatown48776
Long Island City44771
Morningside Heights44428
Civic Center28714
Astoria26775
Little Italy20287
Downtown Brooklyn19318
Sunnyside17416
Brooklyn Heights12759
Park Slope11803
Washington Heights11788
Fort Greene11644
Carroll Gardens10657
Greenpoint10464
East Elmhurst9347
Bedford-Stuyvesant9030
Woodside8543
Boerum Hill8221
Ditmars Steinway7679
Cobble Hill6317
Bushwick5749
Prospect Heights5676
Elmhurst5474
Crown Heights4522
Jackson Heights4315
Clinton Hill4219
DUMBO3909
Two Bridges3720
Gowanus3644
Jamaica3011
South Slope2316
South Ozone Park2227
Forest Hills2080
Sunset Park2080
Inwood1922
Mott Haven1906
Rego Park1745
Flatbush1678
Prospect-Lefferts Gardens1493
Maspeth1441
Concourse1341
Flushing1307
Kensington1003
Prospect Park987
Flushing Meadows Corona Park959
Roosevelt Island922
Richmond Hill894
Red Hook844
Columbia St816
East Flatbush754
Briarwood753
Randall's Island710
Port Morris695
Corona633
Kew Gardens595
Vinegar Hill544
Midwood491
Longwood480
Concourse Village441
Ridgewood436
Windsor Terrace420
Sheepshead Bay382
East New York375
Bay Ridge368
Borough Park352
Melrose343
Kingsbridge336
Springfield Gardens288
Kew Gardens Hills264
Fordham261
Highbridge252
Navy Yard239
Parkchester229

Exercise

The schema is different for 2017 data and this needs more work. Try to repeat the above for this dataset with a different schema.

wget https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2017-06.csv