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

大数据Flink(一百二十三):五分钟上手Flink MySQL连接器

文章目录

五分钟上手Flink MySQL连接器

一、创建数据库表

二、​​​​​​创建session集群

三、源表查询

四、​​​​​窗口计算

五、​​​​​​结果数据写回数据库


五分钟上手Flink MySQL连接器

MySQL Connector可以将本地或远程的MySQL数据库连接到Flink中,并方便地使用Flink Table API与之交互、捕获数据变更、并将处理结果写回数据库。

本场景将以阿里云实时计算Flink版为基础,使用Flink自带的MySQL Connector连接RDS云数据库实例,并以一个实时商品销售数据统计的例子尝试上手Connector的数据捕获、数据写入等功能。

一、创建数据库表

进入RDS mysql的管理平台DMS。(注意登录的账号需要有读写权限。)

首先创建数据库test。

CREATE  DATABASE IF NOT EXISTS test;

点击执行,创建成功后,打开此数据库的SQL Console。

建表语句如下

-- Source Table;
CREATE TABLE `source_table` (`id` int unsigned NOT NULL AUTO_INCREMENT,`good_id` int DEFAULT NULL,`amount` int DEFAULT NULL,`record_time` timestamp NULL DEFAULT NULL,PRIMARY KEY (`id`)
);-- Dimension Table;
CREATE TABLE `dimension_table` (`good_id` int unsigned NOT NULL,`good_name` varchar(256) DEFAULT NULL,`good_price` int DEFAULT NULL,PRIMARY KEY (`good_id`)
);-- Sink Table;
CREATE TABLE `sink_table` (`record_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,`good_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,`sell_amount` int DEFAULT NULL,PRIMARY KEY (`record_timestamp`)
);

选中后点击执行

执行成功后,返回如下结果

可以在左侧表列表看到对应的表

然后向数据库中插入多条数据,插入代码在下面:

