MapType()
他是一種用來表示mapping key-value
的pair的格式,很類似於python的Dictionary
,使用MapType()
會強制資料以一個Key-Value的型態做儲存,有一個可以選擇的參數為valueContainsNull
:可以將values
設為null的意思。
其中很特別的是,裡面的keyType
, valueType
可以為任意一個DataTyp
e的格式,
e.g StringType, IntegerType, ArrayType, MapType, StructType (struct) e.t.c.
MapType()
的Dataframe讓我們先來定義一個MapType()
吧
MapType(key,value,valueContainsNull)
key
: key可以是任何type, 包含StringType,IntegerType等等,但不能是Nullvalue
: value也可以是任何的Type, 包含StringType,IntegerType等等, 根據最後一個參數決定value是否可以為NullvalueContainsNull
: 如果他是True代表value可以為null
from pyspark.sql.types import StringType, MapType
mapCol = MapType(StringType(),StringType(),False)
'''
+---------+---+------------+OUTPUT+---------+---+------------+
MapType(StringType,StringType,false)
+---------+---+------------+OUTPUT+---------+---+------------+
'''
待補 : map_keys(), map_values()