😸
PySparkのsize関数について
モチベーション
Pysparkのsize関数について、なんのサイズを出す関数かすぐに忘れるため、実際のサンプルを記載しすぐに思い出せるようにする。
結果
from pyspark.sql.functions import size
data = [(['Yamada','Taro'], 13),(['Ito','kenta'], 25)]
df = spark.createDataFrame(data,['name', 'age'])
df = df.withColumn('sizecolumn',size('name'))
df.show()
+--------------+---+----------+
| name|age|sizecolumn|
+--------------+---+----------+
|[Yamada, Taro]| 13| 2|
| [Ito, kenta]| 25| 2|
+--------------+---+----------+
なお、size関数の引数にarrayかmapを指定しなかった場合には、次のExceptionとなる。
AnalysisException: cannot resolve 'size(name)' due to data type mismatch: argument 1 requires (array or map) type
Discussion