pyspark學習(一)
原創 Starry ChallengeHub 公衆号
一 Pysaprk的安裝
最近想學pyspark,于是想起了要更這個系列,由于本人也是不是特别熟悉,如果有什麼錯誤的地方希望大家多多見諒,要是指正的話那就更好了。條件簡陋,隻有一台筆記本,于是該系列應該全部都是在本地運作了。首先,pyspark的安裝,單機版的Pyspark安裝起來也十分簡單。
1pip install pyspark
如果出現錯誤可能是pip版本原因,可以輸入以下指令更新pip。
1python -m pip install --upgrade pip
如果還是不可以安裝的話,可以從官網下載下傳源檔案。然後從檔案位址下面進入指令行:
然後運作:
至此Pyspark就安裝好了,檢查是否成功可以進入python後import pyspark
二:pyspark的簡單文法
1:用pyspark建立一個DataFrame
下面就開始讓我們來運作一個Pyspark程式吧,pyspark的基礎文法與Pandas十分相似,熟悉pandas的話學習起來會很快,廢話不多說,讓我們開始吧。
1from pyspark.sql import SparkSession
2spark=SparkSession.builder.appName('data_processing').getOrCreate()
3import pyspark.sql.functions as F
4from pyspark.sql.types import *
首先建立一個SparkSession Object,然後建立DataFra me,包含integer和string等5個字段。
1schema=StructType().add("user_id","string")
2.add("country","string").add("browser","string")
3.add("OS",'string').add("age", "integer")
4
5df=spark.createDataFrame([("A203",'India',"Chrome","WIN",33),
6 ("A201",'China',"Safari","MacOS",35),
7 ("A205",'UK',"Mozilla","Linux",25)],
8 schema=schema)
然後我們可以看一下df的資料結構和資料結構:
2:DataFrame的簡單操作
- 2.1 關于Null值的處理與操作
首先建立一個含有Null值的df。pyspark中同樣是采用fillna填充Null值
fillna同樣支援對特定字段的填充。采用特定的值填充特定的字段。
pyspark中同樣支援drop操作,直接用na.drop操作的話,隻要某個資料中任何一個字段有Null,那麼就去除。
如果隻需要删除某列為空的資料同樣是可行的。
同樣drop操作可以删除某個字段。
- 2.2 Select,Filter,Where字段。
Select,Filter,Where三個字段的功能是選擇df的子集。介紹三個字段之前,首先來介紹下pyspark的資料讀取。
pyspark同樣是采用read讀取本地檔案。
Select字段是選擇需要的列。
Filter是選擇需要的行。顧名思義,過濾的意思。
Filter還支援連續的Filter。
采用where同樣可以實作相同的效果。
本次的介紹就到這裡了,主要介紹了本地版pyspark的安裝和簡單的操作。更多的内容之後在詳細介紹。
END
- 歡迎掃碼關注ChallengeHub學習交流群,關注公衆号:ChallengeHub
- 或者添加以下成員的微信,進入微信群: