Spark SQL和DataFrames重要的类有:
- pyspark.sql.SQLContext: DataFrame和SQL方法的主入口
- pyspark.sql.DataFrame: 将分布式数据集分组到指定列名的数据框中
- pyspark.sql.Column :DataFrame中的列
- pyspark.sql.Row: DataFrame数据的行
- pyspark.sql.HiveContext: 访问Hive数据的主入口
- pyspark.sql.GroupedData: 由DataFrame.groupBy()创建的聚合方法集
- pyspark.sql.DataFrameNaFunctions: 处理丢失数据(空数据)的方法
- pyspark.sql.DataFrameStatFunctions: 统计功能的方法
-pyspark.sql.functions DataFrame:可用的内置函数 - pyspark.sql.types: 可用的数据类型列表
- pyspark.sql.Window: 用于处理窗口函数
9.pyspark.sql.WindowSpec(jspec):定义分区,排序和边框界的窗口规范。使用Window中的静态方法创建一个WIndowSpec
9.1.orderBy(*col):定义windowSpec中的排列顺序
9.2.partitionBy(*col):定义WindowSpec中的分区列。
9.3.rangeBetween(start,end):定义从开始(包含)到结束(包含)的框边界。start, end都是相对于当前行。 例如,“0”表示“当前行”,而“-1”表示在当前行之前一次,“5”表示当前行之后五次关闭。
1.start:开始边界(包括)。 如果这是-sys.maxsize(或更低),则该框架是无限的。
2.end:结束边界(包括)。如果这是sys.maxsize(或更高),则该框架是无限的。
9.4.rowsBetween(start,end):定义从开始(包含)到结束(包含)的框边界。start, end都是相对于当前行。 例如,“0”表示“当前行”,而“-1”表示在当前行之前一次,“5”表示当前行之后五次关闭。
1.start:开始边界(包括)。 如果这是-sys.maxsize(或更低),则该框架是无限的。
2.end:结束边界(包括)。如果这是sys.maxsize(或更高),则该框架是无限的。
原文