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 徐州州 <25...@qq.com> on 2021/01/23 02:48:20 UTC

公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。

请教各位大佬一个业务问题,(当天日报业务)版本1:我可以通过拒收时间直接拿到订单主表当天的拒收订单和payAmont金额,版本2:现在公司订单主表重做,拒收订单和payAmont被拆分出两张表,Order_reject和Order_money,现在我的问题是就算我可以从(拒收订单表)中通过时间拿到当天拒收订单,但是PayAmont无法通过时间在Order_money表拿到,PayAmont是在下单的时候才会生成,这样我当天拒收业务都要扫描全量的order_money表拿到对应的PayAmont金额字段,有什么好的处理方法吗 ?我目前的处理方法是强行读取Order_money的createTime-30day来,尽可能的让拒收订单找到对应的payAmont字段,不只是只拆分出一张order_money还有order_extend还有好几张表,我是做数仓的,我就没见过这么干的。强行把度量值字段拆分出来。请各位大神支个招。

回复: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。

Posted by 徐州州 <25...@qq.com>.
=_= 我再试试其他方法,thank you!



------------------&nbsp;原始邮件&nbsp;------------------
发件人: "yang nick"<bdnickyang@gmail.com&gt;; 
发送时间: 2021年1月23日(星期六) 中午11:33
收件人: "user-zh"<user-zh@flink.apache.org&gt;; 
主题: Re: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。



我感觉你这个用实时很难做,涉及到状态更新的无限流,需要配置 state ttl

徐州州 <25977210@qq.com&gt; 于2021年1月23日周六 上午11:23写道:

&gt;
&gt; 我遇到的难题是,拒收订单想拿到payAment字段必须扫描全量的order_money表。order_money是下单时候才会产生,我拒收订单根本不知道它的下单时间根本不知道怎么拿,而且order_money没有任何标记,我全量扫描money表程序OOM。我的数据是通过Canal监控过来的,我需要写flink-sql来进行join。
&gt;
&gt;
&gt;
&gt;
&gt; ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
&gt; 发件人: "yang nick"<bdnickyang@gmail.com&amp;gt;;
&gt; 发送时间: 2021年1月23日(星期六) 中午11:16
&gt; 收件人: "user-zh"<user-zh@flink.apache.org&amp;gt;;
&gt; 主题: Re: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。
&gt;
&gt;
&gt;
&gt; 我觉的既然是做数仓,这里没啥好纠结的,数据已经在数仓里面了,做成宽表就行了
&gt;
&gt; 徐州州 <25977210@qq.com&amp;gt; 于2021年1月23日周六 上午11:11写道:
&gt;
&gt; &amp;gt;
&gt; &amp;gt;
&gt; 我起初也有这个想法,但是他们业务告诉我,order_reject表是单独存在的。拒收单子只会在order_reject出现,而order_money只在它下单的时候写入,拒收订单数据过来order_money不会有任何变化,所以我即使拿到每天的拒收订单去join也是要读取全量order_money。
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt; ------------------&amp;amp;nbsp;原始邮件&amp;amp;nbsp;------------------
&gt; &amp;gt; 发件人: "yang nick"<bdnickyang@gmail.com&amp;amp;gt;;
&gt; &amp;gt; 发送时间: 2021年1月23日(星期六) 中午11:04
&gt; &amp;gt; 收件人: "user-zh"<user-zh@flink.apache.org&amp;amp;gt;;
&gt; &amp;gt; 主题: Re: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt; 把拆开的表在join起来嘛
&gt; &amp;gt;
&gt; &amp;gt; 徐州州 <25977210@qq.com&amp;amp;gt; 于2021年1月23日周六 上午10:48写道:
&gt; &amp;gt;
&gt; &amp;gt; &amp;amp;gt;
&gt; &amp;gt;
&gt; 请教各位大佬一个业务问题,(当天日报业务)版本1:我可以通过拒收时间直接拿到订单主表当天的拒收订单和payAmont金额,版本2:现在公司订单主表重做,拒收订单和payAmont被拆分出两张表,Order_reject和Order_money,现在我的问题是就算我可以从(拒收订单表)中通过时间拿到当天拒收订单,但是PayAmont无法通过时间在Order_money表拿到,PayAmont是在下单的时候才会生成,这样我当天拒收业务都要扫描全量的order_money表拿到对应的PayAmont金额字段,有什么好的处理方法吗
&gt; &amp;gt; &amp;amp;gt;
&gt; &amp;gt;
&gt; ?我目前的处理方法是强行读取Order_money的createTime-30day来,尽可能的让拒收订单找到对应的payAmont字段,不只是只拆分出一张order_money还有order_extend还有好几张表,我是做数仓的,我就没见过这么干的。强行把度量值字段拆分出来。请各位大神支个招。

Re: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。

Posted by yang nick <bd...@gmail.com>.
我感觉你这个用实时很难做,涉及到状态更新的无限流,需要配置 state ttl

徐州州 <25...@qq.com> 于2021年1月23日周六 上午11:23写道:

