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
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
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
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
Avant d'initialiser la session Spark, vérifiez que Java est installé :
java -version
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()
Vérifiez la session :
spark
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()
Charger des données dans un Spark DataFrame :
sdf = spark.createDataFrame(pd_dataframe) sdf.printSchema()
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)
Créer une vue temporaire :
sdf_new.createTempView('population_table')
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()
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'])
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!