Flink之StreamTableEnvironment对象
StreamTableEnvironment对象方法简介
#1.executeSql("sql 语句")
可以执行SQL#2.sqlQuery("sql 语句")
执行SQL查询,返回查询结果#3.from("table name")
加载table到内存中#4.executeInsert("table name")
把结果插入到table中#5.createTemporaryTable("table name","table descriptor")
在内存中创建临时表
StreamTableEnvironment功能
-
Catalog管理(元数据)
Flink不比Hive,Hive的元数据是在MySQL中管理的。Flink是可以由用户来管理。
备注:
Flink里面,默认有一个catalog,名字叫:default_catalog,这个catalog在内存中。
所以,Flink中的表,它的层级关系就和MySQL、Hive、Spark不太一样。
在MySQL里,库名.表名
default.test
在Flink里,元数据库.数据库.表
default_catalog.default_database.table
-
Database,Table管理
可以创建数据库,可以创建表。
-
UDF管理(自定义函数)
StreamTableEnvironment创建方式
Flink 提供了两种创建StreamTableEnvironment的方式
-
TableEnvironment(已过期,不推荐)
EnvironmentSettings settings = EnvironmentSettings.inStramingMode().create()
TableEnvironment t_env = TableEnvironment.create(settings)
-
StreamExecutionEnvironment(推荐)
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment()
StreamTableEnvironment t_env = StreamTableEnvironment.create(env)