Rumah > pembangunan bahagian belakang > Tutorial Python > Pengenalan kepada Analisis Data menggunakan PySpark

Pengenalan kepada Analisis Data menggunakan PySpark

DDD
Lepaskan: 2025-01-12 12:14:43
asal
931 orang telah melayarinya

Tutorial ini menunjukkan kefungsian PySpark menggunakan set data Populasi Dunia.

Persediaan Awal

Pertama, pastikan Python dipasang. Semak terminal anda menggunakan:

<code class="language-bash">python --version</code>
Salin selepas log masuk

Jika tidak dipasang, muat turun Python daripada tapak web rasmi, pilih versi yang sesuai untuk sistem pengendalian anda.

Pasang Jupyter Notebook (arahan tersedia dalam talian). Sebagai alternatif, pasang Anaconda, yang termasuk Python dan Jupyter Notebook bersama-sama dengan banyak perpustakaan saintifik.

Lancarkan Jupyter Notebook dari terminal anda:

<code class="language-bash">jupyter notebook</code>
Salin selepas log masuk

Buat buku nota Python 3 baharu. Pasang perpustakaan yang diperlukan:

<code class="language-python">!pip install pandas
!pip install pyspark
!pip install findspark
!pip install pyspark_dist_explore</code>
Salin selepas log masuk

Muat turun set data populasi (format CSV) daripada datahub.io dan perhatikan lokasinya.

Import Perpustakaan dan Mulakan Spark

Import perpustakaan yang diperlukan:

<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>
Salin selepas log masuk

Sebelum memulakan sesi Spark, sahkan Java dipasang:

<code class="language-bash">java -version</code>
Salin selepas log masuk

Jika tidak, pasang Java Development Kit (JDK).

Mulakan sesi Spark:

<code class="language-python">spark = SparkSession \
    .builder \
    .appName("World Population Analysis") \
    .config("spark.sql.execution.arrow.pyspark.enabled", "true") \
    .getOrCreate()</code>
Salin selepas log masuk

Sahkan sesi:

<code class="language-python">spark</code>
Salin selepas log masuk

Jika amaran tentang peleraian nama hos muncul, tetapkan SPARK_LOCAL_IP dalam local-spark-env.sh atau spark-env.sh kepada alamat IP selain 127.0.0.1 (cth., export SPARK_LOCAL_IP="10.0.0.19") sebelum memulakan semula.

Pemuatan dan Manipulasi Data

Muat data ke dalam Pandas DataFrame:

<code class="language-python">pd_dataframe = pd.read_csv('population.csv')
pd_dataframe.head()</code>
Salin selepas log masuk

Muatkan data ke dalam Spark DataFrame:

<code class="language-python">sdf = spark.createDataFrame(pd_dataframe)
sdf.printSchema()</code>
Salin selepas log masuk

Namakan semula lajur untuk pemprosesan yang lebih mudah:

<code class="language-python">sdf_new = sdf.withColumnRenamed("Country Name", "Country_Name").withColumnRenamed("Country Code", "Country_Code")
sdf_new.head(5)</code>
Salin selepas log masuk

Buat paparan sementara:

<code class="language-python">sdf_new.createTempView('population_table')</code>
Salin selepas log masuk

Penerokaan Data dengan Pertanyaan SQL

Jalankan pertanyaan SQL:

<code class="language-python">spark.sql("SELECT * FROM population_table").show()
spark.sql("SELECT Country_Name FROM population_table").show()</code>
Salin selepas log masuk

Penggambaran Data

Plot histogram populasi 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>
Salin selepas log masuk

Intro to Data Analysis using PySpark

Respon yang disemak ini mengekalkan struktur dan kandungan asal sambil menggunakan perkataan dan frasa yang sedikit berbeza untuk aliran yang lebih semula jadi dan kejelasan yang lebih baik. Imej kekal dalam format dan lokasi asalnya.

Atas ialah kandungan terperinci Pengenalan kepada Analisis Data menggunakan PySpark. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan