Hi kylin team,

Single problem, column with type Date values '2018-02-02' in hive. Query in 
kylin sight is okay return value with '2018-02-02'.
But when I used jdbc it returns '2018-02-01'.

Apparently it is a problem with timezone.
1. Check the configuration first
user.timezone = Asia/Shanghai
seems no problem
2. Check client
I also add code "System.setProperty("user.timezone","GMT +08");" to enforce  
the same timezone with server
3. Follow the code
after request query, I check the content of response, still '2018-02-02'
after convert resultset, value is still '2018-02-02'
and finally rs.getDate("")

public Date getDate(Calendar calendar) throws SQLException {
    Date date = (Date)this.getObject();
    if (date == null) {
        return null;
    } else {
        if (calendar != null) {
            long v = date.getTime();
            v -= (long)calendar.getTimeZone().getOffset(v);
            date = new Date(v);

        return date;

localCalendar of cource with timezone GMT+8, so after the calculation of offset 
 '2018-02-02' turn out to be '2018-02-01'

So I am confused, according to the above if I set locale to UTC I will get the 
right value, but it is unreasonable.

Is there any configuration  or some params for jdbc url I missed?

One thing should be mentioned, server of kylin was set UTC before, I changed 
locale to Asia/Shanghai and restart kylin, refresh the cube. I don't know if 
that has impact?

Thank you

Reply via email to