>
> 我遇到的难题是,拒收订单想拿到payAment字段必须扫描全量的order_money表。order_money是下单时候才会产生,我拒收订单根本不知道它的下单时间根本不知道怎么拿,而且order_money没有任何标记,我全量扫描money表程序OOM。我的数据是通过Canal监控过来的,我需要写flink-sql来进行join。
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人: "yang nick"<bdnickyang@gmail.com&gt;;
> 发送时间: 2021年1月23日(星期六) 中午11:16
> 收件人: "user-zh"<user-zh@flink.apache.org&gt;;
> 主题: Re: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。
>
>
>
> 我觉的既然是做数仓,这里没啥好纠结的,数据已经在数仓里面了,做成宽表就行了
>
> 徐州州 <25977210@qq.com&gt; 于2021年1月23日周六 上午11:11写道:
>
> &gt;
> &gt;
> 我起初也有这个想法,但是他们业务告诉我,order_reject表是单独存在的。拒收单子只会在order_reject出现,而order_money只在它下单的时候写入,拒收订单数据过来order_money不会有任何变化,所以我即使拿到每天的拒收订单去join也是要读取全量order_money。
> &gt;
> &gt;
> &gt;
> &gt;
> &gt; ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
> &gt; 发件人: "yang nick"<bdnickyang@gmail.com&amp;gt;;
> &gt; 发送时间: 2021年1月23日(星期六) 中午11:04
> &gt; 收件人: "user-zh"<user-zh@flink.apache.org&amp;gt;;
> &gt; 主题: Re: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。
> &gt;
> &gt;
> &gt;
> &gt; 把拆开的表在join起来嘛
> &gt;
> &gt; 徐州州 <25977210@qq.com&amp;gt; 于2021年1月23日周六 上午10:48写道:
> &gt;
> &gt; &amp;gt;
> &gt;
> 请教各位大佬一个业务问题,(当天日报业务)版本1:我可以通过拒收时间直接拿到订单主表当天的拒收订单和payAmont金额,版本2:现在公司订单主表重做,拒收订单和payAmont被拆分出两张表,Order_reject和Order_money,现在我的问题是就算我可以从(拒收订单表)中通过时间拿到当天拒收订单,但是PayAmont无法通过时间在Order_money表拿到,PayAmont是在下单的时候才会生成,这样我当天拒收业务都要扫描全量的order_money表拿到对应的PayAmont金额字段,有什么好的处理方法吗
> &gt; &amp;gt;
> &gt;
> ?我目前的处理方法是强行读取Order_money的createTime-30day来,尽可能的让拒收订单找到对应的payAmont字段,不只是只拆分出一张order_money还有order_extend还有好几张表,我是做数仓的,我就没见过这么干的。强行把度量值字段拆分出来。请各位大神支个招。

回复: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。

Posted by 徐州州 <25...@qq.com>.
我遇到的难题是,拒收订单想拿到payAment字段必须扫描全量的order_money表。order_money是下单时候才会产生,我拒收订单根本不知道它的下单时间根本不知道怎么拿,而且order_money没有任何标记,我全量扫描money表程序OOM。我的数据是通过Canal监控过来的,我需要写flink-sql来进行join。




------------------&nbsp;原始邮件&nbsp;------------------
发件人: "yang nick"<bdnickyang@gmail.com&gt;; 
发送时间: 2021年1月23日(星期六) 中午11:16
收件人: "user-zh"<user-zh@flink.apache.org&gt;; 
主题: Re: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。



我觉的既然是做数仓,这里没啥好纠结的,数据已经在数仓里面了,做成宽表就行了

徐州州 <25977210@qq.com&gt; 于2021年1月23日周六 上午11:11写道:

&gt;
&gt; 我起初也有这个想法,但是他们业务告诉我,order_reject表是单独存在的。拒收单子只会在order_reject出现,而order_money只在它下单的时候写入,拒收订单数据过来order_money不会有任何变化,所以我即使拿到每天的拒收订单去join也是要读取全量order_money。
&gt;
&gt;
&gt;
&gt;
&gt; ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
&gt; 发件人: "yang nick"<bdnickyang@gmail.com&amp;gt;;
&gt; 发送时间: 2021年1月23日(星期六) 中午11:04
&gt; 收件人: "user-zh"<user-zh@flink.apache.org&amp;gt;;
&gt; 主题: Re: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。
&gt;
&gt;
&gt;
&gt; 把拆开的表在join起来嘛
&gt;
&gt; 徐州州 <25977210@qq.com&amp;gt; 于2021年1月23日周六 上午10:48写道:
&gt;
&gt; &amp;gt;
&gt; 请教各位大佬一个业务问题,(当天日报业务)版本1:我可以通过拒收时间直接拿到订单主表当天的拒收订单和payAmont金额,版本2:现在公司订单主表重做,拒收订单和payAmont被拆分出两张表,Order_reject和Order_money,现在我的问题是就算我可以从(拒收订单表)中通过时间拿到当天拒收订单,但是PayAmont无法通过时间在Order_money表拿到,PayAmont是在下单的时候才会生成,这样我当天拒收业务都要扫描全量的order_money表拿到对应的PayAmont金额字段,有什么好的处理方法吗
&gt; &amp;gt;
&gt; ?我目前的处理方法是强行读取Order_money的createTime-30day来,尽可能的让拒收订单找到对应的payAmont字段,不只是只拆分出一张order_money还有order_extend还有好几张表,我是做数仓的,我就没见过这么干的。强行把度量值字段拆分出来。请各位大神支个招。

