Query SQL per filtrare una tabella
Nel precedente esercizio hai eseguito una semplice query SQL su un DataFrame. Puoi costruire query più sofisticate per ottenere il risultato che ti serve e usarlo in analisi successive come visualizzazione dei dati e Machine Learning. In questo esercizio useremo la tabella temporanea people che hai creato in precedenza, filtreremo le righe in cui "sex" è male e female e creeremo due DataFrame.
Nota che la "solution" fa distinzione tra maiuscole e minuscole per i comandi SQL (ad esempio, accetta solo FROM e non from). La "solution" accetta solo "==" e non "=".
Ricorda: nel tuo workspace hai già una SparkSession spark e una tabella temporanea people.
Questo esercizio fa parte del corso
Fondamenti di Big Data con PySpark
Istruzioni dell'esercizio
- Filtra la tabella
peopleper selezionare tutte le righe con sex uguale a female nel DataFramepeople_female_df. - Filtra la tabella
peopleper selezionare tutte le righe con sex uguale a male nel DataFramepeople_male_df. - Conta il numero di righe sia nel DataFrame
people_femalesia nel DataFramepeople_male.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Filter the people table to select female sex
people_female_df = spark.____('SELECT * FROM ____ WHERE sex=="____"')
# Filter the people table DataFrame to select male sex
people_male_df = spark.____('SELECT * ____ people ____ ____=="____"')
# Count the number of rows in both people_df_female and people_male_df DataFrames
print("There are {} rows in the people_female_df and {} rows in the people_male_df DataFrames".format(people_female_df.____(), people_male_df.____()))