@Test
    public void testLeftTemporalJoinParse() throws Exception {
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        env.setParallelism(1);
        env.enableCheckpointing(10000);
        env.disableOperatorChaining();
        EnvironmentSettings settings = EnvironmentSettings
                .newInstance()
                .inStreamingMode()
                .build();
        StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env, settings);
        Node inputNode = buildMySQLExtractNode();
        Node redisDim1 = buildRedisExtractNode("2", RedisCommand.HGET, "student");
        Node redisDim2 = buildRedisExtractNode("3", RedisCommand.ZREVRANK, "student_rank");
        Node redisDim3 = buildRedisExtractNode("4", RedisCommand.ZSCORE, "student_rank");
        Node redisDim4 = buildRedisExtractNode("5", RedisCommand.GET, null);
        Node outputNode = buildMysqlLoadNode();
        StreamInfo streamInfo = new StreamInfo("1",
                Arrays.asList(inputNode, redisDim1, redisDim2, redisDim3, redisDim4, outputNode),
                Collections.singletonList(
                        buildNodeRelation(Arrays.asList(inputNode, redisDim1, redisDim2, redisDim3, redisDim4),
                                Collections.singletonList(outputNode), true)));
        GroupInfo groupInfo = new GroupInfo("1", Collections.singletonList(streamInfo));
        FlinkSqlParser parser = FlinkSqlParser.getInstance(tableEnv, groupInfo);
        ParseResult result = parser.parse();
        Assert.assertTrue(result.tryExecute());
    }
Test left temporal join for extract is mysql {@link MySqlExtractNode}, {@link RedisExtractNode}
and load is mysql {@link MySqlLoadNode}

@throws Exception The exception may be thrown when executing
inlong-sort/sort-core/src/test/java/org/apache/inlong/sort/parser/RedisTemporalJoinRelationSqlParseTest.java