# pyflink-playgrounds **Repository Path**: ultrapower_cd_2364839934_admin/pyflink-playgrounds ## Basic Information - **Project Name**: pyflink-playgrounds - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-12-18 - **Last Updated**: 2022-07-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ck查询sql ``` # 增加对于REDISCONF主题的mqtt监听 - 通过监听mqtt主题,读取redis配置信息,写入本地redis - 并将每次的变化存入clickhouse # 测试数据来源 ``` # 1. 在ivysrc/tasks/task_random_write_into_kafka.py 内生成的随机list,写入kafka,测试kafka及其读写接口 # 2. unrar x XJTU_SY_Bearing_Datasets_part01.rar 合并解压西安交通大学的测试数据,详见下面链接 西安交大的数据集比较大,不便上传 776M ./35Hz12kN 2.0G ./37.5Hz11kN 8.8G ./40Hz10kN 12G . ``` # 如何理解技术选型 > 目前技术选型的核心矛盾有两个 * 1. 数据运算(检索、聚合、分析等)的压力前倾,由"计算层+数据服务层"负担,还是压力后倾,由OLAP数据库负担 * 2. 业务发展的速度是否可预判?工程落地的成本是否可控?中间是否有足够的时间窗口,支撑落地 > 经过对以上两对矛盾的分析,使用flink+ck+kafka的结构,在保障现有业务稳定支撑的前提下,保留最大的延展性开放性 [技术背景介绍](https://xie.infoq.cn/article/c497b84f31e6e1dbbc5c3eb56) # ivystar-flink-kafka测试环境 > 待约定 > kafka+redis, 合入 # redis中写入的关键字命名规则 > 均使用按值对,保存信息 > 每个KEY,有一个同名的KEY_DESC键值对,保存解释备注 ``` KEY: VALUE KEY_DESC: VALUE DESCRIBE ``` # 系统内有哪些管理后台 ``` flink任务监控 http://localhost:8088/ es数据库状态 http://localhost:9200/ mysql登陆界面 http://localhost:8080/ kafka监控后台 http://172.30.0.12:9000/ ``` # 目前的docker-compose框架 ``` jobmanager: flink任务管理 taskmanager: flink作业管理 zookeeper: apatch管理员 kafka: 数据总线消息队列 elasticsearch: es检索用数据库 kafka-data-producer: kafka数据产生器 db: mysql adminer: mysql user interface ck_server: ck db ivy_src: ivy业务代码,存储ck,监听kafka,所有的数据操作都在这一层 ``` # 如何部署 ``` git clone --depth=-1 https://gitee.com/ultrapower_cd_2364839934_admin/pyflink-playgrounds.git cd pyflink-playgrounds docker-compose -f ./docker-compose.yml up -d # 第一次可以前台运行,看下运行时的状态 ``` # 如何判断kafka链接工作正常 > 我们在ivy-src内,会有一个程序,不停的写入测试数据,进入kafka,并且读取 ``` ./tasks/task_random_write_into_kafka.py # 写入breath topic 呼吸信号 ./tasks/task_listening_kafka.py # 读取breath topic 呼吸信号 ``` # 如何阅读ivy-src部分的业务代码 > ./task/*.py 每个文件是一个独立的任务 # clickhouse 数据存放在那里 > ../ckdb