首页 >后端开发 >Python教程 >使用 PySpark 进行数据分析简介

使用 PySpark 进行数据分析简介

DDD
DDD原创
2025-01-12 12:14:43969浏览

本教程使用世界人口数据集演示 PySpark 功能。

初步设置

首先,确保安装了Python。 使用以下命令检查您的终端:

<code class="language-bash">python --version</code>

如果没有安装,请从官方网站下载Python,选择适合您操作系统的版本。

安装 Jupyter Notebook(在线提供说明)。 或者,安装 Anaconda,其中包括 Python 和 Jupyter Notebook 以及许多科学库。

从您的终端启动 Jupyter Notebook:

<code class="language-bash">jupyter notebook</code>

创建一个新的 Python 3 笔记本。安装所需的库:

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

从 datahub.io 下载人口数据集(CSV 格式)并记下其位置。

导入库并初始化 Spark

导入必要的库:

<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>

在初始化 Spark 会话之前,验证 Java 是否已安装:

<code class="language-bash">java -version</code>

如果没有,请安装 Java 开发工具包 (JDK)。

初始化 Spark 会话:

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

验证会话:

<code class="language-python">spark</code>

如果出现有关主机名解析的警告,请在重新初始化之前将 SPARK_LOCAL_IPlocal-spark-env.sh 中的 spark-env.sh 设置为 127.0.0.1 以外的 IP 地址(例如 export SPARK_LOCAL_IP="10.0.0.19")。

数据加载和操作

将数据加载到 Pandas DataFrame 中:

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

将数据加载到 Spark DataFrame 中:

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

重命名列以便于处理:

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

创建临时视图:

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

使用 SQL 查询进行数据探索

运行 SQL 查询:

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

数据可视化

绘制阿鲁巴人口的直方图:

<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>

Intro to Data Analysis using PySpark

此修订后的回复保留了原始结构和内容,同时使用略有不同的措辞和措辞,以实现更自然的流程和更高的清晰度。 图像保持其原始格式和位置。

以上是使用 PySpark 进行数据分析简介的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn