简介: 本文由阿里巴巴技术专家周凯波(宝牛)分享,主要介绍如何跑通第一个SQL。
一、SQL的基本概念
1.SQL 分类
SQL分为四类,分别是数据查询语言(DQL)、数据操纵语言(DML)、数据定义(DDL)语言和数据控制语言(DCL)。今天将介绍前三种语言的使用。
接下来介绍几个基本概念。
2.SQL 开发
● Scripts,即SQL文本。在SQL文本里面可以写上文介绍的前三种语言;
● Schema,即元数据。SQL里面需要使用的表和函数,是通过Schema进行定义的;
● Artifacts,即UDF Jar包;
3.Catalog
在 Flink SQL里,Catalog是管理元数据的。Catalog通过Catalog.DB.Table来定位一张表。除了DB和Table,Catalog还能注册函数,如UDF、UDTF和UDAF。
在Flink Catalog里,有三种Catalog实现:
● 第一个是GenericInMemoryCatalog,是内存版的Catalog。平常在使用 Flink SQL的时候,默认是内存版的Catalog。当程序运行结束,第二次重新运行的时候,会重新生成一个Catalog实例。
● 第二个是HiveCatalog,Flink里比较好的支持了HiveCatalog,可以从Hive HMS里读取元数据,同时也可以往Hive里注册表,写数据到Hive里面去。
● 第三个Catalog是 VVP平台里面开发的Catalog,即VvpCatalog,它实现了Flink Catalog的接口,底层是使用的数据库。
4.Deployment
Deployment是一个作业的描述,目前有两种任务类型,JAR和SQL。
Deployment上有升级策略(Upgrade strategy)和恢复策略(Restore strategy&