SparkR處理資料框

2021-10-11 00:07:54 字數 2984 閱讀 5682

運用spark技術對資料進行分析

名稱版本

簡介????????requests

2.20.02.20.0

線性代數

??????pandas

0.25.00.25.0

資料分析

???????pyspark

2.4.32.4.3

大資料處理

??????????matplotlib

3.0.13.0.1

資料視覺化

dataframe是二維的。列可以是不同的資料型別。您可以傳遞索引(行標籤)和列(列標籤),索引可以是數字,日期或字串/元組。

pandas是乙個用於資料處理和分析的庫。 pandas提供了用於建立和操作data series和dataframe物件的資料結構和操作。 資料可以從各種資料來源匯入,例如numpy陣列,python字典和csv檔案。 pandas允許您操作,組織和顯示資料。

在這個簡短的notebook本中,我們將載入並探索mtcars資料集。 具體來說,本教程涵蓋:

將資料載入到記憶體中

建立sqlcontext

建立spark dataframe

按列分組資料

處理列從spark dataframe執行sql查詢

為了建立乙個spark dataframe,我們載入乙個名為ylw的外部資料框。 這個dataframe包含了對11個變數的32個觀測值:

[, 1] mpg miles/(us) -->加侖

[, 2] cyl --> 氣缸數量

[, 3] disp --> 移位 (cu.in.)

[, 4] hp --> 總馬力

[, 5] drat --> 後軸比

[, 6] wt --> 重量 (lb/1000)

[, 7] qsec --> 1/4英里的時間

[, 8] vs --> v/s

[, 9] am --> 變速器 (0 = 自動, 1 = 手動)

[,10] gear --> 前進檔的數量

[,11] carb --> 化油器的數量

**示例:

pip install pandas==

0.25

.0

**示例:

import pandas as pd

mtcars = pd.read_csv(

"/mydata/mtcars.csv"

)

**示例:

mtcars.head(

)

要處理資料框,我們需要乙個使用sqlcontext(sc)建立的sqlcontext。 sqlcontext使用已經在data scientist workbench中建立的名為sc的sparkcontext。

**示例:

sqlcontext = sqlcontext(sc)
使用sqlcontext和載入的本地dataframe,我們建立乙個spark dataframe:

**示例:

sdf = sqlcontext.createdataframe(mtcars) 

sdf.printschema(

)

**示例:

sdf.show(

5)

**示例:

sdf.select(

'mpg'

).show(

5)

過濾dataframe以僅保留「mpg」小於18的行

**示例:

sdf.

filter

(sdf[

'mpg'

]<18)

.show(

5)

sparkr還提供了許多可直接應用於資料處理和聚合的列的功能。 下面的示例顯示了使用基本算術函式將lb轉換為metric ton。

**示例:

sdf.withcolumn(

'wtton'

, sdf[

'wt']*

0.45

).show(

6)

spark dataframes支援許多常用的功能來在分組後彙總資料。 例如,我們可以按照如下所示計算汽缸的平均重量:

**示例:

sdf.groupby(

['cyl'])\

.agg(

)\.show(

5)

**示例:

# 我們還可以對彙總的輸出進行排序,以獲得最常見的汽車

car_counts = sdf.groupby(

['cyl'])\

.agg(

)\.sort(

"count(wt)"

, ascending=

false

)\.show(

5)

spark dataframe也可以在spark sql中註冊為臨時表,並將dataframe註冊為**,從而允許您對其資料執行sql查詢。sql函式使應用程式能夠以程式設計方式執行sql查詢並將結果作為dataframe返回。

**示例:

# 將此資料框註冊為**。

sdf.registertemptable(

"cars"

)# sql語句可以使用sql方法執行

highgearcars = sqlcontext.sql(

"select gear from cars where cyl >= 4 and cyl <= 9"

)highgearcars.show(

6)

原創 SparkR讀寫MYSQL資料庫方式二

本章通過三方庫 rmysql的方式讀寫,可以避免寫之前先讀取的問題 sudo yum install mariadb devel sudo yum install mysql devel install.packages rmysql 載入library rmysql 建立資料庫連線 con dbc...

警告框處理

彈窗會用到switch to.alert 方法 text 獲取文字資訊 accept 接受現有的警告框 dismiss 取消警告框 send keys 警告框輸入內容 如下 from selenium import webdriver from selenium.webdriver.common.a...

input框處理大全

1 去掉谷歌input記住賬號或密碼時預設出現的黃色背景 直接用css的內陰影來覆蓋黃色 中 white可換成其他顏色 input webkit autofill 2 去掉input框的預設樣式 input,button,select,textarea 3 控制input標籤聚焦時不出現預設邊框 i...