INSERT INTO `dimension_table` (`good_id`, `good_name`, `good_price`)
VALUES(1, 'Cheetah', 53),(2, 'Puma', 46),(3, 'Jaguar', 22),(4, 'Panther', 18),(5, 'Tiger', 99),(6, 'Leopard', 84),(7, 'Snow Leopard', 81),(8, 'Lion', 17),(9, 'Mountain Lion', 19),(10, 'Mavericks', 77),(11, 'Yosemite', 16),(12, 'El Capitan', 16),(13, 'Sierra', 85),(14, 'High Sierra', 87),(15, 'Mojave', 51),(16, 'Catalina', 92),(17, 'Big Sur', 14),(18, 'Monterey', 99),(19, 'Ventura', 15),(20, 'Sonoma', 68);INSERT INTO `source_table` (`id`, `good_id`, `amount`, `record_time`)
VALUES(1, 16, 19, '2023-06-09 11:06:34'),(2, 8, 20, '2023-06-09 11:06:35'),(3, 19, 24, '2023-06-09 11:06:36'),(4, 17, 23, '2023-06-09 11:06:37'),(5, 2, 25, '2023-06-09 11:06:40'),(6, 10, 28, '2023-06-09 11:06:44'),(7, 20, 26, '2023-06-09 11:06:48'),(8, 18, 19, '2023-06-09 11:06:49'),(9, 16, 21, '2023-06-09 11:06:53'),(10, 7, 19, '2023-06-09 11:06:55'),(11, 7, 20, '2023-06-09 11:06:59'),(12, 17, 21, '2023-06-09 11:07:03'),(13, 2, 19, '2023-06-09 11:07:05'),(14, 5, 22, '2023-06-09 11:07:08'),(15, 10, 21, '2023-06-09 11:07:12'),(16, 2, 29, '2023-06-09 11:07:16'),(17, 6, 27, '2023-06-09 11:07:19'),(18, 16, 23, '2023-06-09 11:07:23'),(19, 8, 20, '2023-06-09 11:07:24'),(20, 8, 31, '2023-06-09 11:07:26'),(21, 6, 30, '2023-06-09 11:07:29'),(22, 7, 21, '2023-06-09 11:07:32'),(23, 2, 22, '2023-06-09 11:07:33'),(24, 9, 23, '2023-06-09 11:07:37'),(25, 19, 29, '2023-06-09 11:07:41'),(26, 16, 31, '2023-06-09 11:07:45'),(27, 13, 19, '2023-06-09 11:07:48'),(28, 6, 20, '2023-06-09 11:07:50'),(29, 4, 20, '2023-06-09 11:07:52'),(30, 4, 25, '2023-06-09 11:07:54'),(31, 4, 20, '2023-06-09 11:07:55'),(32, 4, 21, '2023-06-09 11:07:58'),(33, 11, 24, '2023-06-09 11:07:59'),(34, 1, 24, '2023-06-09 11:08:03'),(35, 7, 31, '2023-06-09 11:08:06'),(36, 2, 27, '2023-06-09 11:08:10'),(37, 19, 26, '2023-06-09 11:08:13'),(38, 3, 23, '2023-06-09 11:08:15'),(39, 11, 20, '2023-06-09 11:08:19'),(40, 20, 21, '2023-06-09 11:08:23'),(41, 7, 22, '2023-06-09 11:08:25'),(42, 5, 21, '2023-06-09 11:08:29'),(43, 7, 22, '2023-06-09 11:08:30'),(44, 11, 28, '2023-06-09 11:08:31'),(45, 2, 19, '2023-06-09 11:08:32'),(46, 1, 26, '2023-06-09 11:08:36'),(47, 3, 31, '2023-06-09 11:08:39'),(48, 20, 20, '2023-06-09 11:08:41'),(49, 6, 24, '2023-06-09 11:08:43'),(50, 10, 28, '2023-06-09 11:08:44'),(51, 11, 21, '2023-06-09 11:08:48'),(52, 9, 20, '2023-06-09 11:08:52'),(53, 5, 28, '2023-06-09 11:08:53'),(54, 8, 28, '2023-06-09 11:08:54'),(55, 15, 26, '2023-06-09 11:08:58'),(56, 3, 26, '2023-06-09 11:09:01'),(57, 19, 20, '2023-06-09 11:09:02'),(58, 6, 22, '2023-06-09 11:09:03'),(59, 1, 22, '2023-06-09 11:09:05'),(60, 19, 25, '2023-06-09 11:09:08'),(61, 17, 28, '2023-06-09 11:09:11'),(62, 5, 25, '2023-06-09 11:09:12'),(63, 16, 30, '2023-06-09 11:09:16'),(64, 1, 23, '2023-06-09 11:09:17'),(65, 1, 22, '2023-06-09 11:09:21'),(66, 3, 19, '2023-06-09 11:09:22'),(67, 10, 19, '2023-06-09 11:09:24'),(68, 12, 20, '2023-06-09 11:09:26'),(69, 18, 20, '2023-06-09 11:09:29'),(70, 16, 21, '2023-06-09 11:09:32'),(71, 4, 27, '2023-06-09 11:09:33'),(72, 14, 31, '2023-06-09 11:09:37'),(73, 15, 30, '2023-06-09 11:09:40'),(74, 8, 24, '2023-06-09 11:09:43'),(75, 2, 24, '2023-06-09 11:09:44'),(76, 4, 31, '2023-06-09 11:09:45'),(77, 15, 25, '2023-06-09 11:09:49'),(78, 1, 28, '2023-06-09 11:09:53'),(79, 9, 29, '2023-06-09 11:09:56'),(80, 3, 30, '2023-06-09 11:09:57'),(81, 9, 20, '2023-06-09 11:09:58'),(82, 9, 23, '2023-06-09 11:10:01'),(83, 2, 30, '2023-06-09 11:10:03'),(84, 16, 26, '2023-06-09 11:10:04'),(85, 17, 21, '2023-06-09 11:10:05'),(86, 14, 25, '2023-06-09 11:10:08'),(87, 3, 22, '2023-06-09 11:10:10'),(88, 14, 24, '2023-06-09 11:10:11'),(89, 9, 21, '2023-06-09 11:10:12'),(90, 8, 19, '2023-06-09 11:10:16'),(91, 20, 28, '2023-06-09 11:10:17'),(92, 15, 30, '2023-06-09 11:10:19'),(93, 6, 21, '2023-06-09 11:10:21'),(94, 10, 26, '2023-06-09 11:10:22'),(95, 10, 30, '2023-06-09 11:10:25'),(96, 5, 25, '2023-06-09 11:10:29'),(97, 7, 19, '2023-06-09 11:10:33'),(98, 4, 19, '2023-06-09 11:10:36'),(99, 5, 28, '2023-06-09 11:10:38'),(100, 19, 19, '2023-06-09 11:10:41'),(101, 18, 27, '2023-06-09 11:10:44'),(102, 19, 23, '2023-06-09 11:10:46'),(103, 9, 28, '2023-06-09 11:10:47'),(104, 15, 19, '2023-06-09 11:10:49'),(105, 9, 19, '2023-06-09 11:10:51'),(106, 3, 23, '2023-06-09 11:10:52'),(107, 12, 28, '2023-06-09 11:10:54'),(108, 5, 25, '2023-06-09 11:10:56'),(109, 7, 30, '2023-06-09 11:11:00'),(110, 13, 28, '2023-06-09 11:11:01'),(111, 8, 29, '2023-06-09 11:11:03'),(112, 7, 26, '2023-06-09 11:11:04'),(113, 2, 23, '2023-06-09 11:11:07'),(114, 5, 25, '2023-06-09 11:11:08'),(115, 4, 27, '2023-06-09 11:11:10'),(116, 7, 25, '2023-06-09 11:11:12'),(117, 17, 26, '2023-06-09 11:11:14'),(118, 6, 31, '2023-06-09 11:11:17'),(119, 6, 27, '2023-06-09 11:11:20'),(120, 20, 30, '2023-06-09 11:11:23'),(121, 1, 24, '2023-06-09 11:11:26'),(122, 1, 27, '2023-06-09 11:11:30'),(123, 3, 28, '2023-06-09 11:11:31'),(124, 20, 30, '2023-06-09 11:11:32'),(125, 1, 31, '2023-06-09 11:11:33'),(126, 9, 21, '2023-06-09 11:11:37'),(127, 12, 24, '2023-06-09 11:11:39'),(128, 17, 30, '2023-06-09 11:11:40'),(129, 13, 26, '2023-06-09 11:11:43'),(130, 5, 23, '2023-06-09 11:11:44'),(131, 1, 28, '2023-06-09 11:11:45'),(132, 16, 22, '2023-06-09 11:11:46'),(133, 8, 21, '2023-06-09 11:11:47'),(134, 15, 20, '2023-06-09 11:11:50'),(135, 8, 28, '2023-06-09 11:11:53'),(136, 16, 25, '2023-06-09 11:11:57'),(137, 14, 31, '2023-06-09 11:11:58'),(138, 11, 25, '2023-06-09 11:12:00'),(139, 6, 31, '2023-06-09 11:12:03'),(140, 1, 27, '2023-06-09 11:12:07'),(141, 11, 21, '2023-06-09 11:12:09'),(142, 8, 24, '2023-06-09 11:12:12'),(143, 11, 24, '2023-06-09 11:12:14'),(144, 9, 24, '2023-06-09 11:12:18'),(145, 16, 23, '2023-06-09 11:12:21'),(146, 4, 21, '2023-06-09 11:12:25'),(147, 19, 25, '2023-06-09 11:12:29'),(148, 5, 22, '2023-06-09 11:12:32'),(149, 14, 28, '2023-06-09 11:12:34'),(150, 8, 25, '2023-06-09 11:12:35'),(151, 10, 30, '2023-06-09 11:12:39'),(152, 4, 24, '2023-06-09 11:12:41'),(153, 12, 29, '2023-06-09 11:12:43'),(154, 9, 20, '2023-06-09 11:12:47'),(155, 13, 19, '2023-06-09 11:12:48'),(156, 11, 20, '2023-06-09 11:12:50'),(157, 5, 22, '2023-06-09 11:12:54'),(158, 16, 28, '2023-06-09 11:12:57'),(159, 2, 21, '2023-06-09 11:13:01'),(160, 11, 19, '2023-06-09 11:13:03'),(161, 15, 19, '2023-06-09 11:13:04'),(162, 4, 24, '2023-06-09 11:13:06'),(163, 11, 27, '2023-06-09 11:13:08'),(164, 12, 20, '2023-06-09 11:13:09'),(165, 6, 29, '2023-06-09 11:13:11'),(166, 11, 21, '2023-06-09 11:13:15'),(167, 10, 28, '2023-06-09 11:13:17'),(168, 15, 21, '2023-06-09 11:13:18'),(169, 1, 20, '2023-06-09 11:13:22'),(170, 15, 24, '2023-06-09 11:13:24'),(171, 1, 26, '2023-06-09 11:13:28'),(172, 5, 23, '2023-06-09 11:13:31'),(173, 4, 23, '2023-06-09 11:13:33'),(174, 13, 30, '2023-06-09 11:13:37'),(175, 12, 28, '2023-06-09 11:13:41'),(176, 18, 27, '2023-06-09 11:13:42'),(177, 10, 29, '2023-06-09 11:13:45'),(178, 9, 21, '2023-06-09 11:13:47'),(179, 19, 20, '2023-06-09 11:13:50'),(180, 1, 21, '2023-06-09 11:13:54'),(181, 1, 31, '2023-06-09 11:13:58'),(182, 11, 30, '2023-06-09 11:13:59'),(183, 6, 21, '2023-06-09 11:14:02'),(184, 2, 24, '2023-06-09 11:14:04'),(185, 18, 29, '2023-06-09 11:14:05'),(186, 14, 21, '2023-06-09 11:14:08'),(187, 5, 21, '2023-06-09 11:14:10'),(188, 2, 30, '2023-06-09 11:14:13'),(189, 1, 27, '2023-06-09 11:14:14'),(190, 18, 27, '2023-06-09 11:14:17'),(191, 10, 26, '2023-06-09 11:14:21'),(192, 16, 29, '2023-06-09 11:14:23'),(193, 2, 19, '2023-06-09 11:14:24'),(194, 13, 30, '2023-06-09 11:14:28'),(195, 16, 20, '2023-06-09 11:14:29'),(196, 6, 27, '2023-06-09 11:14:31'),(197, 19, 27, '2023-06-09 11:14:33'),(198, 8, 29, '2023-06-09 11:14:37'),(199, 16, 28, '2023-06-09 11:14:39'),(200, 14, 25, '2023-06-09 11:14:40'),(201, 3, 29, '2023-06-09 11:14:42'),(202, 1, 23, '2023-06-09 11:14:44'),(203, 10, 19, '2023-06-09 11:14:47'),(204, 14, 27, '2023-06-09 11:14:48'),(205, 2, 26, '2023-06-09 11:14:51'),(206, 19, 24, '2023-06-09 11:14:55'),(207, 7, 19, '2023-06-09 11:14:57'),(208, 5, 24, '2023-06-09 11:14:59'),(209, 20, 24, '2023-06-09 11:15:00'),(210, 20, 25, '2023-06-09 11:15:02'),(211, 12, 27, '2023-06-09 11:15:03'),(212, 14, 31, '2023-06-09 11:15:06'),(213, 1, 22, '2023-06-09 11:15:07'),(214, 3, 22, '2023-06-09 11:15:09'),(215, 16, 27, '2023-06-09 11:15:10'),(216, 10, 19, '2023-06-09 11:15:14'),(217, 7, 30, '2023-06-09 11:15:15'),(218, 2, 22, '2023-06-09 11:15:17'),(219, 13, 20, '2023-06-09 11:15:18'),(220, 11, 21, '2023-06-09 11:15:22'),(221, 15, 26, '2023-06-09 11:15:25'),(222, 8, 25, '2023-06-09 11:15:30'),(223, 15, 29, '2023-06-09 11:15:32'),(224, 13, 24, '2023-06-09 11:15:36'),(225, 20, 21, '2023-06-09 11:15:40'),(226, 9, 27, '2023-06-09 11:15:42'),(227, 18, 25, '2023-06-09 11:15:44'),(228, 3, 19, '2023-06-09 11:15:45'),(229, 19, 24, '2023-06-09 11:15:46'),(230, 13, 26, '2023-06-09 11:15:50'),(231, 10, 30, '2023-06-09 11:15:54'),(232, 18, 19, '2023-06-09 11:15:57'),(233, 10, 27, '2023-06-09 11:15:59'),(234, 8, 31, '2023-06-09 11:16:02'),(235, 6, 25, '2023-06-09 11:16:06'),(236, 1, 19, '2023-06-09 11:16:08'),(237, 12, 31, '2023-06-09 11:16:11'),(238, 10, 25, '2023-06-09 11:16:14'),(239, 8, 24, '2023-06-09 11:16:17'),(240, 16, 28, '2023-06-09 11:16:19'),(241, 19, 23, '2023-06-09 11:16:20'),(242, 18, 30, '2023-06-09 11:16:23'),(243, 9, 25, '2023-06-09 11:16:27'),(244, 17, 27, '2023-06-09 11:16:30'),(245, 17, 24, '2023-06-09 11:16:34'),(246, 1, 29, '2023-06-09 11:16:35'),(247, 3, 23, '2023-06-09 11:16:39'),(248, 1, 25, '2023-06-09 11:16:41'),(249, 14, 25, '2023-06-09 11:16:45'),(250, 17, 29, '2023-06-09 11:16:49'),(251, 15, 26, '2023-06-09 11:16:50'),(252, 6, 30, '2023-06-09 11:16:52'),(253, 13, 25, '2023-06-09 11:16:53'),(254, 20, 27, '2023-06-09 11:16:56'),(255, 19, 30, '2023-06-09 11:17:00'),(256, 20, 29, '2023-06-09 11:17:03'),(257, 4, 26, '2023-06-09 11:17:04'),(258, 20, 23, '2023-06-09 11:17:05'),(259, 8, 25, '2023-06-09 11:17:08'),(260, 3, 24, '2023-06-09 11:17:10'),(261, 5, 29, '2023-06-09 11:17:13'),(262, 12, 31, '2023-06-09 11:17:15'),(263, 2, 21, '2023-06-09 11:17:16'),(264, 2, 31, '2023-06-09 11:17:18'),(265, 6, 30, '2023-06-09 11:17:20'),(266, 18, 20, '2023-06-09 11:17:23'),(267, 8, 20, '2023-06-09 11:17:24'),(268, 18, 30, '2023-06-09 11:17:25'),(269, 9, 28, '2023-06-09 11:17:27'),(270, 12, 28, '2023-06-09 11:17:30'),(271, 16, 29, '2023-06-09 11:17:31'),(272, 20, 30, '2023-06-09 11:17:35'),(273, 7, 21, '2023-06-09 11:17:39'),(274, 4, 30, '2023-06-09 11:17:42'),(275, 6, 26, '2023-06-09 11:17:44'),(276, 7, 19, '2023-06-09 11:17:45'),(277, 19, 31, '2023-06-09 11:17:46'),(278, 16, 30, '2023-06-09 11:17:47'),(279, 19, 30, '2023-06-09 11:17:49'),(280, 13, 21, '2023-06-09 11:17:52'),(281, 18, 22, '2023-06-09 11:17:54'),(282, 12, 26, '2023-06-09 11:17:57'),(283, 3, 22, '2023-06-09 11:18:01'),(284, 1, 22, '2023-06-09 11:18:02'),(285, 13, 23, '2023-06-09 11:18:04'),(286, 20, 19, '2023-06-09 11:18:09'),(287, 11, 27, '2023-06-09 11:18:11'),(288, 15, 24, '2023-06-09 11:18:13'),(289, 17, 28, '2023-06-09 11:18:16'),(290, 19, 23, '2023-06-09 11:18:19'),(291, 4, 28, '2023-06-09 11:18:20'),(292, 8, 25, '2023-06-09 11:18:22'),(293, 9, 29, '2023-06-09 11:18:23'),(294, 1, 23, '2023-06-09 11:18:27'),(295, 15, 27, '2023-06-09 11:18:29'),(296, 2, 24, '2023-06-09 11:18:32'),(297, 18, 30, '2023-06-09 11:18:34'),(298, 9, 27, '2023-06-09 11:18:35'),(299, 2, 19, '2023-06-09 11:18:36'),(300, 10, 20, '2023-06-09 11:18:39'),(301, 17, 28, '2023-06-09 11:18:43'),(302, 7, 30, '2023-06-09 11:18:45'),(303, 14, 30, '2023-06-09 11:18:48'),(304, 11, 30, '2023-06-09 11:18:52'),(305, 8, 29, '2023-06-09 11:18:56'),(306, 11, 23, '2023-06-09 11:19:00'),(307, 10, 23, '2023-06-09 11:19:04'),(308, 14, 26, '2023-06-09 11:19:07'),(309, 11, 25, '2023-06-09 11:19:09'),(310, 6, 22, '2023-06-09 11:19:11'),(311, 12, 27, '2023-06-09 11:19:15'),(312, 3, 22, '2023-06-09 11:19:17'),(313, 1, 28, '2023-06-09 11:19:18'),(314, 18, 24, '2023-06-09 11:19:20'),(315, 4, 20, '2023-06-09 11:19:24'),(316, 11, 29, '2023-06-09 11:19:25'),(317, 11, 30, '2023-06-09 11:19:27'),(318, 20, 21, '2023-06-09 11:19:31'),(319, 5, 24, '2023-06-09 11:19:33'),(320, 20, 20, '2023-06-09 11:19:37'),(321, 8, 28, '2023-06-09 11:19:41'),(322, 10, 31, '2023-06-09 11:19:43'),(323, 15, 19, '2023-06-09 11:19:47'),(324, 19, 29, '2023-06-09 11:19:48'),(325, 14, 19, '2023-06-09 11:19:51'),(326, 3, 23, '2023-06-09 11:19:52'),(327, 15, 26, '2023-06-09 11:19:57'),(328, 12, 23, '2023-06-09 11:19:58'),(329, 7, 28, '2023-06-09 11:20:01'),(330, 20, 29, '2023-06-09 11:20:05'),(331, 17, 26, '2023-06-09 11:20:09'),(332, 10, 19, '2023-06-09 11:20:13'),(333, 18, 31, '2023-06-09 11:20:16'),(334, 4, 23, '2023-06-09 11:20:18'),(335, 7, 21, '2023-06-09 11:20:19'),(336, 9, 22, '2023-06-09 11:20:23'),(337, 6, 27, '2023-06-09 11:20:26'),(338, 19, 28, '2023-06-09 11:20:30'),(339, 19, 21, '2023-06-09 11:20:31'),(340, 13, 25, '2023-06-09 11:20:33'),(341, 17, 26, '2023-06-09 11:20:37'),(342, 19, 27, '2023-06-09 11:20:41'),(343, 20, 20, '2023-06-09 11:20:42'),(344, 10, 24, '2023-06-09 11:20:43'),(345, 12, 23, '2023-06-09 11:20:46'),(346, 9, 19, '2023-06-09 11:20:47'),(347, 15, 21, '2023-06-09 11:20:50'),(348, 18, 19, '2023-06-09 11:20:54'),(349, 4, 26, '2023-06-09 11:20:56'),(350, 3, 24, '2023-06-09 11:20:57'),(351, 18, 24, '2023-06-09 11:20:58'),(352, 17, 25, '2023-06-09 11:21:02'),(353, 16, 31, '2023-06-09 11:21:06'),(354, 1, 24, '2023-06-09 11:21:07'),(355, 13, 30, '2023-06-09 11:21:11'),(356, 3, 30, '2023-06-09 11:21:13'),(357, 3, 20, '2023-06-09 11:21:16'),(358, 10, 22, '2023-06-09 11:21:19'),(359, 17, 27, '2023-06-09 11:21:20'),(360, 13, 22, '2023-06-09 11:21:22'),(361, 15, 22, '2023-06-09 11:21:25'),(362, 17, 30, '2023-06-09 11:21:26'),(363, 2, 28, '2023-06-09 11:21:28'),(364, 9, 24, '2023-06-09 11:21:30'),(365, 9, 23, '2023-06-09 11:21:32'),(366, 6, 27, '2023-06-09 11:21:34'),(367, 17, 26, '2023-06-09 11:21:38'),(368, 8, 30, '2023-06-09 11:21:42'),(369, 3, 29, '2023-06-09 11:21:45'),(370, 14, 25, '2023-06-09 11:21:47'),(371, 9, 25, '2023-06-09 11:21:51'),(372, 13, 30, '2023-06-09 11:21:54'),(373, 18, 19, '2023-06-09 11:21:58'),(374, 6, 21, '2023-06-09 11:22:00'),(375, 1, 24, '2023-06-09 11:22:01'),(376, 16, 23, '2023-06-09 11:22:02'),(377, 17, 23, '2023-06-09 11:22:03'),(378, 5, 23, '2023-06-09 11:22:06'),(379, 17, 27, '2023-06-09 11:22:09'),(380, 20, 30, '2023-06-09 11:22:13'),(381, 19, 28, '2023-06-09 11:22:14'),(382, 6, 24, '2023-06-09 11:22:18'),(383, 17, 28, '2023-06-09 11:22:21'),(384, 14, 26, '2023-06-09 11:22:24'),(385, 14, 22, '2023-06-09 11:22:26'),(386, 10, 27, '2023-06-09 11:22:30'),(387, 12, 28, '2023-06-09 11:22:31'),(388, 13, 31, '2023-06-09 11:22:35'),(389, 9, 25, '2023-06-09 11:22:39'),(390, 17, 27, '2023-06-09 11:22:40'),(391, 13, 27, '2023-06-09 11:22:41'),(392, 4, 26, '2023-06-09 11:22:42'),(393, 9, 26, '2023-06-09 11:22:43'),(394, 11, 27, '2023-06-09 11:22:46'),(395, 18, 22, '2023-06-09 11:22:48'),(396, 4, 27, '2023-06-09 11:22:52'),(397, 1, 26, '2023-06-09 11:22:56'),(398, 5, 27, '2023-06-09 11:22:58'),(399, 8, 20, '2023-06-09 11:23:02'),(400, 11, 25, '2023-06-09 11:23:04'),(401, 16, 22, '2023-06-09 11:23:05'),(402, 4, 22, '2023-06-09 11:23:07'),(403, 14, 23, '2023-06-09 11:23:11'),(404, 2, 27, '2023-06-09 11:23:12'),(405, 7, 24, '2023-06-09 11:23:13'),(406, 3, 30, '2023-06-09 11:23:16'),(407, 14, 25, '2023-06-09 11:23:17'),(408, 12, 28, '2023-06-09 11:23:21'),(409, 15, 25, '2023-06-09 11:23:24'),(410, 8, 22, '2023-06-09 11:23:26'),(411, 6, 30, '2023-06-09 11:23:29'),(412, 15, 22, '2023-06-09 11:23:31'),(413, 15, 19, '2023-06-09 11:23:32'),(414, 5, 29, '2023-06-09 11:23:36'),(415, 1, 31, '2023-06-09 11:23:38'),(416, 18, 28, '2023-06-09 11:23:39'),(417, 9, 19, '2023-06-09 11:23:43'),(418, 3, 22, '2023-06-09 11:23:45'),(419, 4, 19, '2023-06-09 11:23:47'),(420, 17, 29, '2023-06-09 11:23:48'),(421, 17, 22, '2023-06-09 11:23:50'),(422, 15, 30, '2023-06-09 11:23:53'),(423, 13, 21, '2023-06-09 11:23:55'),(424, 4, 29, '2023-06-09 11:23:56'),(425, 10, 27, '2023-06-09 11:23:58'),(426, 9, 24, '2023-06-09 11:24:01'),(427, 11, 24, '2023-06-09 11:24:04'),(428, 5, 28, '2023-06-09 11:24:08'),(429, 14, 29, '2023-06-09 11:24:13'),(430, 3, 20, '2023-06-09 11:24:14'),(431, 8, 22, '2023-06-09 11:24:17'),(432, 1, 30, '2023-06-09 11:24:18'),(433, 13, 19, '2023-06-09 11:24:21'),(434, 1, 23, '2023-06-09 11:24:25'),(435, 6, 30, '2023-06-09 11:24:29'),(436, 17, 26, '2023-06-09 11:24:33'),(437, 8, 23, '2023-06-09 11:24:34'),(438, 4, 29, '2023-06-09 11:24:36'),(439, 9, 31, '2023-06-09 11:24:37'),(440, 18, 23, '2023-06-09 11:24:40'),(441, 11, 19, '2023-06-09 11:24:43'),(442, 12, 25, '2023-06-09 11:24:45'),(443, 7, 26, '2023-06-09 11:24:47'),(444, 8, 31, '2023-06-09 11:24:51'),(445, 13, 23, '2023-06-09 11:24:55'),(446, 13, 22, '2023-06-09 11:24:56'),(447, 7, 27, '2023-06-09 11:25:00'),(448, 8, 21, '2023-06-09 11:25:01'),(449, 1, 25, '2023-06-09 11:25:04'),(450, 14, 19, '2023-06-09 11:25:06'),(451, 12, 29, '2023-06-09 11:25:08'),(452, 16, 26, '2023-06-09 11:25:10'),(453, 6, 30, '2023-06-09 11:25:14'),(454, 19, 25, '2023-06-09 11:25:15'),(455, 15, 24, '2023-06-09 11:25:17'),(456, 4, 19, '2023-06-09 11:25:21'),(457, 20, 31, '2023-06-09 11:25:25'),(458, 14, 31, '2023-06-09 11:25:29'),(459, 17, 24, '2023-06-09 11:25:32'),(460, 13, 26, '2023-06-09 11:25:35'),(461, 17, 28, '2023-06-09 11:25:36'),(462, 9, 23, '2023-06-09 11:25:40'),(463, 5, 29, '2023-06-09 11:25:42'),(464, 9, 28, '2023-06-09 11:25:43'),(465, 13, 25, '2023-06-09 11:25:44'),(466, 15, 19, '2023-06-09 11:25:47'),(467, 2, 19, '2023-06-09 11:25:49'),(468, 15, 29, '2023-06-09 11:25:53'),(469, 18, 21, '2023-06-09 11:25:55'),(470, 14, 21, '2023-06-09 11:25:56'),(471, 11, 28, '2023-06-09 11:25:57'),(472, 13, 19, '2023-06-09 11:25:58'),(473, 8, 23, '2023-06-09 11:25:59'),(474, 16, 24, '2023-06-09 11:26:01'),(475, 18, 31, '2023-06-09 11:26:05'),(476, 12, 20, '2023-06-09 11:26:08'),(477, 19, 30, '2023-06-09 11:26:12'),(478, 11, 28, '2023-06-09 11:26:15'),(479, 9, 30, '2023-06-09 11:26:18'),(480, 12, 29, '2023-06-09 11:26:22'),(481, 4, 29, '2023-06-09 11:26:25'),(482, 13, 31, '2023-06-09 11:26:27'),(483, 15, 23, '2023-06-09 11:26:31'),(484, 6, 27, '2023-06-09 11:26:35'),(485, 14, 31, '2023-06-09 11:26:36'),(486, 16, 30, '2023-06-09 11:26:40'),(487, 3, 22, '2023-06-09 11:26:43'),(488, 17, 19, '2023-06-09 11:26:46'),(489, 8, 19, '2023-06-09 11:26:48'),(490, 1, 25, '2023-06-09 11:26:49'),(491, 13, 31, '2023-06-09 11:26:52'),(492, 10, 21, '2023-06-09 11:26:54'),(493, 9, 22, '2023-06-09 11:26:58'),(494, 16, 20, '2023-06-09 11:27:00'),(495, 11, 19, '2023-06-09 11:27:04'),(496, 10, 27, '2023-06-09 11:27:05'),(497, 14, 22, '2023-06-09 11:27:07'),(498, 12, 30, '2023-06-09 11:27:09'),(499, 19, 20, '2023-06-09 11:27:13'),(500, 11, 23, '2023-06-09 11:27:14'),(501, 10, 30, '2023-06-09 11:27:17'),(502, 18, 21, '2023-06-09 11:27:18'),(503, 15, 24, '2023-06-09 11:27:19'),(504, 17, 23, '2023-06-09 11:27:23'),(505, 7, 27, '2023-06-09 11:27:25'),(506, 9, 24, '2023-06-09 11:27:29'),(507, 6, 24, '2023-06-09 11:27:30'),(508, 14, 20, '2023-06-09 11:27:34'),(509, 8, 23, '2023-06-09 11:27:35'),(510, 9, 27, '2023-06-09 11:27:36'),(511, 7, 22, '2023-06-09 11:27:39'),(512, 13, 21, '2023-06-09 11:27:40'),(513, 9, 30, '2023-06-09 11:27:41'),(514, 12, 25, '2023-06-09 11:27:42'),(515, 17, 22, '2023-06-09 11:27:45'),(516, 6, 20, '2023-06-09 11:27:47'),(517, 11, 20, '2023-06-09 11:27:50'),(518, 15, 25, '2023-06-09 11:27:53'),(519, 15, 27, '2023-06-09 11:27:55'),(520, 9, 27, '2023-06-09 11:27:57'),(521, 2, 21, '2023-06-09 11:28:01'),(522, 17, 24, '2023-06-09 11:28:03'),(523, 10, 29, '2023-06-09 11:28:06'),(524, 16, 24, '2023-06-09 11:28:09'),(525, 5, 28, '2023-06-09 11:28:11'),(526, 11, 22, '2023-06-09 11:28:13'),(527, 13, 19, '2023-06-09 11:28:16'),(528, 13, 30, '2023-06-09 11:28:18'),(529, 5, 21, '2023-06-09 11:28:22'),(530, 19, 25, '2023-06-09 11:28:24'),(531, 1, 27, '2023-06-09 11:28:28'),(532, 19, 21, '2023-06-09 11:28:32'),(533, 7, 25, '2023-06-09 11:28:35'),(534, 2, 25, '2023-06-09 11:28:37'),(535, 18, 24, '2023-06-09 11:28:41'),(536, 8, 27, '2023-06-09 11:28:42'),(537, 9, 30, '2023-06-09 11:28:44'),(538, 18, 31, '2023-06-09 11:28:47'),(539, 4, 25, '2023-06-09 11:28:49'),(540, 5, 27, '2023-06-09 11:28:50'),(541, 4, 20, '2023-06-09 11:28:53'),(542, 20, 27, '2023-06-09 11:28:55'),(543, 7, 20, '2023-06-09 11:28:58'),(544, 2, 26, '2023-06-09 11:28:59'),(545, 8, 21, '2023-06-09 11:29:01'),(546, 10, 25, '2023-06-09 11:29:05'),(547, 11, 31, '2023-06-09 11:29:10'),(548, 14, 22, '2023-06-09 11:29:11'),(549, 5, 31, '2023-06-09 11:29:15'),(550, 5, 21, '2023-06-09 11:29:19'),(551, 8, 29, '2023-06-09 11:29:22'),(552, 12, 30, '2023-06-09 11:29:26'),(553, 8, 22, '2023-06-09 11:29:27'),(554, 5, 28, '2023-06-09 11:29:29'),(555, 4, 23, '2023-06-09 11:29:32'),(556, 12, 21, '2023-06-09 11:29:35'),(557, 14, 23, '2023-06-09 11:29:36'),(558, 10, 26, '2023-06-09 11:29:38'),(559, 2, 31, '2023-06-09 11:29:42'),(560, 18, 22, '2023-06-09 11:29:44'),(561, 3, 22, '2023-06-09 11:29:45'),(562, 2, 31, '2023-06-09 11:29:47'),(563, 6, 21, '2023-06-09 11:29:51'),(564, 5, 30, '2023-06-09 11:29:55'),(565, 5, 24, '2023-06-09 11:29:56'),(566, 6, 24, '2023-06-09 11:30:00'),(567, 14, 25, '2023-06-09 11:30:03'),(568, 8, 20, '2023-06-09 11:30:05'),(569, 12, 20, '2023-06-09 11:30:08'),(570, 5, 20, '2023-06-09 11:30:10'),(571, 20, 24, '2023-06-09 11:30:14'),(572, 8, 22, '2023-06-09 11:30:16'),(573, 2, 24, '2023-06-09 11:30:20'),(574, 14, 20, '2023-06-09 11:30:22'),(575, 1, 30, '2023-06-09 11:30:25'),(576, 13, 31, '2023-06-09 11:30:26'),(577, 4, 21, '2023-06-09 11:30:30'),(578, 11, 27, '2023-06-09 11:30:31'),(579, 19, 20, '2023-06-09 11:30:32'),(580, 13, 28, '2023-06-09 11:30:36'),(581, 6, 22, '2023-06-09 11:30:38'),(582, 10, 23, '2023-06-09 11:30:42'),(583, 11, 27, '2023-06-09 11:30:43'),(584, 5, 25, '2023-06-09 11:30:46'),(585, 2, 20, '2023-06-09 11:30:47'),(586, 1, 21, '2023-06-09 11:30:49'),(587, 11, 27, '2023-06-09 11:30:51'),(588, 11, 23, '2023-06-09 11:30:56'),(589, 7, 20, '2023-06-09 11:30:59'),(590, 10, 24, '2023-06-09 11:31:03'),(591, 7, 20, '2023-06-09 11:31:05'),(592, 17, 21, '2023-06-09 11:31:06'),(593, 17, 20, '2023-06-09 11:31:08'),(594, 5, 21, '2023-06-09 11:31:09'),(595, 16, 29, '2023-06-09 11:31:10'),(596, 2, 20, '2023-06-09 11:31:14'),(597, 4, 25, '2023-06-09 11:31:15'),(598, 11, 19, '2023-06-09 11:31:16'),(599, 5, 30, '2023-06-09 11:31:20'),(600, 4, 26, '2023-06-09 11:31:23'),(601, 7, 23, '2023-06-09 11:31:24'),(602, 17, 24, '2023-06-09 11:31:25'),(603, 2, 25, '2023-06-09 11:31:26'),(604, 19, 21, '2023-06-09 11:31:30'),(605, 16, 19, '2023-06-09 11:31:32'),(606, 17, 26, '2023-06-09 11:31:33'),(607, 3, 25, '2023-06-09 11:31:37'),(608, 12, 20, '2023-06-09 11:31:39'),(609, 17, 29, '2023-06-09 11:31:41'),(610, 3, 30, '2023-06-09 11:31:44'),(611, 3, 19, '2023-06-09 11:31:47'),(612, 13, 29, '2023-06-09 11:31:51'),(613, 9, 29, '2023-06-09 11:31:52'),(614, 7, 22, '2023-06-09 11:31:56'),(615, 11, 28, '2023-06-09 11:31:57'),(616, 7, 22, '2023-06-09 11:32:00'),(617, 11, 28, '2023-06-09 11:32:04'),(618, 7, 29, '2023-06-09 11:32:05'),(619, 14, 29, '2023-06-09 11:32:09'),(620, 17, 19, '2023-06-09 11:32:10'),(621, 17, 22, '2023-06-09 11:32:11'),(622, 8, 19, '2023-06-09 11:32:12'),(623, 7, 28, '2023-06-09 11:32:14'),(624, 1, 26, '2023-06-09 11:32:17'),(625, 14, 30, '2023-06-09 11:32:20'),(626, 5, 28, '2023-06-09 11:32:22'),(627, 7, 31, '2023-06-09 11:32:24'),(628, 8, 23, '2023-06-09 11:32:28'),(629, 11, 20, '2023-06-09 11:32:29'),(630, 13, 19, '2023-06-09 11:32:31'),(631, 9, 19, '2023-06-09 11:32:32'),(632, 1, 19, '2023-06-09 11:32:35'),(633, 12, 31, '2023-06-09 11:32:38'),(634, 11, 30, '2023-06-09 11:32:40'),(635, 1, 22, '2023-06-09 11:32:42'),(636, 4, 20, '2023-06-09 11:32:45'),(637, 18, 23, '2023-06-09 11:32:49'),(638, 12, 19, '2023-06-09 11:32:51'),(639, 19, 25, '2023-06-09 11:32:52'),(640, 3, 30, '2023-06-09 11:32:53'),(641, 17, 27, '2023-06-09 11:32:54'),(642, 4, 31, '2023-06-09 11:32:55'),(643, 10, 19, '2023-06-09 11:32:57'),(644, 15, 25, '2023-06-09 11:32:58'),(645, 17, 31, '2023-06-09 11:33:01'),(646, 19, 27, '2023-06-09 11:33:05'),(647, 4, 28, '2023-06-09 11:33:09'),(648, 16, 23, '2023-06-09 11:33:12'),(649, 7, 26, '2023-06-09 11:33:14'),(650, 19, 24, '2023-06-09 11:33:17'),(651, 4, 27, '2023-06-09 11:33:20'),(652, 10, 26, '2023-06-09 11:33:23'),(653, 14, 21, '2023-06-09 11:33:26'),(654, 16, 31, '2023-06-09 11:33:29'),(655, 16, 23, '2023-06-09 11:33:33'),(656, 8, 27, '2023-06-09 11:33:34'),(657, 9, 20, '2023-06-09 11:33:36'),(658, 10, 20, '2023-06-09 11:33:40'),(659, 7, 20, '2023-06-09 11:33:41'),(660, 13, 31, '2023-06-09 11:33:44'),(661, 15, 29, '2023-06-09 11:33:48'),(662, 15, 27, '2023-06-09 11:33:51'),(663, 3, 24, '2023-06-09 11:33:52'),(664, 8, 27, '2023-06-09 11:33:55'),(665, 7, 29, '2023-06-09 11:33:58'),(666, 7, 26, '2023-06-09 11:33:59'),(667, 1, 31, '2023-06-09 11:34:00'),(668, 7, 28, '2023-06-09 11:34:03'),(669, 7, 20, '2023-06-09 11:34:07'),(670, 2, 28, '2023-06-09 11:34:09'),(671, 5, 31, '2023-06-09 11:34:10'),(672, 13, 26, '2023-06-09 11:34:13'),(673, 18, 25, '2023-06-09 11:34:16'),(674, 4, 29, '2023-06-09 11:34:20'),(675, 18, 27, '2023-06-09 11:34:22'),(676, 5, 27, '2023-06-09 11:34:24'),(677, 1, 29, '2023-06-09 11:34:25'),(678, 14, 19, '2023-06-09 11:34:27'),(679, 17, 22, '2023-06-09 11:34:29'),(680, 5, 24, '2023-06-09 11:34:32'),(681, 4, 23, '2023-06-09 11:34:35'),(682, 16, 25, '2023-06-09 11:34:37'),(683, 12, 28, '2023-06-09 11:34:39'),(684, 5, 22, '2023-06-09 11:34:43'),(685, 12, 27, '2023-06-09 11:34:47'),(686, 5, 25, '2023-06-09 11:34:51'),(687, 1, 22, '2023-06-09 11:34:52'),(688, 14, 31, '2023-06-09 11:34:54'),(689, 7, 20, '2023-06-09 11:34:56'),(690, 20, 30, '2023-06-09 11:35:00'),(691, 3, 28, '2023-06-09 11:35:03'),(692, 10, 23, '2023-06-09 11:35:04'),(693, 9, 31, '2023-06-09 11:35:07'),(694, 10, 23, '2023-06-09 11:35:08'),(695, 2, 30, '2023-06-09 11:35:12'),(696, 11, 24, '2023-06-09 11:35:13'),(697, 12, 29, '2023-06-09 11:35:15'),(698, 15, 28, '2023-06-09 11:35:17'),(699, 19, 28, '2023-06-09 11:35:18'),(700, 14, 25, '2023-06-09 11:35:20'),(701, 12, 31, '2023-06-09 11:35:21'),(702, 4, 30, '2023-06-09 11:35:22'),(703, 12, 22, '2023-06-09 11:35:24'),(704, 18, 27, '2023-06-09 11:35:26'),(705, 8, 21, '2023-06-09 11:35:29'),(706, 12, 27, '2023-06-09 11:35:31'),(707, 2, 26, '2023-06-09 11:35:33'),(708, 18, 26, '2023-06-09 11:35:35'),(709, 15, 30, '2023-06-09 11:35:38'),(710, 7, 26, '2023-06-09 11:35:40'),(711, 9, 27, '2023-06-09 11:35:43'),(712, 3, 29, '2023-06-09 11:35:45'),(713, 13, 29, '2023-06-09 11:35:47'),(714, 12, 20, '2023-06-09 11:35:49'),(715, 1, 19, '2023-06-09 11:35:50'),(716, 4, 22, '2023-06-09 11:35:51'),(717, 16, 19, '2023-06-09 11:35:54'),(718, 12, 28, '2023-06-09 11:35:57'),(719, 13, 23, '2023-06-09 11:35:58'),(720, 17, 23, '2023-06-09 11:35:59'),(721, 11, 24, '2023-06-09 11:36:03'),(722, 20, 22, '2023-06-09 11:36:05'),(723, 20, 23, '2023-06-09 11:36:08'),(724, 13, 28, '2023-06-09 11:36:09'),(725, 8, 22, '2023-06-09 11:36:10'),(726, 12, 20, '2023-06-09 11:36:13'),(727, 2, 29, '2023-06-09 11:36:15'),(728, 4, 22, '2023-06-09 11:36:18'),(729, 20, 25, '2023-06-09 11:36:23'),(730, 17, 20, '2023-06-09 11:36:24'),(731, 17, 26, '2023-06-09 11:36:27'),(732, 3, 27, '2023-06-09 11:36:28'),(733, 4, 21, '2023-06-09 11:36:32'),(734, 14, 26, '2023-06-09 11:36:33'),(735, 17, 21, '2023-06-09 11:36:37'),(736, 18, 23, '2023-06-09 11:36:41'),(737, 19, 28, '2023-06-09 11:36:45'),(738, 19, 26, '2023-06-09 11:36:47'),(739, 10, 30, '2023-06-09 11:36:49'),(740, 16, 25, '2023-06-09 11:36:53'),(741, 1, 22, '2023-06-09 11:36:57'),(742, 2, 29, '2023-06-09 11:37:00'),(743, 7, 27, '2023-06-09 11:37:03'),(744, 19, 27, '2023-06-09 11:37:05'),(745, 9, 26, '2023-06-09 11:37:08'),(746, 4, 25, '2023-06-09 11:37:11'),(747, 1, 27, '2023-06-09 11:37:13'),(748, 4, 26, '2023-06-09 11:37:14'),(749, 6, 22, '2023-06-09 11:37:17'),(750, 4, 22, '2023-06-09 11:37:19'),(751, 3, 27, '2023-06-09 11:37:23'),(752, 7, 26, '2023-06-09 11:37:27'),(753, 13, 23, '2023-06-09 11:37:30'),(754, 6, 20, '2023-06-09 11:37:32'),(755, 16, 23, '2023-06-09 11:37:33'),(756, 20, 29, '2023-06-09 11:37:35'),(757, 16, 23, '2023-06-09 11:37:37'),(758, 14, 29, '2023-06-09 11:37:38'),(759, 5, 19, '2023-06-09 11:37:40'),(760, 8, 27, '2023-06-09 11:37:41'),(761, 14, 22, '2023-06-09 11:37:44'),(762, 19, 26, '2023-06-09 11:37:46'),(763, 20, 21, '2023-06-09 11:37:48'),(764, 14, 25, '2023-06-09 11:37:51'),(765, 2, 22, '2023-06-09 11:37:54'),(766, 18, 28, '2023-06-09 11:37:56'),(767, 15, 28, '2023-06-09 11:37:57'),(768, 19, 26, '2023-06-09 11:37:58'),(769, 17, 28, '2023-06-09 11:38:00'),(770, 15, 24, '2023-06-09 11:38:03'),(771, 3, 19, '2023-06-09 11:38:07'),(772, 3, 28, '2023-06-09 11:38:10'),(773, 2, 26, '2023-06-09 11:38:13'),(774, 20, 31, '2023-06-09 11:38:14'),(775, 3, 22, '2023-06-09 11:38:16'),(776, 12, 19, '2023-06-09 11:38:19'),(777, 20, 30, '2023-06-09 11:38:23'),(778, 9, 22, '2023-06-09 11:38:25'),(779, 14, 31, '2023-06-09 11:38:27'),(780, 19, 23, '2023-06-09 11:38:31'),(781, 15, 31, '2023-06-09 11:38:35'),(782, 20, 22, '2023-06-09 11:38:37'),(783, 6, 23, '2023-06-09 11:38:40'),(784, 8, 28, '2023-06-09 11:38:44'),(785, 8, 28, '2023-06-09 11:38:46'),(786, 12, 22, '2023-06-09 11:38:49'),(787, 14, 19, '2023-06-09 11:38:52'),(788, 6, 20, '2023-06-09 11:38:56'),(789, 18, 26, '2023-06-09 11:38:58'),(790, 7, 31, '2023-06-09 11:39:01'),(791, 13, 30, '2023-06-09 11:39:02'),(792, 2, 31, '2023-06-09 11:39:06'),(793, 8, 22, '2023-06-09 11:39:07'),(794, 3, 28, '2023-06-09 11:39:08'),(795, 18, 24, '2023-06-09 11:39:09'),(796, 14, 30, '2023-06-09 11:39:11'),(797, 4, 24, '2023-06-09 11:39:14'),(798, 3, 28, '2023-06-09 11:39:17'),(799, 12, 29, '2023-06-09 11:39:21'),(800, 11, 19, '2023-06-09 11:39:22'),(801, 18, 27, '2023-06-09 11:39:26'),(802, 15, 20, '2023-06-09 11:39:27'),(803, 14, 30, '2023-06-09 11:39:28'),(804, 6, 31, '2023-06-09 11:39:31'),(805, 4, 27, '2023-06-09 11:39:34'),(806, 10, 22, '2023-06-09 11:39:35'),(807, 8, 25, '2023-06-09 11:39:38'),(808, 19, 19, '2023-06-09 11:39:39'),(809, 2, 26, '2023-06-09 11:39:43'),(810, 12, 19, '2023-06-09 11:39:46'),(811, 8, 26, '2023-06-09 11:39:50'),(812, 10, 31, '2023-06-09 11:39:53'),(813, 6, 19, '2023-06-09 11:39:56'),(814, 2, 28, '2023-06-09 11:39:57'),(815, 17, 24, '2023-06-09 11:39:59'),(816, 17, 25, '2023-06-09 11:40:02'),(817, 5, 31, '2023-06-09 11:40:05'),(818, 5, 19, '2023-06-09 11:40:09'),(819, 20, 25, '2023-06-09 11:40:13'),(820, 20, 19, '2023-06-09 11:40:15'),(821, 11, 27, '2023-06-09 11:40:19'),(822, 18, 23, '2023-06-09 11:40:20'),(823, 7, 29, '2023-06-09 11:40:22'),(824, 8, 24, '2023-06-09 11:40:23'),(825, 20, 31, '2023-06-09 11:40:26'),(826, 15, 31, '2023-06-09 11:40:30'),(827, 19, 26, '2023-06-09 11:40:31'),(828, 8, 31, '2023-06-09 11:40:35'),(829, 5, 25, '2023-06-09 11:40:37'),(830, 13, 21, '2023-06-09 11:40:40'),(831, 2, 29, '2023-06-09 11:40:42'),(832, 1, 20, '2023-06-09 11:40:43'),(833, 16, 26, '2023-06-09 11:40:46'),(834, 3, 31, '2023-06-09 11:40:48'),(835, 11, 27, '2023-06-09 11:40:51'),(836, 5, 19, '2023-06-09 11:40:52'),(837, 13, 26, '2023-06-09 11:40:54'),(838, 9, 19, '2023-06-09 11:40:56'),(839, 4, 20, '2023-06-09 11:41:00'),(840, 18, 21, '2023-06-09 11:41:02'),(841, 13, 31, '2023-06-09 11:41:03'),(842, 3, 22, '2023-06-09 11:41:04'),(843, 13, 20, '2023-06-09 11:41:08'),(844, 1, 30, '2023-06-09 11:41:09'),(845, 16, 20, '2023-06-09 11:41:11'),(846, 9, 25, '2023-06-09 11:41:14'),(847, 13, 27, '2023-06-09 11:41:17'),(848, 9, 30, '2023-06-09 11:41:21'),(849, 16, 25, '2023-06-09 11:41:24'),(850, 5, 25, '2023-06-09 11:41:26'),(851, 14, 31, '2023-06-09 11:41:27'),(852, 7, 26, '2023-06-09 11:41:31'),(853, 10, 25, '2023-06-09 11:41:33'),(854, 1, 19, '2023-06-09 11:41:36'),(855, 3, 28, '2023-06-09 11:41:39'),(856, 1, 21, '2023-06-09 11:41:42'),(857, 8, 29, '2023-06-09 11:41:43'),(858, 13, 28, '2023-06-09 11:41:45'),(859, 15, 31, '2023-06-09 11:41:48'),(860, 20, 20, '2023-06-09 11:41:50'),(861, 13, 20, '2023-06-09 11:41:51'),(862, 1, 25, '2023-06-09 11:41:54'),(863, 9, 19, '2023-06-09 11:41:56'),(864, 13, 26, '2023-06-09 11:41:59'),(865, 18, 26, '2023-06-09 11:42:03'),(866, 7, 31, '2023-06-09 11:42:06'),(867, 15, 19, '2023-06-09 11:42:10'),(868, 9, 20, '2023-06-09 11:42:12'),(869, 19, 25, '2023-06-09 11:42:14'),(870, 8, 19, '2023-06-09 11:42:15'),(871, 19, 22, '2023-06-09 11:42:18'),(872, 5, 25, '2023-06-09 11:42:20'),(873, 2, 24, '2023-06-09 11:42:21'),(874, 15, 20, '2023-06-09 11:42:23'),(875, 16, 24, '2023-06-09 11:42:26'),(876, 11, 26, '2023-06-09 11:42:30'),(877, 2, 22, '2023-06-09 11:42:32'),(878, 20, 29, '2023-06-09 11:42:33'),(879, 18, 29, '2023-06-09 11:42:37'),(880, 15, 20, '2023-06-09 11:42:38'),(881, 11, 20, '2023-06-09 11:42:42'),(882, 11, 21, '2023-06-09 11:42:45'),(883, 6, 28, '2023-06-09 11:42:47'),(884, 16, 28, '2023-06-09 11:42:49'),(885, 17, 22, '2023-06-09 11:42:52'),(886, 7, 28, '2023-06-09 11:42:53'),(887, 3, 24, '2023-06-09 11:42:55'),(888, 1, 27, '2023-06-09 11:42:58'),(889, 10, 23, '2023-06-09 11:42:59'),(890, 5, 21, '2023-06-09 11:43:00'),(891, 3, 28, '2023-06-09 11:43:01'),(892, 16, 20, '2023-06-09 11:43:02'),(893, 11, 25, '2023-06-09 11:43:03'),(894, 5, 22, '2023-06-09 11:43:04'),(895, 14, 26, '2023-06-09 11:43:05'),(896, 20, 27, '2023-06-09 11:43:08'),(897, 3, 22, '2023-06-09 11:43:09'),(898, 5, 29, '2023-06-09 11:43:11'),(899, 14, 31, '2023-06-09 11:43:15'),(900, 16, 21, '2023-06-09 11:43:19'),(901, 11, 31, '2023-06-09 11:43:20'),(902, 16, 23, '2023-06-09 11:43:23'),(903, 16, 30, '2023-06-09 11:43:25'),(904, 10, 28, '2023-06-09 11:43:28'),(905, 11, 21, '2023-06-09 11:43:31'),(906, 14, 26, '2023-06-09 11:43:35'),(907, 10, 27, '2023-06-09 11:43:38'),(908, 3, 23, '2023-06-09 11:43:42'),(909, 13, 19, '2023-06-09 11:43:46'),(910, 11, 31, '2023-06-09 11:43:47'),(911, 13, 31, '2023-06-09 11:43:48'),(912, 17, 23, '2023-06-09 11:43:50'),(913, 17, 24, '2023-06-09 11:43:51'),(914, 4, 31, '2023-06-09 11:43:53'),(915, 7, 27, '2023-06-09 11:43:57'),(916, 19, 26, '2023-06-09 11:43:58'),(917, 18, 23, '2023-06-09 11:44:01'),(918, 16, 25, '2023-06-09 11:44:04'),(919, 6, 25, '2023-06-09 11:44:05'),(920, 19, 31, '2023-06-09 11:44:08'),(921, 20, 25, '2023-06-09 11:44:09'),(922, 14, 25, '2023-06-09 11:44:12'),(923, 17, 29, '2023-06-09 11:44:16'),(924, 19, 20, '2023-06-09 11:44:20'),(925, 15, 24, '2023-06-09 11:44:21'),(926, 8, 22, '2023-06-09 11:44:25'),(927, 13, 29, '2023-06-09 11:44:27'),(928, 5, 29, '2023-06-09 11:44:29'),(929, 2, 19, '2023-06-09 11:44:34'),(930, 5, 26, '2023-06-09 11:44:38'),(931, 20, 25, '2023-06-09 11:44:40'),(932, 3, 19, '2023-06-09 11:44:43'),(933, 14, 28, '2023-06-09 11:44:45'),(934, 14, 29, '2023-06-09 11:44:46'),(935, 1, 20, '2023-06-09 11:44:49'),(936, 1, 27, '2023-06-09 11:44:51'),(937, 10, 27, '2023-06-09 11:44:55'),(938, 18, 29, '2023-06-09 11:44:56'),(939, 1, 28, '2023-06-09 11:44:57'),(940, 16, 22, '2023-06-09 11:44:59'),(941, 7, 22, '2023-06-09 11:45:02'),(942, 11, 30, '2023-06-09 11:45:06'),(943, 18, 31, '2023-06-09 11:45:07'),(944, 12, 22, '2023-06-09 11:45:11'),(945, 13, 29, '2023-06-09 11:45:15'),(946, 17, 26, '2023-06-09 11:45:19'),(947, 7, 26, '2023-06-09 11:45:22'),(948, 1, 19, '2023-06-09 11:45:24'),(949, 4, 31, '2023-06-09 11:45:27'),(950, 5, 26, '2023-06-09 11:45:29'),(951, 14, 26, '2023-06-09 11:45:33'),(952, 17, 24, '2023-06-09 11:45:34'),(953, 6, 21, '2023-06-09 11:45:38'),(954, 5, 21, '2023-06-09 11:45:40'),(955, 9, 19, '2023-06-09 11:45:44'),(956, 12, 26, '2023-06-09 11:45:47'),(957, 5, 30, '2023-06-09 11:45:48'),(958, 3, 26, '2023-06-09 11:45:52'),(959, 12, 21, '2023-06-09 11:45:55'),(960, 13, 23, '2023-06-09 11:45:57'),(961, 2, 22, '2023-06-09 11:46:01'),(962, 10, 31, '2023-06-09 11:46:05'),(963, 14, 24, '2023-06-09 11:46:06'),(964, 15, 24, '2023-06-09 11:46:08'),(965, 18, 19, '2023-06-09 11:46:09'),(966, 16, 24, '2023-06-09 11:46:12'),(967, 4, 22, '2023-06-09 11:46:16'),(968, 11, 25, '2023-06-09 11:46:20'),(969, 3, 24, '2023-06-09 11:46:22'),(970, 20, 30, '2023-06-09 11:46:24'),(971, 7, 24, '2023-06-09 11:46:27'),(972, 14, 26, '2023-06-09 11:46:31'),(973, 10, 22, '2023-06-09 11:46:32'),(974, 8, 30, '2023-06-09 11:46:34'),(975, 5, 30, '2023-06-09 11:46:36'),(976, 4, 26, '2023-06-09 11:46:39'),(977, 12, 19, '2023-06-09 11:46:40'),(978, 9, 23, '2023-06-09 11:46:41'),(979, 13, 22, '2023-06-09 11:46:43'),(980, 12, 29, '2023-06-09 11:46:45'),(981, 12, 22, '2023-06-09 11:46:47'),(982, 4, 30, '2023-06-09 11:46:51'),(983, 11, 19, '2023-06-09 11:46:54'),(984, 9, 24, '2023-06-09 11:46:56'),(985, 10, 20, '2023-06-09 11:46:59'),(986, 10, 19, '2023-06-09 11:47:01'),(987, 16, 25, '2023-06-09 11:47:03'),(988, 17, 25, '2023-06-09 11:47:05'),(989, 10, 26, '2023-06-09 11:47:09'),(990, 15, 25, '2023-06-09 11:47:12'),(991, 20, 24, '2023-06-09 11:47:16'),(992, 10, 25, '2023-06-09 11:47:20'),(993, 10, 31, '2023-06-09 11:47:24'),(994, 19, 19, '2023-06-09 11:47:25'),(995, 8, 29, '2023-06-09 11:47:28'),(996, 19, 27, '2023-06-09 11:47:32'),(997, 15, 31, '2023-06-09 11:47:35'),(998, 10, 24, '2023-06-09 11:47:39'),(999, 19, 20, '2023-06-09 11:47:43'),(1000, 4, 25, '2023-06-09 11:47:45');

