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.
>