当前位置: 首页 > wzjs >正文

网站搭建本地环境asp access网站开发实例精讲

网站搭建本地环境,asp access网站开发实例精讲,qq网页版打开网页,做特卖网站FlinkSQL 常用语言指南 FlinkSQL 是 Apache Flink 提供的 SQL 接口,允许用户使用标准 SQL 或扩展的 SQL 语法来处理流式和批式数据。以下是 FlinkSQL 的常用语言元素和操作: 基本查询 -- 选择查询 SELECT * FROM table_name;-- 带条件的查询 SELECT c…

FlinkSQL 常用语言指南

FlinkSQL 是 Apache Flink 提供的 SQL 接口,允许用户使用标准 SQL 或扩展的 SQL 语法来处理流式和批式数据。以下是 FlinkSQL 的常用语言元素和操作:

  1. 基本查询
-- 选择查询
SELECT * FROM table_name;-- 带条件的查询
SELECT column1, column2 FROM table_name WHERE condition;-- 分组聚合
SELECT user_id, COUNT(*) as cnt 
FROM orders 
GROUP BY user_id;
  1. 时间属性定义
-- 定义处理时间
CREATE TABLE orders (order_id STRING,product STRING,amount DOUBLE,order_time TIMESTAMP(3),-- 声明处理时间属性proc_time AS PROCTIME()
) WITH (...);-- 定义事件时间和水位线
CREATE TABLE orders (order_id STRING,product STRING,amount DOUBLE,order_time TIMESTAMP(3),-- 声明事件时间属性WATERMARK FOR order_time AS order_time - INTERVAL '5' SECOND
) WITH (...);
  1. 窗口操作
-- 滚动窗口
SELECT window_start, window_end, SUM(amount) as total_amount
FROM TABLE(TUMBLE(TABLE orders, DESCRIPTOR(order_time), INTERVAL '1' HOUR)
)
GROUP BY window_start, window_end;-- 滑动窗口
SELECT window_start, window_end, user_id,SUM(amount) as total_amount
FROM TABLE(HOP(TABLE orders, DESCRIPTOR(order_time), INTERVAL '5' MINUTES, INTERVAL '1' HOUR)
)
GROUP BY window_start, window_end, user_id;-- 会话窗口
SELECT window_start, window_end, user_id,COUNT(*) as event_count
FROM TABLE(SESSION(TABLE orders, DESCRIPTOR(order_time), INTERVAL '10' MINUTES)
)
GROUP BY window_start, window_end, user_id;
  1. 连接操作
-- 常规连接
SELECT o.order_id, o.product, u.user_name
FROM orders AS o
JOIN users AS u ON o.user_id = u.user_id;-- 时间区间连接
SELECT o.order_id, p.promotion_name,o.order_time,o.amount
FROM orders o
JOIN promotions p 
ON o.product_id = p.product_id
AND o.order_time BETWEEN p.start_time AND p.end_time;-- 窗口连接
SELECT o.order_id,s.shipment_id,o.order_time,s.ship_time,TIMESTAMPDIFF(HOUR, o.order_time, s.ship_time) as hours_to_ship
FROM orders o
JOIN shipments s
ON o.order_id = s.order_id
AND o.order_time BETWEEN s.ship_time - INTERVAL '1' HOUR AND s.ship_time;
  1. 常用函数

标量函数

-- 字符串函数
SELECT LOWER(name), SUBSTRING(email, 1, 5) FROM users;-- 数学函数
SELECT ABS(amount), ROUND(price, 2) FROM products;-- 时间函数
SELECT DATE_FORMAT(order_time, 'yyyy-MM-dd'),TIMESTAMPDIFF(DAY, order_time, CURRENT_TIMESTAMP)
FROM orders;

聚合函数

SELECT COUNT(*) as total_orders,SUM(amount) as total_amount,AVG(amount) as avg_amount,MAX(amount) as max_amount,MIN(amount) as min_amount
FROM orders;

窗口函数

SELECT product_id,order_time,amount,ROW_NUMBER() OVER (PARTITION BY product_id ORDER BY order_time) as row_num,SUM(amount) OVER (PARTITION BY product_id ORDER BY order_time ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) as moving_sum
FROM orders;
  1. DDL 语句
-- 创建表
CREATE TABLE orders (order_id STRING,product_id STRING,amount DECIMAL(10, 2),order_time TIMESTAMP(3),WATERMARK FOR order_time AS order_time - INTERVAL '5' SECOND
) WITH ('connector' = 'kafka','topic' = 'orders','properties.bootstrap.servers' = 'kafka:9092','format' = 'json'
);-- 创建视图
CREATE VIEW large_orders AS
SELECT * FROM orders WHERE amount > 1000;-- 创建函数
CREATE FUNCTION my_udf AS 'com.example.MyUDF';
  1. DML 语句