Re: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。

Posted by yang nick <bd...@gmail.com>.
我觉的既然是做数仓,这里没啥好纠结的,数据已经在数仓里面了,做成宽表就行了

徐州州 <25...@qq.com> 于2021年1月23日周六 上午11:11写道:

>
> 我起初也有这个想法,但是他们业务告诉我,order_reject表是单独存在的。拒收单子只会在order_reject出现,而order_money只在它下单的时候写入,拒收订单数据过来order_money不会有任何变化,所以我即使拿到每天的拒收订单去join也是要读取全量order_money。
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人: "yang nick"<bdnickyang@gmail.com&gt;;
> 发送时间: 2021年1月23日(星期六) 中午11:04
> 收件人: "user-zh"<user-zh@flink.apache.org&gt;;
> 主题: Re: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。
>
>
>
> 把拆开的表在join起来嘛
>
> 徐州州 <25977210@qq.com&gt; 于2021年1月23日周六 上午10:48写道:
>
> &gt;
> 请教各位大佬一个业务问题,(当天日报业务)版本1:我可以通过拒收时间直接拿到订单主表当天的拒收订单和payAmont金额,版本2:现在公司订单主表重做,拒收订单和payAmont被拆分出两张表,Order_reject和Order_money,现在我的问题是就算我可以从(拒收订单表)中通过时间拿到当天拒收订单,但是PayAmont无法通过时间在Order_money表拿到,PayAmont是在下单的时候才会生成,这样我当天拒收业务都要扫描全量的order_money表拿到对应的PayAmont金额字段,有什么好的处理方法吗
> &gt;
> ?我目前的处理方法是强行读取Order_money的createTime-30day来,尽可能的让拒收订单找到对应的payAmont字段,不只是只拆分出一张order_money还有order_extend还有好几张表,我是做数仓的,我就没见过这么干的。强行把度量值字段拆分出来。请各位大神支个招。

回复: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。

Posted by 徐州州 <25...@qq.com>.
我起初也有这个想法,但是他们业务告诉我,order_reject表是单独存在的。拒收单子只会在order_reject出现,而order_money只在它下单的时候写入,拒收订单数据过来order_money不会有任何变化,所以我即使拿到每天的拒收订单去join也是要读取全量order_money。




------------------&nbsp;原始邮件&nbsp;------------------
发件人: "yang nick"<bdnickyang@gmail.com&gt;; 
发送时间: 2021年1月23日(星期六) 中午11:04
收件人: "user-zh"<user-zh@flink.apache.org&gt;; 
主题: Re: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。



把拆开的表在join起来嘛

徐州州 <25977210@qq.com&gt; 于2021年1月23日周六 上午10:48写道:

&gt; 请教各位大佬一个业务问题,(当天日报业务)版本1:我可以通过拒收时间直接拿到订单主表当天的拒收订单和payAmont金额,版本2:现在公司订单主表重做,拒收订单和payAmont被拆分出两张表,Order_reject和Order_money,现在我的问题是就算我可以从(拒收订单表)中通过时间拿到当天拒收订单,但是PayAmont无法通过时间在Order_money表拿到,PayAmont是在下单的时候才会生成,这样我当天拒收业务都要扫描全量的order_money表拿到对应的PayAmont金额字段,有什么好的处理方法吗
&gt; ?我目前的处理方法是强行读取Order_money的createTime-30day来,尽可能的让拒收订单找到对应的payAmont字段,不只是只拆分出一张order_money还有order_extend还有好几张表,我是做数仓的,我就没见过这么干的。强行把度量值字段拆分出来。请各位大神支个招。

Re: 公司强行拆分Orders主表,遇到事实表join请各位大神们支个招。

Posted by yang nick <bd...@gmail.com>.
把拆开的表在join起来嘛

徐州州 <25...@qq.com> 于2021年1月23日周六 上午10:48写道:

> 请教各位大佬一个业务问题,(当天日报业务)版本1:我可以通过拒收时间直接拿到订单主表当天的拒收订单和payAmont金额,版本2:现在公司订单主表重做,拒收订单和payAmont被拆分出两张表,Order_reject和Order_money,现在我的问题是就算我可以从(拒收订单表)中通过时间拿到当天拒收订单,但是PayAmont无法通过时间在Order_money表拿到,PayAmont是在下单的时候才会生成,这样我当天拒收业务都要扫描全量的order_money表拿到对应的PayAmont金额字段,有什么好的处理方法吗
> ?我目前的处理方法是强行读取Order_money的createTime-30day来,尽可能的让拒收订单找到对应的payAmont字段,不只是只拆分出一张order_money还有order_extend还有好几张表,我是做数仓的,我就没见过这么干的。强行把度量值字段拆分出来。请各位大神支个招。