Maison >développement back-end >Tutoriel Python >Introduction à l'analyse de données à l'aide de PySpark
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 :
<code class="language-bash">python --version</code>
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 :
<code class="language-bash">jupyter notebook</code>
Créez un nouveau notebook Python 3. Installez les bibliothèques requises :
<code class="language-python">!pip install pandas !pip install pyspark !pip install findspark !pip install pyspark_dist_explore</code>
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 :
<code class="language-python">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</code>
Avant d'initialiser la session Spark, vérifiez que Java est installé :
<code class="language-bash">java -version</code>
Sinon, installez le kit de développement Java (JDK).
Initialiser la session Spark :
<code class="language-python">spark = SparkSession \ .builder \ .appName("World Population Analysis") \ .config("spark.sql.execution.arrow.pyspark.enabled", "true") \ .getOrCreate()</code>
Vérifiez la session :
<code class="language-python">spark</code>
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 :
<code class="language-python">pd_dataframe = pd.read_csv('population.csv') pd_dataframe.head()</code>
Charger des données dans un Spark DataFrame :
<code class="language-python">sdf = spark.createDataFrame(pd_dataframe) sdf.printSchema()</code>
Renommer les colonnes pour un traitement plus facile :
<code class="language-python">sdf_new = sdf.withColumnRenamed("Country Name", "Country_Name").withColumnRenamed("Country Code", "Country_Code") sdf_new.head(5)</code>
Créer une vue temporaire :
<code class="language-python">sdf_new.createTempView('population_table')</code>
Exploration de données avec des requêtes SQL
Exécuter des requêtes SQL :
<code class="language-python">spark.sql("SELECT * FROM population_table").show() spark.sql("SELECT Country_Name FROM population_table").show()</code>
Visualisation des données
Tracez un histogramme de la population d'Aruba :
<code class="language-python">sdf_population = sdf_new.filter(sdf_new.Country_Name == 'Aruba') fig, ax = plt.subplots() hist(ax, sdf_population.select('Value'), bins=20, color=['red'])</code>
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!