import pyspark.sql.functions as F# 这么引入会报错# import pyspark.sql.functions.dense_rankfrom pyspark.sql import SparkSessionif __name__ == "__main__": spark = SparkSession.builder.enableHiveSupport().getOrCreate() d = [{'name': 'Alice', 'age': 1},{'name': 'B', 'age': 2},{'name': 'C', 'age': 3}] frame = spark.createDataFrame(d) # 点击dense_rank并不能跳转,因为funxtions就没有这个方法 # pyspark有额外的机制 frame.withColumn("a",F.dense_rank()) print(frame.collect())
- pyspark中的引入方式与scala中引入方式不同
- 不能直接用import pyspark.sql.functions.dense_rank,会报错
- 可以按照样例来导入和使用
- pyspark中所谓的额外机制 ,可以参考其_create_window_function方法