Spark建立DataFrame的三種方式

2021-10-06 15:21:27 字數 1898 閱讀 6648

package blog

import org.apache.spark.sql.

import org.apache.spark.sql.types.

/** * @author daniel

* @description scala建立dataframe的三種方式

**/object createdataframe

}

import pandas as pd

from pyspark.sql import sparksession

from pyspark.sql.types import structtype, structfield, longtype, stringtype, integertype

spark = sparksession.builder \

.master(

"local"

) \"create_dataframe"

) \ .getorcreate(

)# 表結構

schema = structtype(

[structfield(

"id"

, longtype(),

true),

structfield(

"name"

, stringtype(),

true),

structfield(

"age"

, integertype(),

true)]

)# 通過sparkcontext中的parallelize方法來建立rdd

defrdd_create()

: rdd = spark.sparkcontext.parallelize([(

1,"karol",19

),(2

,"abby",20

),(3

,"zena",18

)])# 建立dataframe

df = spark.createdataframe(rdd, schema)

df.show(

)# 從csv檔案(文字檔案)建立dataframe

defcsv_create()

:# 設定分隔符與路徑

df = spark \

.read \

.option(

"sep"

,","

) \ .csv(

'info.txt'

, schema=schema)

df.show(

)# 使用pandas建立dataframe(因為方法較多,這裡列舉常用的兩種)

defpandas_create()

:# list

res =[(

1,'karol',19

),(2

,'abby',20

,),(

3,'zena',18

)]# 1 dict / list

# dict

# df = pd.dataframe()

df = pd.dataframe(res,

['id'

,'name'

,'age'])

print

(df)

# 2 rdd = pd.dataframe(res)

df = spark.createdataframe(rdd, schema)

df.show(

)if __name__ ==

'__main__'

: rdd_create(

) csv_create(

) pandas_create(

)

DataFrame學習二 DataFrame的性質

2.1 索引 切片 資料集 data frame2 pd.dataframe data,index one two three four five columns year state pop debt 返回一列資料 frame2 year 返回多列多行 返回兩行 frame2 two three ...

DataFrame學習一 DataFrame的建立

1.1 概要 dataframe是一種 型資料結構,它含有一組有序的列,每列可以是不同的值。dataframe的行索引是index,列索引是columns 建立方式 根據dict進行建立,以及讀取csv或者txt檔案來建立 1.2 字典建立 資料集 data frame pd.dataframe d...

建立spark 讀取資料

在2.0版本之前,使用spark必須先建立sparkconf和sparkcontext,不過在spark2.0中只要建立乙個sparksession就夠了,sparkconf sparkcontext和sqlcontext都已經被封裝在sparksession當中。在與spark2.0互動之前必須先...