选中插入代码,点击执行

插入数据成功后,可以看到source_table和dimension_table中已有数据。

 

 

查询数据条数

select count(1) from source_table;

select count(1) from dimension_table;

二、​​​​​​创建session集群

使用之前的flink-sql-test-session集群即可。如若没有,安装下面步骤创建。

  • 登录实时计算控制台。
  • 在Flink全托管页签,单击目标工作空间名称对应应操作列下的控制台。
  • 在左侧导航栏,单击Session集群。
  • 单击创建Session集群。

表格中未提及的参数保持默认值即可,需要配置的参数说明请参见下表。

配置项

说明

配置示例

名称

Session集群名称。

flink-sql-test-session

状态

设置当前集群的期望运行状态:

  • STOPPED:当集群配置完成后保持停止状态,同样会停止所有在运行中的作业。
  • RUNNING:当集群配置完成后保持运行状态。

RUNNING

引擎版本

Session集群引擎版本号。

vvr-6.0.7-flink-1.15

Task Managers数量

默认与并行度保持一致。

4

  • 单击创建Session集群。

当Session集群状态(页面上方集群名称旁边)从启动中变为运行中后,可以进入后续步骤。

 

三、​​​​​​​源表查询

进入Flink开发平台,点击左侧作业开发,在demo文件夹下创建mysqlcdc-test流作业草稿,版本选择vvr-6.0.7-flink-1.15。创建源表,代码如下

