You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by Peihui He <pe...@gmail.com> on 2020/08/12 07:03:14 UTC

flink 1.10.1 sql limit 不生效

Hi all,

用zeppelin执行sql的时候发现用了 LEFT JOIN LATERAL TABLE 时候 limit 不生效
sql 类似下面:
select a, b, c, t from tb  LEFT JOIN LATERAL TABLE (Tf(a)) as T(c, d, e) ON
TRUE  order by t desc limit 10

如果select 结果中不包括c的化,就正常了

请问这个是什么问题呢?sql是写的不对么?

Best Wishes.

Re: flink 1.10.1 sql limit 不生效

Posted by Benchao Li <li...@apache.org>.
我有点迷惑了😂

1. 所以你现在的问题得到了解决了么?
2. 我看你最开始写的那个SQL里面并没有window呀,为啥后面又说用到了TUMBLE_START?


Peihui He <pe...@gmail.com> 于2020年8月12日周三 下午3:40写道:

> Hi BenChao
>
> SQL是流模式下执行的,看着不生效的表现就是显示的数量超过limit的数量。
> order by TUMBLE_START desc 好像不是预期的结果
>
> 这个是需要给 TUMBLE_START 得到的timestamp 转为 long么?
>
> Best Wishes.
>
> Benchao Li <li...@apache.org> 于2020年8月12日周三 下午3:12写道:
>
> > 你这个SQL是在流式还是批式模式下执行的呢?limit不生效的表现是什么呢?
> >
> > Peihui He <pe...@gmail.com> 于2020年8月12日周三 下午3:03写道:
> >
> > > Hi all,
> > >
> > > 用zeppelin执行sql的时候发现用了 LEFT JOIN LATERAL TABLE 时候 limit 不生效
> > > sql 类似下面:
> > > select a, b, c, t from tb  LEFT JOIN LATERAL TABLE (Tf(a)) as T(c, d,
> e)
> > ON
> > > TRUE  order by t desc limit 10
> > >
> > > 如果select 结果中不包括c的化,就正常了
> > >
> > > 请问这个是什么问题呢?sql是写的不对么?
> > >
> > > Best Wishes.
> > >
> >
> >
> > --
> >
> > Best,
> > Benchao Li
> >
>


-- 

Best,
Benchao Li

Re: flink 1.10.1 sql limit 不生效

Posted by Peihui He <pe...@gmail.com>.
[image: image.png]

order by TUMBLE_START  结果如上图

Peihui He <pe...@gmail.com> 于2020年8月12日周三 下午3:40写道:

> Hi BenChao
>
> SQL是流模式下执行的,看着不生效的表现就是显示的数量超过limit的数量。
> order by TUMBLE_START desc 好像不是预期的结果
>
> 这个是需要给 TUMBLE_START 得到的timestamp 转为 long么?
>
> Best Wishes.
>
> Benchao Li <li...@apache.org> 于2020年8月12日周三 下午3:12写道:
>
>> 你这个SQL是在流式还是批式模式下执行的呢?limit不生效的表现是什么呢?
>>
>> Peihui He <pe...@gmail.com> 于2020年8月12日周三 下午3:03写道:
>>
>> > Hi all,
>> >
>> > 用zeppelin执行sql的时候发现用了 LEFT JOIN LATERAL TABLE 时候 limit 不生效
>> > sql 类似下面:
>> > select a, b, c, t from tb  LEFT JOIN LATERAL TABLE (Tf(a)) as T(c, d,
>> e) ON
>> > TRUE  order by t desc limit 10
>> >
>> > 如果select 结果中不包括c的化,就正常了
>> >
>> > 请问这个是什么问题呢?sql是写的不对么?
>> >
>> > Best Wishes.
>> >
>>
>>
>> --
>>
>> Best,
>> Benchao Li
>>
>

Re: flink 1.10.1 sql limit 不生效

