private Node buildRedisExtractNode(String id, RedisCommand redisCommand, String additionalKey) {
        List<FieldInfo> fields = Arrays.asList(new FieldInfo("k", new StringFormatInfo()),
                new FieldInfo("v", new StringFormatInfo()));
        if (redisCommand == RedisCommand.ZREVRANK) {
            fields.get(1).setFormatInfo(new LongFormatInfo());
        } else if (redisCommand == RedisCommand.ZSCORE) {
            fields.get(1).setFormatInfo(new DoubleFormatInfo());
        }
        return new RedisExtractNode(id, id, fields, null, null, null,
                RedisMode.STANDALONE, redisCommand, null, null, null,
                "localhost", 6379, "inlong", additionalKey, null, null,
                null, null, null, null,
                new LookupOptions(10L, 10000L, 1, false));
    }
Test for {@link RedisExtractNode} and temporal join {@link FlinkSqlParser}
inlong-sort/sort-core/src/test/java/org/apache/inlong/sort/parser/RedisTemporalJoinRelationSqlParseTest.java