CREATE TABLE mysql_source_table(id INT NOT NULL PRIMARY KEY NOT ENFORCED,record_time TIMESTAMP(3),good_id INT,amount INT,WATERMARK FOR record_time AS record_time-INTERVAL '5' SECOND
)WITH('connector' = 'mysql','hostname' = 'rm-cn-g48798978t000ca.rwlb.rds.aliyuncs.com','port' = '3306','username' = 'itlanson','password' = 'It123','database-name' = 'test','table-name' = 'source_table'
);

其中hostname后是mysql的内网ip,可以在mysql实例详情的数据库连接处查看。

username和password是mysql的账号和密码。

选中代码后,点击运行,完成源表创建。

查询表数据,验证源表数据可以正常捕获。 

SELECT * FROM mysqlcdc_source_table;

选中查询代码,点击调试,选择flink-sql-test-session集群,结果如下。

查询数据条数

SELECT count(1) FROM mysql_source_table;

选择代码后,点击调试。

可以看到控制台的结果在不断增大,达到500会暂停。这是因为默认查询500条,此时需要点击左侧的绿色箭头,恢复查询。

最后结果如下,可以看到,与mysql中的对应表数据条数相同。

此时,在mysql中插入一条数据。 

INSERT INTO `source_table` (`id`, `good_id`, `amount`, `record_time`)
VALUE (1001, 1, 19, '2023-06-09 11:59:34');

