Flink中的表,分为三类:
-
临时表
-
永久表
-
外部表
临时表
临时表,是根据当前会话创建的,随着会话的存在而存在,随着会话的销毁而销毁。表是创建在内存中。
数据不会持久化存储。
工作中,如果你的表是创建在内存中的,千万注意,不要随便退出SQL-Client客户端。
临时表用的非常多。
永久表
永久表,表结构及数据会被永久保存。(一般需要借助于外部存储介质)
可以在任何时候,任何有权限的用户都能访问。
永久表用的不多。
外部表
Flink是计算框架,是专门用来做数据的处理(数据计算的)。
因此,Flink不希望用户把数据存储在Flink里。而是存储在外部介质。
而且,很多时候,Flink基于外部数据源进行计算时,就需要用到外部表。
外部表,就是使用了connector=‘外部数据源’的表。
外部表一般和临时表结合使用。
注意:Flink不比Hive,Hive有内部表,Flink没有内部表。
三种表的区别
临时表 | 永久表 | 外部表 |
---|---|---|
表结构和数据临时存储,只在当前会话有效,退出后就没有了 | 需要借助外部存储介质来存储 | 连接到外部数据源,加载外部数据源进行数据处理 |
常用 | 不常用 | 常用 |
总结:
Flink是一个计算框架,它不持久化存储数据,数据的存储是用户自定义,也就是说,数据处理完后,往外部存储介质输出。