📜  pyspark 中的类型 (1)

📅  最后修改于: 2023-12-03 15:18:51.401000             🧑  作者: Mango

pyspark 中的类型

在pyspark中可以使用多种数据类型,包括基本数据类型和数据结构类型,以下是常用的几种类型。

基本数据类型
Integer类型

Integer是整数类型,取值范围是-2147483648到2147483647(32位),如果要超过这个范围,请使用Long类型。

from pyspark.sql.types import IntegerType

# 创建Integer类型
integer_type = IntegerType()
Long类型

Long是长整数类型,取值范围是-9223372036854775808到9223372036854775807(64位)。

from pyspark.sql.types import LongType

# 创建Long类型
long_type = LongType()
Float类型

Float是单精度浮点类型,取值范围是-3.4028235e38到3.4028235e38。

from pyspark.sql.types import FloatType

# 创建Float类型
float_type = FloatType()
Double类型

Double是双精度浮点类型,取值范围是-1.7976931348623157E308到1.7976931348623157E308。

from pyspark.sql.types import DoubleType

# 创建Double类型
double_type = DoubleType()
Boolean类型

Boolean是布尔类型,取值范围是True和False。

from pyspark.sql.types import BooleanType

# 创建Boolean类型
boolean_type = BooleanType()
String类型

String是字符串类型,存储任意长度的Unicode字符。

from pyspark.sql.types import StringType

# 创建String类型
string_type = StringType()
数据结构类型
StructType

StructType是一个可以存储多个字段的数据类型,每个字段都有一个名称和类型。

from pyspark.sql.types import StructType, StructField, IntegerType, StringType

# 定义StructType
schema = StructType([
    StructField("id", IntegerType(), True),
    StructField("name", StringType(), True),
    StructField("age", IntegerType(), True),
    StructField("gender", StringType(), True)
])
ArrayType

ArrayType是一个有序的集合类型,存储具有相同数据类型的元素。

from pyspark.sql.types import ArrayType, IntegerType

# 创建ArrayType
array_type = ArrayType(IntegerType())
MapType

MapType是一个键值对集合类型,其中键和值可以是任意数据类型。

from pyspark.sql.types import MapType, IntegerType, StringType

# 创建MapType
map_type = MapType(StringType(), IntegerType())

以上是pyspark中常见的类型,但并不是全部,使用时还应根据具体需求选择适合的类型。