插入成功后,观察flink控制台,发现数据已经发生了变化。即已经捕获了新增的数据。 

 

四、​​​​​窗口计算

接下来,我们希望对原始数据按照时间窗口进行分组计算。我们使用TUMBLE相关窗口函数结合GROUP BY,将长度 15 秒内的订单数据按照商品 ID 进行归类,并使用SUM计算其销售总额。

在Flink作业编辑页签中,输入如下代码。选中代码,点击调试,观察控制台的输出结果。

SELECTgood_id,tumble_start(record_time, interval '15' seconds) AS record_timestamp,sum(amount) AS total_amount
FROMmysql_source_table
GROUP BYtumble(record_time, interval '15' seconds),good_id;

结果如下

在这个业务场景中,购买商品信息使用good_id记录,而商品ID到可读商品名字的映射表、每件商品的价格等信息则存储在另一张维度表(Dimension Table)中。我们同样可以使用Flink SQL连接维度表,只需在Flink作业中编写下面的语句。

首先建表

 CREATE TABLE dimension_table (good_id INT NOT NULL PRIMARY KEY NOT ENFORCED,good_name VARCHAR(256),good_price INT
)WITH('connector' = 'mysql','hostname' = 'rm-cn-g48798978t000ca.rwlb.rds.aliyuncs.com','port' = '3306','username' = 'itlanson','password' = 'It123','database-name' = 'test','table-name' = 'dimension_table'
);

 查询数据条数

select count(1) from dimension_table;

查询结果,与mysql中对应表的数据条数一致。

这里,我们希望根据上一步中统计出的「每15秒商品销售量」信息,计算出每件商品的销售额。由于商品名称及商品价格数据存储在另一张维度表 dimension_table中,我们需要将结果视图和 dimension_table进行JOIN操作,并将「商品销售量」、「商品价格」相乘计算出「商品销售额」,并提取结果中的商品可读名称信息作为结果表。

需要确保 dimension_table中存在对应商品 ID 的条目。

作业代码如下。

SELECTrecord_timestamp,good_name,total_amount * good_price AS revenue
FROM(SELECTgood_id,tumble_start(record_time, interval '15' seconds) AS record_timestamp,sum(amount) AS total_amountFROMmysql_source_tableGROUP BYtumble(record_time,interval '15'seconds),good_id)AS tumbled_tableLEFT JOIN dimension_table ON tumbled_table.good_id = dimension_table.good_id;

 选中代码,点击调试,结果如下

五、​​​​​​结果数据写回数据库

我们将这些实时的统计数据写回数据库,Flink SQL也可以简单地实现这一点。首先我们需要创建一张用于连接汇表的 Flink 表,代码如下所示:

 

CREATE TABLE mysql_sink_table (record_timestamp TIMESTAMP(3) NOT NULL PRIMARY KEY NOT ENFORCED,good_name VARCHAR(128),sell_amount INT
) WITH ('connector' = 'jdbc','url' = 'jdbc:mysql://rm-cn-g48798978t000ca.rwlb.rds.aliyuncs.com:3306/test','table-name' = 'sink_table','username' = 'itlanson','password' = 'It123','scan.auto-commit' = 'true'
);

