[ https://issues.apache.org/jira/browse/FLINK-32011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17720034#comment-17720034 ]
xueyongyang commented on FLINK-32011: ------------------------------------- [~libenchao] Ok, thank you, but I still have a question, I just started with flink, I saw that the flink-connector-jdbc referenced in flink1.15.2 is also 1.15.2, so I want to know what is jdbc-3.1? > flink1.15.2 loaded all the data in the table in mysql5.7 > -------------------------------------------------------- > > Key: FLINK-32011 > URL: https://issues.apache.org/jira/browse/FLINK-32011 > Project: Flink > Issue Type: Improvement > Components: Connectors / JDBC > Affects Versions: 1.15.2 > Environment: flink1.15.2 > mysql5.7 > Reporter: xueyongyang > Priority: Minor > Fix For: 1.15.2 > > > CREATE TABLE `T_P_FILTER_MERCHANT_DAY_RES2` ( > `MERCHANT_NO` varchar(200) NOT NULL, > `ACT_ID` varchar(50) NOT NULL, > `RULE_ID` varchar(50) NOT NULL, > `SUM_MONEY` decimal(25,5) DEFAULT NULL, > `SUM_NUM` decimal(25,5) DEFAULT NULL, > `DATE_DT` int NOT NULL, > `DATE_TYPE` varchar(50) DEFAULT NULL, > `BEGIN_DATE` int DEFAULT NULL, > `END_DATE` int DEFAULT NULL, > `ID` bigint NOT NULL AUTO_INCREMENT, > PRIMARY KEY (`ID`), > UNIQUE KEY `T_P_FILTER_MERCHANT_DAY_RES2_UN` > (`MERCHANT_NO`,`ACT_ID`,`RULE_ID`,`DATE_DT`) > ) ENGINE=InnoDB AUTO_INCREMENT=88 DEFAULT CHARSET=utf8mb4 > COLLATE=utf8mb4_0900_ai_ci; > > CREATE TABLE `T_P_RED_STAND_RESULT` ( > `ACTIVITY_NO` varchar(50) , > `RULE_ID` varchar(50) , > `WEIGHT` int NOT NULL , > `DEAL_TYPE` varchar(50) , > `DATA_TYPE` varchar(50) , > `DATA_NO` varchar(50) , > `USER_TYPE` varchar(50) , > `USER_NO` varchar(50) , > `SUM_MONEY` decimal(25,5) , > `SUM_NUM` decimal(25,5) , > `DATE_TYPE` varchar(50) , > `BEGIN_TIME` int NOT NULL , > `END_TIME` int NOT NULL , > `TRADE_MONEY` decimal(25,5) DEFAULT NULL, > `EXTEND_DATA_MEAN` varchar(50) , > `DATA1` varchar(50) , > `DATA2` varchar(50) , > `DATA3` varchar(50) , > `DATA4` varchar(50) , > `DATA5` varchar(50) , > `CK_REACH` varchar(10) , > `READ_STATUS` varchar(10) , > `PROCESS_STATUS` varchar(50) , > `PROCESS_STATUS_DESC` varchar(200) , > `RESULT_TYPE` varchar(50) , > `MANAGER_NO` varchar(50) , > `MANAGER_ORG_NO` varchar(50) , > `CALCULATION_DATE` int NOT NULL , > `CALCULATION_TIME` datetime DEFAULT NULL , > `CREATE_TIME` datetime DEFAULT NULL , > `CREATE_USER_NO` varchar(50) , > `MAINTENANCE_TIME` varchar(50) , > `MAINTENANCE_USER_NO` varchar(50) , > `ID` bigint NOT NULL AUTO_INCREMENT, > PRIMARY KEY (`ID`), > UNIQUE KEY `T_P_RED_STAND_RESULT_UN` > (`ACTIVITY_NO`,`USER_NO`,`BEGIN_TIME`,`END_TIME`) > ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 > COLLATE=utf8mb4_0900_ai_ci; > > INSERT INTO > T_P_RED_STAND_RESULT ( ACTIVITY_NO, > RULE_ID, > WEIGHT, > DEAL_TYPE, > DATA_TYPE, > DATA_NO, > USER_TYPE, > USER_NO, > SUM_MONEY, > SUM_NUM, > DATE_TYPE, > BEGIN_TIME, > END_TIME, > TRADE_MONEY, > EXTEND_DATA_MEAN, > DATA1, > DATA2, > DATA3, > DATA4, > DATA5, > CK_REACH, > READ_STATUS, > PROCESS_STATUS, > PROCESS_STATUS_DESC, > RESULT_TYPE, > MANAGER_NO, > MANAGER_ORG_NO, > CALCULATION_DATE, > CALCULATION_TIME, > CREATE_TIME, > CREATE_USER_NO, > MAINTENANCE_TIME, > MAINTENANCE_USER_NO) > select > 'abc' as ACTIVITY_NO, > 'def' as RULE_ID, > 1 as WEIGHT, > 'red' as DEAL_TYPE, > 'gear' as DATA_TYPE, > '001010102' as DATA_NO, > 'merchantRed' as USER_TYPE, > r.MERCHANT_NO as MERCHANT_NO, > r.SUM_MONEY as SUM_MONEY, > r.SUM_NUM as SUM_NUM , > r.DATE_TYPE as DATE_TYPE , > r.BEGIN_DATE as BEGIN_DATE, > r.END_DATE as END_DATE, > 0 as TRADE_MONEY, > 'other' as EXTEND_DATA_MEAN, > if(0.1 * r.SUM_MONEY >= 10 and 0.1 * r.SUM_MONEY <= 100, 0.1 * > r.SUM_MONEY, if(0.1 * r.SUM_MONEY<10, 10, if(0.1 * r.SUM_MONEY>100, 100, 0.1 > * r.SUM_MONEY))) as DATA1, > '' as DATA2, > '' as DATA3, > '' as DATA4, > '' as DATA5, > '1' as CK_REACH, > '0' as READ_STATUS, > '' as PROCESS_STATUS, > '' as PROCESS_STATUS_DESC, > 'flink-batch' as RESULT_TYPE, > '' as MANAGER_NO, > '' as MANAGER_ORG_NO, > r.DATE_DT as CALCULATION_DATE, > LOCALTIMESTAMP as CALCULATION_TIME, > LOCALTIMESTAMP as CREATE_TIME, > 'system' as CREATE_USER_NO, > '' as MAINTENANCE_TIME, > '' as MAINTENANCE_USER_NO > from > T_P_FILTER_MERCHANT_OTHER_DATE_RES2 r > where > 1 = 1 > and r.ACT_ID = 'abc' > and r.RULE_ID = 'def' > and r.DATE_DT = 20221028 > and r.MERCHANT_NO not in ( select u.USER_NO from T_P_RED_STAND_RESULT u > where u.ACTIVITY_NO = 'abc' and u.CALCULATION_DATE = 20221028 and u.WEIGHT>=1) > and r.MERCHANT_NO not in ( select u.USER_NO from T_P_RED_STAND_RESULT u > where u.ACTIVITY_NO = 'abc' and u.READ_STATUS = '1') > > We found that when executing the above flink sql, we feel that flink has > loaded all the data in T_P_FILTER_MERCHANT_DAY_RES2 into the memory, and then > converted the where statement into a java filter condition, and fetched the > filtered data in the memory. We have this judgment for two reasons > 1. The error message of flink is oom, memory overflow > 2. The feedback from the dba said that we have done a full table query of the > T_P_FILTER_MERCHANT_DAY_RES2 table > > -- This message was sent by Atlassian Jira (v8.20.10#820010)