SELECT columns FROM t1 [AS<alias1>] [LEFT/INNER/FULLOUTER] JOIN t2 ON t1.column1 = t2.key-name1 AND t1.timestamp BETWEEN t2.timestamp ANDBETWEEN t2.timestamp ++INTERVAL'10'MINUTE;
语法2
1 2 3 4
SELECT columns FROM t1 [AS<alias1>] [LEFT/INNER/FULLOUTER] JOIN t2 ON t1.column1 = t2.key-name1 AND t2.timestamp <= t1.timestamp and t1.timestamp <= t2.timestamp ++INTERVAL ’10' MINUTE ;
Temporary tables are always stored in memory and only exist for the duration of the Flink session they are created within. These tables are not visible to other sessions. They are not bound to any catalog or database but can be created in the namespace of one. Temporary tables are not dropped if their corresponding database is removed.
Tables can be either virtual (VIEWS) or regular (TABLES). VIEWS can be created from an existing Table object, usually the result of a Table API or SQL query. TABLES describe external data, such as a file, database table, or message queue.
grammer
NOT ENFORCED
If you know that the data conforms to these constraints, you can use the NOT ENFORCED capability to help achieve two goals:
Improve performance, primarily in insert, update, and delete operations on the table
Reduce space requirements that are associated with enforcing a primary key or unique constraint
⭐ TIMESTAMP、TIMESTAMP(p)、TIMESTAMP WITHOUT TIME ZONE、TIMESTAMP(p) WITHOUT TIME ZONE:由 年-月-日 小时:分钟:秒[.小数秒] 组成的 不带时区含义 的时间类型,取值范围 [0000-01-01 00:00:00.000000000, 9999-12-31 23:59:59.999999999]。其中 p 代表小数秒的位数,取值范围 [0, 9],如果不指定 p,默认为 6。
Timestamp precision can range from 0 (seconds) to 9 (nanoseconds). The default precision is 6.
⭐ TIMESTAMP WITH TIME ZONE、TIMESTAMP(p) WITH TIME ZONE:由 年-月-日 小时:分钟:秒[.小数秒] 时区 组成的 带时区含义 的时间类型,取值范围 [0000-01-01 00:00:00.000000000 +14:59, 9999-12-31 23:59:59.999999999 -14:59]。其中 p 代表小数秒的位数,取值范围 [0, 9],如果不指定 p,默认为 6。
⭐ TIMESTAMP_LTZ 与 TIMESTAMP WITH TIME ZONE 的区别在于:TIMESTAMP WITH TIME ZONE 的时区信息是携带在数据中的,举例:其输入数据应该是 2022-01-01 00:00:00.000000000 +08:00;TIMESTAMP_LTZ 的时区信息不是携带在数据中的,而是由 Flink SQL 任务的全局配置决定的,我们可以由 table.local-time-zone 参数来设置时区。
⭐ INTERVAL YEAR TO MONTH、 INTERVAL DAY TO SECOND:interval 的涉及到的种类比较多。INTERVAL 主要是用于给 TIMESTAMP、TIMESTAMP_LTZ 添加偏移量的。举例,比如给 TIMESTAMP 加、减几天、几个月、几年。INTERVAL 子句总共涉及到的语法种类如下 Flink SQL 案例所示。
row format delimited fields terminated by '\001' collection items terminated by '\002' map keys terminated by '\003' lines terminated by '\n' stored as textfile;
如何查看和修改分割符,特殊符号
查看隐藏字符的方法
1.1,cat -A filename
1.2,vim filename后 命令模式下输入
1 2
set list显示特殊符号 set nolist 取消显示特殊符号
修改隐藏字符的方法
首先按照1.2打开显示特殊符号。进入INSERT模式
1 2 3 4
ctrl + V 可以输入 ^符号 ctrl + a 可以输入A---'\001' ctrl + b 可以输入A---'\002' ctrl + c 可以输入A---'\003'
注意:虽然键盘上你能找到^和A但直接输入时不行的,必须按照上面的方法输入。
第一行是特殊符号颜色蓝色,第二行直接输入不是特殊符号。
特殊号直接cat是不可以看见的,但是第二行是可见的,所以不是特殊符号。
1 2 3 4 5
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\u0001' COLLECTION ITEMS TERMINATED BY '\u0002' MAP KEYS TERMINATED BY '\u0003' \u0001是ASCII编码值,对应java代码中的"\001"
<property> <name>yarn.scheduler.capacity.maximum-am-resource-percent</name> <!--<value>0.1</value>--> <value>0.8</value> <description> Maximum percent of resources in the cluster which can be used to run application masters i.e. controls number of concurrent running applications. </description> </property>