TDigestExample.java

//EXAMPLE: tdigest_tutorial
//HIDE_START
package io.redis.examples;
//HIDE_END

//REMOVE_START
import java.util.List;
import org.junit.jupiter.api.Test;
import redis.clients.jedis.UnifiedJedis;

import static org.junit.jupiter.api.Assertions.assertEquals;
//REMOVE_END

public class TDigestExample {

    @Test
    public void run(){
        //HIDE_START
        UnifiedJedis jedis = new UnifiedJedis("redis://127.0.0.1:6379");
        //HIDE_END

        //REMOVE_START
        jedis.del("racer_ages");
        jedis.del("bikes:sales");
        //REMOVE_END

        //STEP_START tdig_start
        String res1 = jedis.tdigestCreate("bikes:sales", 100);
        System.out.println(res1); // >>> True

        String res2 = jedis.tdigestAdd("bikes:sales", 21);
        System.out.println(res2); // >>> OK

        String res3 = jedis.tdigestAdd("bikes:sales", 150, 95, 75, 34);
        System.out.println(res3); // >>> OK
        //STEP_END

        //REMOVE_START
        assertEquals("OK","OK");
        //REMOVE_END

        //STEP_START tdig_cdf
        String res4 = jedis.tdigestCreate("racer_ages");
        System.out.println(res4); // >>> True

        String res5 = jedis.tdigestAdd("racer_ages", 45.88,
                44.2,
                58.03,
                19.76,
                39.84,
                69.28,
                50.97,
                25.41,
                19.27,
                85.71,
                42.63);
        System.out.println(res5); // >>> OK

        List<Long> res6 = jedis.tdigestRank("racer_ages", 50);
        System.out.println(res6); // >>> [7]

        List<Long> res7 = jedis.tdigestRank("racer_ages", 50, 40);
        System.out.println(res7); // >>> [7, 4]
        //STEP_END

        //STEP_START tdig_quant
        List<Double> res8 = jedis.tdigestQuantile("racer_ages", 0.5);
        System.out.println(res8); // >>> [44.2]

        List<Double> res9 = jedis.tdigestByRank("racer_ages", 4);
        System.out.println(res9); // >>> [42.63]
        //STEP_END

        //STEP_START tdig_min
        double res10 = jedis.tdigestMin("racer_ages");
        System.out.println(res10); // >>> 19.27

        double res11 = jedis.tdigestMax("racer_ages");
        System.out.println(res11); // >>> 85.71
        //STEP_END

        //STEP_START tdig_reset
        String res12 = jedis.tdigestReset("racer_ages");
        System.out.println(res12); // >>> OK
        //STEP_END

        //HIDE_START
        jedis.close();
        //HIDE_END
    }
}