PySpark入門指南:在本地環境輕鬆配置和使用
PySpark是Apache Spark的Python API,Apache Spark是一個開源的分散式運算系統,能夠實現快速、可擴展的資料處理。 PySpark讓Python開發者利用Spark強大的功能進行大數據分析、機器學習和資料工程任務,而無需深入了解Java或Scala的複雜性。
使用PySpark,使用者可以在叢集中處理大型資料集,執行分散式資料轉換,並執行機器學習演算法。它與Hadoop等流行的數據處理框架無縫集成,並支援多種數據格式,使其成為數據科學和分析領域的多功能工具。
本指南概述了PySpark的配置,幫助您輕鬆地在本機電腦環境中進行設定和使用。
安裝
- 安裝Python: https://www.php.cn/link/70fa3e3aed5e5da45f0114c00fadfb41
- 安裝Java:請先下載最新版本的Java:https://www.php.cn/link/8513351ff7f10b0f156c9d1f669e1210 (本文使用Java 23)
- 安裝PySpark:
首先,您需要從以下位址下載Apache Spark:
本文使用 https://www.php.cn/link/8f7b2d9100577f77aa8fbb4f51c0366e 作為教學範例。
Python配置
- Java配置:
import os os.environ["JAVA_HOME"] = fr"D:\Soft\JAVA\jdk-23.0.1" os.environ["PATH"] = os.environ["JAVA_HOME"] + "/bin;" + os.environ["PATH"]
- PySpark配置:
import os os.environ["SPARK_HOME"] = fr"D:\Soft\pyspark\spark-3.5.4-bin-hadoop3" os.environ["PATH"] = os.environ["SPARK_HOME"] + "/bin;" + os.environ["PATH"]
設定完成後,您可以在命令列中嘗試檢查PySpark:
PySpark Notebook範例
import numpy as np import pandas as pd from pyspark.sql import SparkSession spark = SparkSession.builder \ .appName("调试示例") \ .master("local[*]") \ .config("spark.eventLog.enabled", "true") \ .config("spark.sql.shuffle.partitions", "1") \ .getOrCreate() spark.sparkContext.setLogLevel("DEBUG") # 启用基于Arrow的列式数据传输 spark.conf.set("spark.sql.execution.arrow.enabled", "true") # 生成pandas DataFrame pdf = pd.DataFrame(np.random.rand(100, 3)) # 使用Arrow从pandas DataFrame创建Spark DataFrame df = spark.createDataFrame(pdf) # 重命名列 df = df.toDF("a", "b", "c") df.show(5) # 使用df.show(5)查看PySpark测试输出
機器學習資料範例:
import requests from pyspark.sql import SparkSession # 数据集URL url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data" # 下载数据集并保存到本地 response = requests.get(url) with open("iris.data", "wb") as file: file.write(response.content) # 创建SparkSession spark = SparkSession.builder \ .appName("鸢尾花数据分析") \ .master("local[*]") \ .getOrCreate() # 本地下载的鸢尾花数据集路径 iris_data_path = "iris.data" # 定义数据的模式 columns = ["sepal_length", "sepal_width", "petal_length", "petal_width", "species"] # 将数据加载到DataFrame中 df = spark.read.csv(iris_data_path, header=False, inferSchema=True) # 设置列名 df = df.toDF(*columns) # 显示DataFrame的前几行 df.show() # 完成后停止SparkSession spark.stop()
運行成功!
參考
- https://www.php.cn/link/06c765902df5e6af92864147e1995fa3
- https://www.php.cn/link/70fa3e3aed5e5da45f0114c00fadfb41
- https://www.php.cn/link/6dc4a31db60d3da6b1d477315619952e
- https://www.php.cn/link/8513351ff7f10b0f156c9d1f669e1210
- https://www.php.cn/link/73eb26ad4e0c9d3f4a7bdede7856b79a
以上是執行 PySpark 本機 Python Windows 筆記本的詳細內容。更多資訊請關注PHP中文網其他相關文章!

可以使用多種方法在Python中連接兩個列表:1.使用 操作符,簡單但在大列表中效率低;2.使用extend方法,效率高但會修改原列表;3.使用 =操作符,兼具效率和可讀性;4.使用itertools.chain函數,內存效率高但需額外導入;5.使用列表解析,優雅但可能過於復雜。選擇方法應根據代碼上下文和需求。

有多種方法可以合併Python列表:1.使用 操作符,簡單但對大列表不內存高效;2.使用extend方法,內存高效但會修改原列表;3.使用itertools.chain,適用於大數據集;4.使用*操作符,一行代碼合併小到中型列表;5.使用numpy.concatenate,適用於大數據集和性能要求高的場景;6.使用append方法,適用於小列表但效率低。選擇方法時需考慮列表大小和應用場景。

CompiledLanguagesOffersPeedAndSecurity,而interneterpretledlanguages provideeaseafuseanDoctability.1)commiledlanguageslikec arefasterandSecureButhOnderDevevelmendeclementCyclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesandentency.2)cransportedeplatectentysenty

Python中,for循環用於遍歷可迭代對象,while循環用於條件滿足時重複執行操作。 1)for循環示例:遍歷列表並打印元素。 2)while循環示例:猜數字遊戲,直到猜對為止。掌握循環原理和優化技巧可提高代碼效率和可靠性。

要將列表連接成字符串,Python中使用join()方法是最佳選擇。 1)使用join()方法將列表元素連接成字符串,如''.join(my_list)。 2)對於包含數字的列表,先用map(str,numbers)轉換為字符串再連接。 3)可以使用生成器表達式進行複雜格式化,如','.join(f'({fruit})'forfruitinfruits)。 4)處理混合數據類型時,使用map(str,mixed_list)確保所有元素可轉換為字符串。 5)對於大型列表,使用''.join(large_li

pythonuseshybridapprace,ComminingCompilationTobyTecoDeAndInterpretation.1)codeiscompiledtoplatform-Indepententbybytecode.2)bytecodeisisterpretedbybythepbybythepythonvirtualmachine,增強效率和通用性。

theKeyDifferencesBetnewpython's“ for”和“ for”和“ loopsare:1)” for“ loopsareIdealForiteringSequenceSquencesSorkNowniterations,而2)”,而“ loopsareBetterforConterContinuingUntilacTientInditionIntionismetismetistismetistwithOutpredefinedInedIterations.un

在Python中,可以通過多種方法連接列表並管理重複元素:1)使用 運算符或extend()方法可以保留所有重複元素;2)轉換為集合再轉回列表可以去除所有重複元素,但會丟失原有順序;3)使用循環或列表推導式結合集合可以去除重複元素並保持原有順序。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

記事本++7.3.1
好用且免費的程式碼編輯器

WebStorm Mac版
好用的JavaScript開發工具