Spark SQL和DataFrames支持的数据格式如下:
数值类型
ByteType: 代表1字节有符号整数. 数值范围: -128 到 127.
ShortType: 代表2字节有符号整数. 数值范围: -32768 到 32767.
IntegerType: 代表4字节有符号整数. 数值范围: -2147483648 t到 2147483647.
LongType: 代表8字节有符号整数. 数值范围: -9223372036854775808 到 9223372036854775807.
FloatType: 代表4字节单精度浮点数。
DoubleType: 代表8字节双精度浮点数。
DecimalType: 表示任意精度的有符号十进制数。内部使用java.math.BigDecimal.A实现。
BigDecimal由一个任意精度的整数非标度值和一个32位的整数组成。
String类型
StringType: 表示字符串值。
Binary类型
BinaryType: 代表字节序列值。
Boolean类型
BooleanType: 代表布尔值。
Datetime类型
TimestampType: 代表包含的年、月、日、时、分和秒的时间值
DateType: 代表包含的年、月、日的日期值
复杂类型
ArrayType(elementType, containsNull): 代表包含一系列类型为elementType的元素。如果在一个将ArrayType值的元素可以为空值,containsNull指示是否允许为空。
MapType(keyType, valueType, valueContainsNull): 代表一系列键值对的集合。key不允许为空,valueContainsNull指示value是否允许为空
StructType(fields): 代表