在flink sql中使用最频繁的就是Insert 相关的sql语句,当然这里的Insert 相关的sql语句也是最简单的。
在flink sql开发过程中,Insert 相关的语句必须和select子查询一起用,最后这里select出来的数据就会被写入到目标表(sink存储处)。
使用Insert 语句的语法结构如下:
INSERT { INTO | OVERWRITE } [catalog_name.][db_name.]table_name [PARTITION part_spec] [column_list] SELECT 语句
在这个语法里面,分为两种情况,一种是不带overwrite关键词的直接插入,一种是带overwrite关键词的插入覆盖。下面我们分别演示一下:
1)不带overwrite关键词的插入
INSERT INTO page_kafka_sink SELECT user, cnt, country FROM mysql_source;
2)带overwrite关键词的插入
INSERT OVERWRITE hive_page PARTITION (date='2019-8-30', country='China') SELECT user, cnt FROM mysql_source;
备注:
1、这里带overwrite和不带overwrite关键词在不同的场景里面一定要注意下。 2、这里如果目标表带有with的话,代表的是需要把数据存储到外部存储器里面,需要有相关的connector依赖包。 3、如果是读写kafka的场景,建议不要使用旧版本,而使用flink-connector-kafka-xx.jar这样的依赖包,并且把connector.version参数设置为 universal 4、如果不带overwrite的话,就是insert into的语法,如果带有overwrite的话,就没有into,而是insert overwrite语法
以上就是flink sql开发中涉及到的insert into相关的语法
还没有评论,来说两句吧...