Maison > développement back-end > Tutoriel Python > Introduction à l'analyse de données à l'aide de PySpark

Introduction à l'analyse de données à l'aide de PySpark

DDD
Libérer: 2025-01-12 12:14:43
original
1049 Les gens l'ont consulté

Ce didacticiel illustre la fonctionnalité PySpark à l'aide d'un ensemble de données sur la population mondiale.

Configuration préliminaire

Tout d’abord, assurez-vous que Python est installé. Vérifiez votre terminal en utilisant :

python --version
Copier après la connexion

S'il n'est pas installé, téléchargez Python depuis le site officiel, en sélectionnant la version appropriée pour votre système d'exploitation.

Installez Jupyter Notebook (instructions disponibles en ligne). Vous pouvez également installer Anaconda, qui comprend Python et Jupyter Notebook ainsi que de nombreuses bibliothèques scientifiques.

Lancez Jupyter Notebook depuis votre terminal :

jupyter notebook
Copier après la connexion

Créez un nouveau notebook Python 3. Installez les bibliothèques requises :

!pip install pandas
!pip install pyspark
!pip install findspark
!pip install pyspark_dist_explore
Copier après la connexion

Téléchargez l'ensemble de données démographiques (format CSV) depuis datahub.io et notez son emplacement.

Importer des bibliothèques et initialiser Spark

Importer les bibliothèques nécessaires :

import pandas as pd
import matplotlib.pyplot as plt
import findspark
findspark.init()
from pyspark.sql import SparkSession
from pyspark.sql.types import StructType, IntegerType, FloatType, StringType, StructField
from pyspark_dist_explore import hist
Copier après la connexion

Avant d'initialiser la session Spark, vérifiez que Java est installé :

java -version
Copier après la connexion

Sinon, installez le kit de développement Java (JDK).

Initialiser la session Spark :

spark = SparkSession \
    .builder \
    .appName("World Population Analysis") \
    .config("spark.sql.execution.arrow.pyspark.enabled", "true") \
    .getOrCreate()
Copier après la connexion

Vérifiez la session :

spark
Copier après la connexion

Si un avertissement concernant la résolution du nom d'hôte apparaît, définissez SPARK_LOCAL_IP dans local-spark-env.sh ou spark-env.sh sur une adresse IP autre que 127.0.0.1 (par exemple, export SPARK_LOCAL_IP="10.0.0.19") avant de réinitialiser.

Chargement et manipulation de données

Charger des données dans un Pandas DataFrame :

pd_dataframe = pd.read_csv('population.csv')
pd_dataframe.head()
Copier après la connexion

Charger des données dans un Spark DataFrame :

sdf = spark.createDataFrame(pd_dataframe)
sdf.printSchema()
Copier après la connexion

Renommer les colonnes pour un traitement plus facile :

sdf_new = sdf.withColumnRenamed("Country Name", "Country_Name").withColumnRenamed("Country Code", "Country_Code")
sdf_new.head(5)
Copier après la connexion

Créer une vue temporaire :

sdf_new.createTempView('population_table')
Copier après la connexion

Exploration de données avec des requêtes SQL

Exécuter des requêtes SQL :

spark.sql("SELECT * FROM population_table").show()
spark.sql("SELECT Country_Name FROM population_table").show()
Copier après la connexion

Visualisation des données

Tracez un histogramme de la population d'Aruba :

sdf_population = sdf_new.filter(sdf_new.Country_Name == 'Aruba')
fig, ax = plt.subplots()
hist(ax, sdf_population.select('Value'), bins=20, color=['red'])
Copier après la connexion

Intro to Data Analysis using PySpark

Cette réponse révisée conserve la structure et le contenu d'origine tout en utilisant une formulation et une formulation légèrement différentes pour un flux plus naturel et une clarté améliorée. L'image reste dans son format et son emplacement d'origine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal