JSRUN 用代码说话

SQL数据类型

编辑教程

SQL数据类型

数字类型

ByteType 代表一个字节的整数。范围是-128到127
ShortType 代表两个字节的整数。
范围是-32768到32767
IntegerType 代表4个字节的整数。
范围是-2147483648到2147483647
LongType 代表8个字节的整数。
范围是-9223372036854775808到9223372036854775807
FloatType 代表4字节的单精度浮点数
DoubleType 代表8字节的双精度浮点数
DecimalType 代表任意精度的10进制数据。
通过内部的java.math.BigDecimal支持。
BigDecimal由一个任意精度的整型非标度值和一个32位整数组成
StringType 代表一个字符串值
BinaryType 代表一个byte序列值
BooleanType 代表boolean值

Datetime类型

TimestampType 代表包含字段年,月,日,时,分,秒的值
DateType 代表包含字段年,月,日的值

复杂类型

ArrayType(elementType, containsNull) 代表由elementType类型元素组成的序列值。containsNull用来指明ArrayType中的值是否有null值
MapType(keyType, valueType, valueContainsNull) 表示包括一组键 - 值对的值。通过keyType表示key数据的类型,通过valueType表示value数据的类型。valueContainsNull用来指明MapType中的值是否有null值
StructType(fields) 表示一个拥有StructFields (fields)序列结构的值
StructField(name, dataType, nullable) 代表StructType中的一个字段,字段的名字通过name指定,dataType指定field的数据类型,nullable表示字段的值是否有null值。

Spark的所有数据类型都定义在包org.apache.spark.sql中,你可以通过import org.apache.spark.sql._访问它们。

数据类型 Scala中的值类型 访问或者创建数据类型的API
ByteType Byte ByteType
ShortType Short ShortType
IntegerType Int IntegerType
LongType Long LongType
FloatType Float FloatType
DoubleType Double DoubleType
DecimalType scala.math.BigDecimal DecimalType
StringType String StringType
BinaryType Array[Byte] BinaryType
BooleanType Boolean BooleanType
TimestampType java.sql.Timestamp TimestampType
DateType java.sql.Date DateType
ArrayType scala.collection.Seq ArrayType(elementType, [containsNull]) 注意containsNull默认为true
MapType scala.collection.Map MapType(keyType, valueType, [valueContainsNull]) 注意valueContainsNull默认为true
StructType org.apache.spark.sql.Row StructType(fields) ,注意fields是一个StructField序列,相同名字的两个StructField不被允许
StructField Scala中此字段的数据类型的值类型(例如,Int表示数据类型为IntegerType的StructField) StructField(name, dataType, nullable)
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