Posted by Peihui He <pe...@gmail.com>.
Hi BenChao

SQL是流模式下执行的,看着不生效的表现就是显示的数量超过limit的数量。
order by TUMBLE_START desc 好像不是预期的结果

这个是需要给 TUMBLE_START 得到的timestamp 转为 long么?

Best Wishes.

Benchao Li <li...@apache.org> 于2020年8月12日周三 下午3:12写道:

> 你这个SQL是在流式还是批式模式下执行的呢?limit不生效的表现是什么呢?
>
> Peihui He <pe...@gmail.com> 于2020年8月12日周三 下午3:03写道:
>
> > Hi all,
> >
> > 用zeppelin执行sql的时候发现用了 LEFT JOIN LATERAL TABLE 时候 limit 不生效
> > sql 类似下面:
> > select a, b, c, t from tb  LEFT JOIN LATERAL TABLE (Tf(a)) as T(c, d, e)
> ON
> > TRUE  order by t desc limit 10
> >
> > 如果select 结果中不包括c的化,就正常了
> >
> > 请问这个是什么问题呢?sql是写的不对么?
> >
> > Best Wishes.
> >
>
>
> --
>
> Best,
> Benchao Li
>

Re: flink 1.10.1 sql limit 不生效

Posted by Peihui He <pe...@gmail.com>.
Hi BenChao

发现问题了,是因为select 的字段中包含了array<Row>,导致数据显示的比实际limit数据要多

Best Wishes.

Benchao Li <li...@apache.org> 于2020年8月12日周三 下午3:12写道:

> 你这个SQL是在流式还是批式模式下执行的呢?limit不生效的表现是什么呢?
>
> Peihui He <pe...@gmail.com> 于2020年8月12日周三 下午3:03写道:
>
> > Hi all,
> >
> > 用zeppelin执行sql的时候发现用了 LEFT JOIN LATERAL TABLE 时候 limit 不生效
> > sql 类似下面:
> > select a, b, c, t from tb  LEFT JOIN LATERAL TABLE (Tf(a)) as T(c, d, e)
> ON
> > TRUE  order by t desc limit 10
> >
> > 如果select 结果中不包括c的化,就正常了
> >
> > 请问这个是什么问题呢?sql是写的不对么?
> >
> > Best Wishes.
> >
>
>
> --
>
> Best,
> Benchao Li
>

Re: flink 1.10.1 sql limit 不生效

Posted by Benchao Li <li...@apache.org>.
你这个SQL是在流式还是批式模式下执行的呢?limit不生效的表现是什么呢?

Peihui He <pe...@gmail.com> 于2020年8月12日周三 下午3:03写道:

> Hi all,
>
> 用zeppelin执行sql的时候发现用了 LEFT JOIN LATERAL TABLE 时候 limit 不生效
> sql 类似下面:
> select a, b, c, t from tb  LEFT JOIN LATERAL TABLE (Tf(a)) as T(c, d, e) ON
> TRUE  order by t desc limit 10
>
> 如果select 结果中不包括c的化,就正常了
>
> 请问这个是什么问题呢?sql是写的不对么?
>
> Best Wishes.
>


-- 

Best,
Benchao Li

Re: flink 1.10.1 sql limit 不生效

Posted by Peihui He <pe...@gmail.com>.
应该是我这边sql问题,我这边在看看,打扰大家了

Peihui He <pe...@gmail.com> 于2020年8月12日周三 下午3:03写道:

> Hi all,
>
> 用zeppelin执行sql的时候发现用了 LEFT JOIN LATERAL TABLE 时候 limit 不生效
> sql 类似下面:
> select a, b, c, t from tb  LEFT JOIN LATERAL TABLE (Tf(a)) as T(c, d, e)
> ON TRUE  order by t desc limit 10
>
> 如果select 结果中不包括c的化,就正常了
>
> 请问这个是什么问题呢?sql是写的不对么?
>
> Best Wishes.
>