当前位置:   article > 正文

Spark实用议题系列(03)--- Spark SQL中的各种类型(Types)_org.apache.spark.sql.types

org.apache.spark.sql.types

根据Spark的源码(路径:spark/sql/catalyst/src/main/scala/org/apache/spark/sql/types/),我总结了如下图中的各种类型。

 

这里对图中的各个构件说明:

  • 大框的标题是目录下各个文件的名字,例如AbstractDataType就是指文件AbstractDataType.scala。
  • 大框中的圆弧小框就是各种类型(Types)的类(Class),而箭头的方向表明了它们的继承关系。
  • 两个黄色的大框都是文件AbstractDataType.scala的内容,而这里只是为了显示更清晰的继承关系而将它们分开。
  • 黑色的圆弧小框表示这个类是private的,灰色的是protected,而没有颜色就是public的了。
  • 另外,从StructType,到StructField,到Metadata的虚箭头线,表示了这些类型实体的包含关系。

从图中可以看到,所有的类型都是DataType的子类。抽象类DataType定义了7个方法:defaultSize, typeName, simpleString, catalogString, sql, json, prettyJson,而其子类会重载这些方法以体现各个子类的特性。下面的例子可以得到各种子类在执行这些方法后得到的值:

  1. import org.apache.spark.sql.types._
  2. case class TypeMethods (
  3. defaultSize: Int,
  4. typeName: String,
  5. simpleString: String,
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/603619
推荐阅读
相关标签
  

闽ICP备14008679号