-- 插入数据
INSERT INTO target_table
SELECT * FROM source_table WHERE amount > 100;-- 更新数据 (Flink 1.12+ 支持有限)
UPDATE orders SET amount = 200 WHERE order_id = '123';-- 删除数据 (Flink 1.12+ 支持有限)
DELETE FROM orders WHERE order_id = '456';
  1. 模式匹配 (MATCH_RECOGNIZE)
SELECT *
FROM orders
MATCH_RECOGNIZE (PARTITION BY user_idORDER BY order_timeMEASURESSTART_ROW.order_id AS start_order,LAST(PRICE_DOWN.order_id) AS bottom_order,LAST(PRICE_UP.order_id) AS end_orderONE ROW PER MATCHAFTER MATCH SKIP TO LAST PRICE_UPPATTERN (START_ROW PRICE_DOWN+ PRICE_UP+)DEFINEPRICE_DOWN AS (LAST(PRICE_DOWN.amount, 1) IS NULL AND PRICE_DOWN.amount < START_ROW.amount) OR PRICE_DOWN.amount < LAST(PRICE_DOWN.amount, 1),PRICE_UP AS PRICE_UP.amount > LAST(PRICE_DOWN.amount, 1)
) MR;
  1. 配置参数
-- 设置参数
SET 'table.exec.mini-batch.enabled' = 'true';
SET 'table.exec.mini-batch.allow-latency' = '5 s';
SET 'table.exec.mini-batch.size' = '1000';
  1. 常用连接器配置
-- Kafka 源表
CREATE TABLE kafka_source (id INT,name STRING,event_time TIMESTAMP(3),WATERMARK FOR event_time AS event_time - INTERVAL '5' SECOND
) WITH ('connector' = 'kafka','topic' = 'input_topic','properties.bootstrap.servers' = 'kafka:9092','properties.group.id' = 'testGroup','scan.startup.mode' = 'latest-offset','format' = 'json'
);-- JDBC 结果表
CREATE TABLE jdbc_sink (id INT,name STRING,PRIMARY KEY (id) NOT ENFORCED
) WITH ('connector' = 'jdbc','url' = 'jdbc:mysql://mysql:3306/mydb','table-name' = 'sink_table','username' = 'user','password' = 'password'
);

FlinkSQL 不断演进,这里只是举例一些常用的语句,参考官方文档可以获取最新语法和功能。

http://www.dtcms.com/wzjs/810071.html

相关文章:

  • 公司网站 域名 cn com专门看广告赚钱的app
  • 轴承外贸网站怎么做包括哪些内容
  • 有哪些好用的网站网站怎么接广告赚钱
  • 行政审批网站建设规范国外优秀网站设计
  • 商城微网站建设织梦网站选空间
  • 做一套公司网站费用起域名网站
  • wordpress如何搭建网站哈尔滨市公共资源交易中心
  • 服务器添加网站珠海网站建站
  • 有空间与域名 怎么做网站华文细黑做网站有版权吗
  • 安卓网站客户端制作网站建设方案有关内容
  • 出名的网站建设软件如何自己开网店做网店
  • 网站建设伍金手指下拉8h5网站设计
  • opencart zencart网站建设做公司网站 哪个程序用的多
  • 哪个网站可以做销售记录仪做职业背景调查的网站
  • 建设银行官方网站链接战略咨询公司
  • 网站注册查询网站建设依据什么法律
  • 网站响应时间长阿里云做网站送服务器
  • 网站建设初步课程介绍平板网站开发环境
  • 专门查大学的网站凡科网站做网站多少钱
  • 网站建设河北石家庄重庆是哪个省哪个市的
  • 养殖网站源码网站开发收税
  • 高端网站设计优化建站南通企业自助建站系统
  • 在网站上做广告网站手机端怎么做
  • 微博分享的网站怎么做东莞房价2023年最新房价走势
  • 网站QQ互联教程大学生网页设计作业
  • 网站建设费用计入无形资产按几年摊销企业网站建设比较调查怎么写
  • 微信你的意义是什么小程序网站建站 seo
  • 南昌网站空间网页设计与网站建设+pdf
  • 有专门做电商网站的CMS吗免费的那种软件
  • 云服务器可以做网站有没有做网页的兼职网站