注意:url中//与:之间的为mysql的内网ip,根据实际进行更改。

新建mysqlcdc-insert流作业草稿,版本选择vvr-6.0.7-flink-1.15。

INSERT INTO mysql_sink_table 
SELECT record_timestamp, good_name, total_amount * good_price AS revenue 
FROM (SELECT good_id, tumble_start(record_time, interval '15' seconds) AS record_timestamp, sum(amount) AS total_amount FROM mysql_source_table GROUP BY tumble (record_time, interval '15' seconds), good_id) AS tumbled_table LEFT JOIN dimension_table ON tumbled_table.good_id = dimension_table.good_id;

点击右上角部署,提交上线。

进入左侧作业运维,启动新提交的作业。

等待一段时间,作业状态变成运行中。点击状态总览可以看到作业执行图。可以看到首先进行的是源表数据的捕获与窗口聚合;接着和维度表进行JOIN操作得到运算结果;最后将处理数据存入汇表。

等待数据写入后,可以在mysql对应表查看写入结果。

返回DMS的SQL Console,查询数据。

SELECT * FROM `sink_table`;

结果如下


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

相关文章:

大数据Flink(一百二十三):五分钟上手Flink MySQL连接器

文章目录 五分钟上手Flink MySQL连接器 一、创建数据库表 二、​​​​​​创建session集群 三、源表查询 四、​​​​​窗口计算 五、​​​​​​结果数据写回数据库 五分钟上手Flink MySQL连接器 MySQL Connector可以将本地或远程的MySQL数据库连接到Flink中&#x…...

