PySpark 操作函数一览
Created: Sep 14, 2020 10:28 AM
Tags: Big Data, PySpark, Python, Spark

Pyspark.sql.functions
from pyspark.sql import functions as F
函数使用说明
基本数学函数类
abssin、cos、tan、asin、acos、atan、sinh、cosh、tanhceil、round、floorexp、log、log2、pow、sqrt、cbrtfactorial
特定类型
日期
current_date、current_timestamp、add_months、unix_timestamp
df = spark.createDataFrame([('2015-04-08',)], ['dt']
df.select(F.add_months(df.dt, 1).alias('next_month'))
""""
+----------+
|next_month|
+----------+
|2015-05-08|
+----------+
"""
add_months、date_add、date_format、date_sub、date_trunc、date_diffdayofmonth、dayofweek、dayofyear、weekofyearhour、last_day、minute、month、months_between、next_day、year
字符
ascii、substring、substring_indexbase64、unbase64decode、encodeexpr、convformat_stringlengthlower、upperreversesize
Binary
bin、bitwiseNOT、hash、md5、sha1、sha2hex、unhex
角度
toDegrees、toRadians、radians
数字
format_number
判断
isnan、isnull
统计计算
avg、corr、count、countDistinct、cume_distgreatest、kurtosis、variancemax、min、mean、rand、randn、rankskewness、sum、sumDistinct
数组处理
flatten、slice、element_at、array_contains、array_distinct、array_except、array_intersect、array_join、array_max、array_min、array_position、array_remove、array_repeat、array_sort、array_union、arrays_overlap、arrays_zip
# 数组列包含元素
df = spark.createDataFrame([(["a", "b", "c"],), ([],)], ['data'])
df.withColumn("array_contains", F.array_contains(df.data, "a")).show()
"""
+---------+--------------+
| data|array_contains|
+---------+--------------+
|[a, b, c]| true|
| []| false|
+---------+--------------+
"""
df = spark.createDataFrame([(([1, 2, 3], [2, 3, 4]))], ['vals1', 'vals2'])
df.show()
df_new = df.select(F.arrays_zip(df.vals1, df.vals2).

本文详细介绍了PySpark中用于处理数据的函数,包括Pyspark.sql.functions模块的基本数学函数、特定类型如日期、字符、二进制、角度、数字及判断函数,以及统计计算和列处理函数。此外,还提到了Pyspark.sql.types中的基础数据类型和叠加类型。

8414

被折叠的 条评论
为什么被折叠?



