pyspark.sql.DataFrame¶
-
類
pyspark.sql。
DataFrame
( jdf:py4j.java_gateway.JavaObject,sql_ctx:聯盟(SQLContext,SparkSession] ) ¶ -
一個分布式數據分為命名列的集合。
一個
DataFrame
相當於在火花SQL關係表,可以創建和使用各種功能SparkSession
:人=火花。讀。拚花(“…”)
一旦創建了,它可以使用各種操縱領域特定語言(DSL)中定義的函數:
DataFrame
,列
。選擇的列
DataFrame
使用應用方法:ageCol=人。年齡
一個更具體的例子:
#創建使用SparkSession DataFrame人=火花。讀。拚花(“…”)部門=火花。讀。拚花(“…”)人。過濾器(人。年齡>30.)。加入(部門,人。deptId= =部門。id)\。groupBy(部門。的名字,“性別”)。gg({“工資”:“平均”,“年齡”:“馬克斯”})
方法
gg
(* exprs)總對整個
DataFrame
沒有組(簡稱.agg df.groupBy () ()
)。別名
(別名)返回一個新的
DataFrame
設置一個別名。approxQuantile
(relativeError坳,概率)計算的近似數值列的分位數
DataFrame
。緩存
()持續的
DataFrame
使用默認存儲水平(MEMORY_AND_DISK)。檢查點
((渴望))返回一個檢查點的版本
DataFrame
。合並
(numPartitions)返回一個新的
DataFrame
已經完全numPartitions分區。colRegex
(colName)基於列的選擇列名稱指定為一個正則表達式並返回它
列
。收集
()返回所有記錄的列表
行
。相關係數
(col1 col2[方法])計算兩列的相關性
DataFrame
作為一個雙精度值。數
()返回的行數
DataFrame
。浸
(col1 col2)計算樣本協方差為給定的列,指定他們的名字,作為一個雙重價值。
創建一個全局臨時視圖
DataFrame
。創建或替換一個全局臨時視圖使用給定的名稱。
創建或替換本地臨時視圖
DataFrame
。createTempView
(名字)創建一個本地臨時視圖
DataFrame
。crossJoin
(其他)返回笛卡兒積與另一個
DataFrame
。交叉表
(col1 col2)計算兩兩頻率給定的表列。
多維數據集
(*峽路)為當前創建多維數據集
DataFrame
使用指定的列,所以我們可以運行聚合。描述
(*峽路)計算基本統計數字和字符串列。
截然不同的
()下降
(*峽路)返回一個新的
DataFrame
這滴指定的列。dropDuplicates
((子集))返回一個新的
DataFrame
刪除重複的行,選擇隻考慮某些列。drop_duplicates
((子集))dropna
([如何顛簸,子集])返回一個新的
DataFrame
省略具有零值的行。exceptAll
(其他)解釋
([擴展、模式])打印到控製台(邏輯和物理)計劃用於調試目的。
fillna
(價值[,]子集)替換空值,別名
na.fill ()
。過濾器
(條件)過濾器使用給定的條件行。
第一個
()返回第一行作為一個
行
。foreach
(f)應用
f
函數的每個分區DataFrame
。freqItems
(關口[支持])發現頻繁項目列,可能與假陽性。
groupBy
(*峽路)組的
DataFrame
使用指定的列,所以我們可以運行聚合。groupby
(*峽路)groupby ()
是一個別名groupBy ()
。頭
([n])返回第一個
n
行。提示
(名稱、*參數)指定當前的一些提示
DataFrame
。返回一個最優的快照文件組成
DataFrame
。相交
(其他)intersectAll
(其他)isEmpty
()返回
真正的
如果這DataFrame
是空的。isLocal
()加入
(其他(,,))連接與另一個
DataFrame
,使用給定的連接表達式。限製
(num)限製結果數到指定的號碼。
localCheckpoint
((渴望))返回一個局部檢查點的版本
DataFrame
。mapInArrow
(函數模式)地圖批次在當前的迭代器
DataFrame
使用Python的本機函數和輸出PyArrow的RecordBatch,並返回結果DataFrame
。mapInPandas
(函數模式)地圖批次在當前的迭代器
DataFrame
使用Python的本機函數和輸出一個熊貓DataFrame,並返回結果DataFrame
。觀察
(觀察、* exprs)定義(命名)DataFrame指標觀察。
orderBy
(*關口,* * kwargs)返回一個新的
DataFrame
按指定的列(s)。pandas_api
([index_col])現有DataFrame轉換成pandas-on-Spark DataFrame。
堅持
([storageLevel])設置存儲水平持續的內容
DataFrame
在操作後第一次計算。在樹格式打印模式。
randomSplit
(重量、種子)隨機將這
DataFrame
與所提供的重量。注冊了這家
DataFrame
作為一個臨時表使用給定的名稱。重新分區
(*關口numPartitions)返回一個新的
DataFrame
分區的分區表達式。repartitionByRange
(*關口numPartitions)返回一個新的
DataFrame
分區的分區表達式。取代
(to_replace[],價值,子集)返回一個新的
DataFrame
值替換為另一個值。彙總
(*峽路)為當前創建一個多維的彙總
DataFrame
使用指定的列,所以我們可以運行聚合。sameSemantics
(其他)返回真正的當內部邏輯查詢計劃
DataFrame
年代是相等的,因此返回相同的結果。樣本
([withReplacement,分數,種子])返回一個樣本子集
DataFrame
。sampleBy
(坳,分數(、種子))返回一個分層抽樣不重複每層基於給出的分數。
選擇
(*峽路)項目一組表達式並返回一個新的
DataFrame
。selectExpr
(* expr)項目一組SQL表達式,並返回一個新的
DataFrame
。返回一個散列碼邏輯查詢計劃的反對
DataFrame
。顯示
([n,截斷,垂直])印第
n
行到控製台。排序
(*關口,* * kwargs)返回一個新的
DataFrame
按指定的列(s)。sortWithinPartitions
(*關口,* * kwargs)返回一個新的
DataFrame
與每個分區按指定的列(s)。減去
(其他)總結
(*統計)計算指定的統計數字和字符串列。
尾巴
(num)返回最後一個
全國礦工工會
行作為一個列表
的行
。取
(num)返回第一個
全國礦工工會
行作為一個列表
的行
。toDF
(*峽路)返回一個新的
DataFrame
與新指定的列名toJSON
([use_unicode])轉換
DataFrame
成一個抽樣
的字符串。toLocalIterator
([prefetchPartitions])返回一個迭代器,包含所有的行
DataFrame
。toPandas
()返回的內容
DataFrame
像熊貓pandas.DataFrame
。to_koalas
([index_col])to_pandas_on_spark
([index_col])變換
(* args func * * kwargs)返回一個新的
DataFrame
。聯盟
(其他)unionAll
(其他)unionByName
(其他[allowMissingColumns])unpersist
((阻塞))標誌著
DataFrame
非持久性,並刪除所有從內存和磁盤塊。在哪裏
(條件)withColumn
(colName坳)返回一個新的
DataFrame
通過添加一個列或替換現有的列有相同的名字。withColumnRenamed
(現有的)返回一個新的
DataFrame
通過重命名一個已有的列。withColumns
(* colsMap)返回一個新的
DataFrame
通過添加多個列或替換現有的列有相同的名字。withMetadata
(columnName元數據)返回一個新的
DataFrame
通過更新現有列元數據。withWatermark
(eventTime delayThreshold)定義了一個事件時間水印
DataFrame
。用writeTo
(表)創建一個為v2消息編寫配置構建器。
屬性
返回所有列名列表。
返回所有列名和數據類型作為一個列表。
返回
真正的
如果這DataFrame
包含一個或多個源不斷地返回數據,因為它的到來。返回一個
DataFrameNaFunctions
處理缺失值。作為一個返回內容
pyspark.RDD
的行
。返回的模式
DataFrame
作為一個pyspark.sql.types.StructType
。返回會話創建這個火花
DataFrame
。sql_ctx
返回一個
DataFrameStatFunctions
統計功能。得到了
DataFrame
目前的存儲水平。界麵保存的內容的非
DataFrame
到外部存儲。界麵保存的內容流
DataFrame
到外部存儲。