SYN Flood攻击原理,SYN Cookie算法

SYN Flood是一种非常危险而常见的Dos攻击方式。到目前为止,能够有效防范SYN Flood攻击的手段并不多,SYN Cookie就是其中最著名的一种。 1. SYN Flood攻击原理 SYN Flood攻击是一种典型的拒绝服务(Denial of Service)攻击。所谓的拒绝服务攻击就是通过进…...

计组(蒋)期末速成笔记1

蒋本珊计组期末不挂科复习笔记 第1章 概论 第2章 数据的机器层次表示 第3章 指令系统 第4章 数值的机器运算 第5章 存储系统和结构 第6章 中央处理器 第7章 总线 第1章 概论 蒋本珊计组期末不挂科复习笔记知道你快考试了,莫慌! 第1章 概论1.1 冯诺依曼计…...

mysql学习教程,从入门到精通,SQL 更新数据(UPDATE 语句)(17)

1、SQL 更新数据(UPDATE 语句) SQL UPDATE 需要指定要更新的表、要修改的列以及新值,并且通常会通过WHERE子句来指定哪些行需要被更新。下面是一个简单的示例,说明如何使用UPDATE语句。 假设我们有一个名为employees的表&#xf…...

【吊打面试官系列-MySQL面试题】MyISAM 表格将在哪里存储,并且还提供其存储格式?

大家好,我是锋哥。今天分享关于【MyISAM 表格将在哪里存储,并且还提供其存储格式?】面试题,希望对大家有帮助; MyISAM 表格将在哪里存储,并且还提供其存储格式? 每个 MyISAM 表格以三种格式存储…...

常用的图像增强的算法之间的联系和区别

Unsharp Mask (USM)、拉普拉斯算子、直方图均衡化和伽马增强是图像处理中常见的技术,但它们在原理、作用和应用场景上有显著不同。以下是对这些方法的详细比较: 1. Unsharp Mask (USM) 原理:USM 是通过对图像进行模糊处理(如高斯…...

SpringBoot+Vue考试系统免费分享

源码说明: 这是一个开源的SpringBoot与Vue开发的在线考试系统。经过站长测试,系统稳定可用,允许重复考试。 环境: 需要安装的环境包括Node.js v14.21.3、JDK8、Maven以及MySQL 5.7。 前端部署教程: 执行 npm inst…...

音视频入门基础:FLV专题(1)——FLV官方文档下载

一、FLV简介 Flash Video(简称FLV),是一种网络视频格式,用作流媒体格式,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上有效使用等缺点。 一般FLV文件包在SW…...

使用c#制作一个小型桌面程序

封装dll 首先使用visual stdio 创建Dll新项目,然后属性管理器导入自己的工程属性表(如果没有可以参考visual stdio 如何配置opencv等其他环境) 创建完成后 系统会自动生成一些文件,其中 pch.cpp 先不要修改,pch.h中先导入自己需…...

Clip studio paint百度云下载:附安装包+教程

首先补一个介绍,Clip Studio Paint(即CSP):这是一款专业的绘画和漫画创作软件,拥有丰富的绘画工具,适合漫画创作者使用。其界面友好,工具齐全,能够满足漫画创作中的各种需求。 用过…...

从Yargs源码学习中间件的设计

yargs中间件介绍 yargs 是一个用于解析命令行参数的流行库,它能帮助开发者轻松地定义 CLI(命令行接口),并提供参数处理、命令组织、help文本自动生成等功能。今天我们来学习一下它对中间件的支持。 中间件的API详细信息&#xff0…...

高级I/O知识分享【epoll || Reactor ET,LT模式】

博客主页:花果山~程序猿-CSDN博客 文章分栏:Linux_花果山~程序猿的博客-CSDN博客 关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长! 目录 一,接口 epo…...

Matlab 的.m 文件批量转成py文件

在工作中碰到了一个问题,需要将原来用matlab gui做出来的程序改为python程序,因为涉及到很多文件,所以在网上搜了搜有没有直接能转化的库。参考了【Matlab】一键Matlab代码转python代码详细教程_matlab2python-CSDN博客 这位博主提到的matla…...

【软考】传输层协议TCP与UDP

目录 1. TCP1.1 说明1.2 三次握手 2. UDP3. 例题3.1 例题1 1. TCP 1.1 说明 1.TCP(Transmission Control Protocol,传输控制协议)是整个 TCP/IP 协议族中最重要的协议之一。2.它在IP提供的不可靠数据服务的基础上为应用程序提供了一个可靠的、面向连接的、全双工的…...

Arthas dashboard(当前系统的实时数据面板)

文章目录 二、命令列表2.1 jvm相关命令2.1.1 dashboard(当前系统的实时数据面板) 二、命令列表 2.1 jvm相关命令 2.1.1 dashboard(当前系统的实时数据面板) 使用场景: 在 Arthas 中,dashboard 命令用于提…...

微服务保护之熔断降级

在微服务架构中,服务之间的调用是通过网络进行的,网络的不确定性和依赖服务的不可控性,可能导致某个服务出现异常或性能问题,进而引发整个系统的故障,这被称为 微服务雪崩。为了防止这种情况发生,常用的一些…...

TomCat乱码问题

TomCat控制台乱码问题 乱码问题解决: 响应乱码问题 向客户端响应数据: package Servlet;import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servl…...

依赖库查看工具Dependencies

依赖库查看工具:Dependencies Dependencies 是一款 Windows 平台下的静态分析工具,用来分析可执行文件(EXE、DLL 等)所依赖的动态链接库(DLL)。它可以帮助开发者和系统管理员快速查找程序在运行时可能缺少的…...

Kafka 下载安装及使用总结

1. 下载安装 官网下载地址:Apache Kafka 下载对应的文件 上传到服务器上,解压 tar -xzf kafka_2.13-3.7.0.tgz目录结果如下 ├── bin │ └── windows ├── config │ └── kraft ├── libs ├── licenses └── site-docs官方文档…...

python实现多个pdf文件合并

打印发票时,需要将pdf合并成一个,单页两张打印。网上一些pdf合并逐渐收费,这玩意儿都能收费?自己写一个脚本使用。 实现代码: 输入pdf文件夹路径data_dir,统计目录下的“合并后的PDF”文件夹下,…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

Linux中《基础IO》详细介绍

目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改&#xff0c;实现简单cat命令 输出信息到显示器&#xff0c;你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...