- 20/10/2020
- 5 minute de citit
-
-
m
-
D
-
j
-
In acest articol
In acest tutorial, veti afla cum sa efectuati analize exploratorii de date utilizand Azure Open Datasets si Apache Spark. Apoi, puteti vizualiza rezultatele intr-un notebook Synapse Studio in Azure Synapse Analytics.
In special, vom analiza setul de date Taxi New York City (NYC). Datele sunt disponibile prin Azure Open Datasets. Acest subset al setului de date contine informatii despre calatoriile cu taxiul galben: informatii despre fiecare calatorie, ora si locatiile de inceput si sfarsit, costul si alte atribute interesante.
Inainte de a incepe
Creati un pool Apache Spark urmand tutorialul Create an Apache Spark.
Descarcati si pregatiti datele
-
Creati un notebook folosind kernel-ul PySpark. Pentru instructiuni, consultati Crearea unui caiet.
Nota
Datorita nucleului PySpark, nu este nevoie sa creati in mod explicit niciun context. Contextul Spark este creat automat atunci cand rulati prima celula de cod.
-
In acest tutorial, vom folosi mai multe biblioteci diferite pentru a ne ajuta sa vizualizam setul de date. Pentru a face aceasta analiza, importati urmatoarele biblioteci:
import matplotlib.pyplot as plt import seaborn as sns import pandas as pd
-
Deoarece datele brute sunt intr-un format parchet, puteti utiliza contextul Spark pentru a trage fisierul in memorie ca un cadru de date direct. Creati un Spark DataFrame recuperand datele prin intermediul API-ului Open Datasets. Aici, folosim schema Spark DataFrame pe proprietatile citite pentru a deduce tipurile de date si schema.
din azureml.opendatasets import NycTlcYellow from datetime import datetime from dateutil import parser end_date = parser.parse (‘2018-06-06’) start_date = parser.parse (‘2018-05-01’) nyc_tlc = NycTlcYellow (start_date = start_date, end_date = end_date) df = nyc_tlc.to_spark_dataframe ()
-
Dupa citirea datelor, vom dori sa facem cateva filtrari initiale pentru a curata setul de date. S-ar putea sa eliminam coloanele care nu sunt necesare si sa adaugam coloane care extrag informatii importante. In plus, vom filtra anomaliile din setul de date.
# Filtreaza setul de date din pyspark.sql.functions import * filtered_df = df.select (‘furnizorID’, ‘pasagerCont’, ‘calatorieDistanta’, ‘plataTip’, ‘tarifAmount’, ‘tipAmount’ \, date_format (‘tpepPickupDateTime’, ‘ hh ‘). alias (‘ hour_of_day ‘) \, dayofweek (‘ tpepPickupDateTime ‘). alias (‘ day_of_week ‘) \, dayofmonth (col (‘ tpepPickupDateTime ‘)). alias (‘ day_of_month ‘)) \ .filter ((df .passengerCount> 0) \ & (df.tipAmount> = 0) \ & (df.fareAmount> = 1) & (df.fareAmount <= 250) \ & (df.tripDistance> 0) & (df.tripDistance <= 200)) filtered_df.createOrReplaceTempView (“taxi_dataset”)
Analizati datele
In calitate de analist de date, aveti la dispozitie o gama larga de instrumente pentru a va ajuta sa extrageti informatii din date. In aceasta parte a tutorialului, vom parcurge cateva instrumente utile disponibile in blocnotesele Azure Synapse Analytics. In aceasta analiza, vrem sa intelegem factorii care dau sfaturi mai mari de taxi pentru perioada selectata.
Apache Spark SQL Magic
In primul rand, vom efectua analize de date exploratorii de catre Apache Spark SQL si comenzi magice cu notebook-ul Azure Synapse. Dupa ce avem interogarea noastra, vom vizualiza rezultatele utilizand functia de optiuni incorporate a graficului.
-
In notebook-ul dvs., creati o noua celula si copiati urmatorul cod.
jovencitas folladoras me follo a mi vecina
pareja española follando descargar peliculas porno completas
tragando semen xxx tangas xxx
videos porno caseros españoles maduros en pajilleros
paja en publico nonude model
carne de mercado xxx españolas follando por dinero
cincuentona española follando maduras españolas amater
madura tetona viejas mexicanas follando
penes grandes porno en cine convencional
heidi porno miriam sanchez videos porno
follando con abuelas porno gay cerdo
follada a traicion revistas xxx
videos de travestis en español necrofilia xxx
porno gitanas españolas tetas saltarinas
me corro en la boca de mama feet hentai
ana marco primer anal follada en tanga
chicas masturbando a chicos porno friki
trio con mi esposa vidio xxxx
maduras corriendose paja en publico
brazzers videos completos porno violacion gayFolosind aceasta interogare, vrem sa intelegem cum s-au schimbat sumele medii de bacsis in perioada selectata. Aceasta interogare ne va ajuta, de asemenea, sa identificam alte informatii utile, inclusiv suma minima / maxima a bacsisului pe zi si suma medie a tarifului.
%% sql SELECT day_of_month, MIN (tipAmount) AS minTipAmount, MAX (tipAmount) AS maxTipAmount, AVG (tipAmount) AS avgTipAmount, AVG (tarifAmount) ca tarifAmount DE la taxi_dataset GROUP BY day_of_month ORDER BY day_of_month AS
-
Dupa ce interogarea noastra se finalizeaza, putem vizualiza rezultatele trecand la vizualizarea grafica. Acest exemplu creeaza o diagrama liniara prin specificarea campului day_of_month ca cheie si avgTipAmount ca valoare. Dupa ce ati facut selectiile, selectati Aplicati pentru a reimprospata graficul.
Vizualizati datele
In plus fata de optiunile de graficare pentru notebook-uri incorporate, puteti utiliza biblioteci open-source populare pentru a va crea propriile vizualizari. In exemplele urmatoare, vom folosi Seaborn si Matplotlib. Acestea sunt biblioteci Python utilizate in mod obisnuit pentru vizualizarea datelor.
Nota
In mod implicit, fiecare grup Apache Spark din Azure Synapse Analytics contine un set de biblioteci utilizate in mod obisnuit si implicit. Puteti vizualiza lista completa a bibliotecilor in documentatia de executie Azure Synapse. In plus, pentru a pune la dispozitia aplicatiilor codul terta parte sau construit local, puteti instala o biblioteca pe unul din grupurile dvs. Spark.
-
Pentru a face dezvoltarea mai usoara si mai putin costisitoare, vom redimensiona setul de date. Vom folosi capacitatea de esantionare incorporata Apache Spark. In plus, atat Seaborn, cat si Matplotlib necesita o matrice Pandas DataFrame sau NumPy. Pentru a obtine un Pandas DataFrame, utilizati comanda toPandas () pentru a converti DataFrame.
# Pentru a face dezvoltarea mai usoara, mai rapida si mai putin costisitoare, downsample pentru moment sampled_taxi_df = filtered_df.sample (Adevarat, 0,001, seed = 1234) # Pachetul de graficare are nevoie de un Pandas DataFrame sau o matrice NumPy pentru a face conversia sampled_taxi_pd_df = sampled_taxi_df.toPandas ( )
-
Vrem sa intelegem distributia sfaturilor in setul nostru de date. Vom folosi Matplotlib pentru a crea o histograma care arata distributia cantitatii si numarului bacsisului. Pe baza distributiei, putem vedea ca sfaturile sunt inclinate spre sume mai mici sau egale cu 10 USD.
# Uita-te la o histograma a sfaturilor in functie de numar, folosind Matplotlib ax1 = sampled_taxi_pd_df [‘tipAmount’]. Plot (kind = ‘hist’, bins = 25, facecolor = ‘lightblue’) ax1.set_title (‘Distributia cantitatii tip’) ax1 .set_xlabel (‘Suma Sfat ($)’) ax1.set_ylabel (‘Numara’) plt.suptitle (”) plt.show ()
-
In continuare, vrem sa intelegem relatia dintre sfaturile pentru o anumita calatorie si ziua saptamanii. Utilizati Seaborn pentru a crea un complot care sa rezume tendintele pentru fiecare zi a saptamanii.
# Vizualizati distribuirea sfaturilor in functie de ziua saptamanii folosind Seaborn ax = sns.boxplot (x = “day_of_week”, y = “tipAmount”, data = sampled_taxi_pd_df, showfliers = False) ax.set_title („Distributia sumelor de sfaturi pe zi”) ax.set_xlabel (‘Ziua saptamanii’) ax.set_ylabel (‘Cantitate sfat ($)’) plt.show ()
-
O alta ipoteza a noastra ar putea fi ca exista o relatie pozitiva intre numarul de pasageri si suma totala a bacsisului pentru taxi. Pentru a verifica aceasta relatie, rulati urmatorul cod pentru a genera un grafic cutie care ilustreaza distribuirea sfaturilor pentru fiecare numar de pasageri.
# Cati pasageri inclinati cu diferite sume ax2 = sampled_taxi_pd_df.boxplot (column = [‘tipAmount’], by = [‘passengerCount’]) ax2.set_title (‘Suma tipului dupa numarul de pasageri’) ax2.set_xlabel (‘Numarul de pasageri’) ) ax2.set_ylabel (‘Cantitate sfat ($)’) ax2.set_ylim (0,30) plt.suptitle (”) plt.show ()
-
In sfarsit, vrem sa intelegem relatia dintre suma tarifului si suma bacsisului. Pe baza rezultatelor, putem vedea ca exista mai multe observatii in care oamenii nu dau bacsis. Cu toate acestea, vedem, de asemenea, o relatie pozitiva intre pretul total si sumele de tip.
# Uita-te la relatia dintre tarif si sumele de varf ax = sampled_taxi_pd_df.plot (kind = ‘scatter’, x = ‘tarifAmount’, y = ‘tipAmount’, c = ‘albastru’, alfa = 0,10, s = 2,5 * (sampled_taxi_pd_df [‘passengerCount’])) ax.set_title (‘Suma tipului cu suma tarifului’) ax.set_xlabel (‘Suma tarifului ($)’) ax.set_ylabel (‘Suma tipului ($)’) plt.axis ([- 2 , 80, -2, 20]) plt.suptitle (”) plt.show ()
Inchideti instanta Spark
Dupa ce ati terminat rularea aplicatiei, inchideti notebook-ul pentru a elibera resursele. Fie inchideti fila, fie selectati Incheierea sesiunii din panoul de stare din partea de jos a notebook-ului.
Vezi si
- Prezentare generala: Apache Spark pe Azure Synapse Analytics
- Construiti un model de invatare automata cu Apache SparkML
Pasii urmatori
- Azure Synapse Analytics
- Documentatia oficiala Apache Spark
Este utila aceasta pagina?
Aveti vreun feedback suplimentar?
Feedback-ul va fi trimis catre Microsoft: prin apasarea butonului de trimitere, feedback-ul dvs. va fi utilizat pentru a imbunatati produsele si serviciile Microsoft. Politica de Confidentialitate.
Multumesc.
Parere
Trimiteti si vizualizati feedback pentru
Acest produs Aceasta pagina
Vedeti toate feedback-ul paginii
Este utila aceasta pagina?
Aveti vreun feedback suplimentar?
Feedback-ul va fi trimis catre Microsoft: prin apasarea butonului de trimitere, feedback-ul dvs. va fi utilizat pentru a imbunatati produsele si serviciile Microsoft. Politica de Confidentialitate.
Multumesc.








