Spark SQL和DataFrames重要的類有:
- pyspark.sql.SQLContext: DataFrame和SQL方法的主入口
- pyspark.sql.DataFrame: 將分布式數(shù)據(jù)集分組到指定列名的數(shù)據(jù)框中
- pyspark.sql.Column :DataFrame中的列
- pyspark.sql.Row: DataFrame數(shù)據(jù)的行
- pyspark.sql.HiveContext: 訪問Hive數(shù)據(jù)的主入口
- pyspark.sql.GroupedData: 由DataFrame.groupBy()創(chuàng)建的聚合方法集
- pyspark.sql.DataFrameNaFunctions: 處理丟失數(shù)據(jù)(空數(shù)據(jù))的方法
- pyspark.sql.DataFrameStatFunctions: 統(tǒng)計(jì)功能的方法
-pyspark.sql.functions DataFrame:可用的內(nèi)置函數(shù)
- pyspark.sql.types: 可用的數(shù)據(jù)類型列表
- pyspark.sql.Window: 用于處理窗口函數(shù)
5.class pyspark.sql.Row:DataFrame中的一行,其中的字段可以像屬性一樣訪問。Row可以用來通過使用命名參數(shù)來創(chuàng)建一個(gè)行對(duì)象,字典將按名稱排序
>>> from pyspark.sql import Row
>>> row = Row(name="Alice", age=11)
>>> row
Row(age=11, name='Alice')
>>> row['name'], row['age']
('Alice', 11)
>>> row.name, row.age
('Alice', 11)
Row也可以用來創(chuàng)建另一個(gè)Row像類一樣,然后它可以被用來創(chuàng)建ROw對(duì)象
>>> Person = Row("name", "age")
>>> Person
<Row(name, age)>
>>> Person("Alice", 11)
Row(name='Alice', age=11)
5.1.asDict(revursice=False):作為字典返回
1.recursive:將嵌套的Row轉(zhuǎn)換為字典(默認(rèn)為False)
>>> Row(name="Alice", age=11).asDict() == {'name': 'Alice', 'age': 11}
True
>>> row = Row(key=1, value=Row(name='a', age=2))
>>> row.asDict() == {'key': 1, 'value': Row(age=2, name='a')}
True
>>> row.asDict(True) == {'key': 1, 'value': {'name': 'a', 'age': 2}}
True
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。