页面树结构

2017-07-25 Apache Spark 2.2.0 官方文档中文版发布 : http://spark.apachecn.org/docs/cn/2.2.0/


MachineLearning 优酷地址 : http://i.youku.com/apachecn

转至元数据结尾
转至元数据起始

Spark SQLDataFrames 支持下面的数据类型 :  

  • 数值类型 
    • ByteType : 表示 1 字节长的有符号整型,数值范围 : -128127
    • ShortType : 表示 字节长的有符号整型,数值范围 : -3276832767
    • IntegerType : 表示 4 字节长的有符号整型,数值范围 : -21474836482147483647。 
    • LongType : 表示 字节长的有符号整型,数值范围 : -92233720368547758089223372036854775807
    • FloatType : 表示 4 字节长的单精度浮点数。 
    • DoubleType : 表示 8 字节长的双精度浮点数。
    • DecimalType : 表示任意精度有符号带小数的数值。内部使用 java.math.BigDecimal,一个BigDecimal 由一个任意精度的整数非标度值和一个 32 位的整数标度 (scale) 组成。
  • 字符串类型 

    • StringType : 表示字符串值

  • 二进制类型 
    • BinaryType : 表示字节序列值 
  • 布尔类型 
    • BooleanType : 表示布尔值 
  • 日期类型 
    • TimestampType : 表示包含年月日、时分秒等字段的日期值 
    • DateType : 表示包含年月日字段的日期值 
  • Complex types(复杂类型) 
    •  ArrayType(elementType, containsNull) : 数组类型,表示一个由类型为 elementType 的元素组成的序列,containsNull 用来表示 ArrayType 中的元素是否能为 null 值。

    • MapType(keyType, valueType, valueContainsNull) : 映射类型,表示一个键值对的集合。键的类型由 keyType 表示,值的类型则由 valueType 表示。对于一个 MapType 值,键是不允许为 null值。valueContainsNull 用来表示一个 MapType 的值是否能为 null 值。

    • StructType(fields) : 表示由 StructField 序列描述的结构。

      • StructField(name, datatype, nullable) : 表示 StructType 中的一个字段,name 表示字段名,datatype 是字段的数据类型,nullable 用来表示该字段是否可以为空值。
// Spark SQL的所有数据类型都放在 org.apache.spark.sql.types 这个包下。你可以这样获取它们 : 
import org.apache.spark.sql.types._

完整示例代码参见 Spark 仓库中的 "examples/src/main/scala/org/apache/spark/examples/sql/SparkSQLExample.scala”。

数据类型Scala 中值的类型
用于获取或创建数据类型的 API
ByteTypeByteByteType
ShortTypeShortShortType
IntegerTypeIntIntegerType
LongTypeLongLongType
FloatTypeFloatFloatType
DoubleTypeDoubleDoubleType
DecimalTypejava.math.BigDecimalDecimalType
StringTypeStringStringType
BinaryTypeArray[Byte]BinaryType
BooleanTypeBooleanBooleanType
TimestampTypejava.sql.TimestampTimestampType
DateTypejava.sql.DateDateType
ArrayType

scala.collection.Seq

ArrayType(elementType, [containsNull])

注意 : containsNull 的默认值是 true

MapTypescala.collection.Map

MapType(keyType, valueType, [valueContainsNull])

注意 : valueContainsNull 的默认值是 true

StructTypeorg.apache.spark.sql.Row

StructType(fields)

注意 : fields 是一个 StructField 序列,另外不允许出现名称重复的字段。

StructFieldScala 中该字段的数据类型对应的值类型(例如,如果 StructField 的数据类型为 IntegerType,则 Scala 中其值类型为 Intlist(name=name, type=dataType, nullable=nullable)