Spark Sql之Catalog

基于版本:Spark 2.2.0
把一些概念搞清楚,Spark轮廓就清晰了。

什么是Catalog,中文翻译目录,那啥叫目录呢?下面是百度百科的解释:
`目录,是指书籍正文前所载的目次,是揭示和报道图书的工具。目录是记录图书的书名、著者、出版与收藏等情况,按照一定的次序编排而成,为反映馆藏、指导阅读、检索图书的工具。

简单说,目录是检索工具,那么Catalog就是Spark的检索工具。

我们从它实现的主要功能入手看一下:

  1. 获取SparkSession可见的数据库、表和函数(不可见就抛出异常);
  2. 给定数据库名、表名和函数名,提供get函数获取这些实体的信息;
  3. 列举方法,包括列举可见的数据库,数据库中的表和函数;
  4. 判断数据库、表或者函数是否存在;
  5. 缓存/去缓存表数据、刷新数据库、表的内存meta信息;
  6. 创建外部表(createExternalTable)。

从上面实现的功能看,Catalog其实是Spark了解session级别可见实体(数据库、表和函数)的一个入口,在它的具体实现CatalogImpl中还包括了创建一个新数据库、表和函数的功能。

总结下就是:Catalog围绕数据库、表和函数三种实体,提供创建、检索、缓存数据和删除的功能。

猜你喜欢

转载自www.cnblogs.com/itboys/p/12932555.html