Hi,

你是拿java写的udaf和pandas udaf做性能对比的吗,你是怎么测试的?你是在哪种场景下使用的pandas
udaf?还有就是你用了to_pandas就是sink了,瓶颈就是在这,这玩意儿一般用在debug或者写it用的,不会拿来做性能测试的sink和上生产用的。

Best,
Xingbo

xiaoyue <18242988...@163.com> 于2021年3月1日周一 上午10:34写道:

> Hi, Xingbo
>     非常感谢您的回复,转成pandas是想利用pandas中的矩阵计算方法,
>     项目需求,利用flink计算并将结果直接反馈给前端,所以应该是有source,无sink的过程,
>     也尝试过定义pandas类型的udaf计算,将聚合结果返回,执行时间并未有太大变化。
>
>     所以,想请问一下,对于刚说的那种业务情况,有合适的执行建议么?保证效率的情况下,利用pandas or numpy中的矩阵计算,非常感谢~!
>
>
>
>
>
>
>
> 在 2021-03-01 09:54:49,"Xingbo Huang" <hxbks...@gmail.com> 写道:
> >Hi,
> >
>
> >差别在于你用了to_pandas(),这个性能慢(这个需要把数据都collect回来到客户端,然后构造一个python的DataFrame,所以慢)。to_pandas一般都是拿来调试用的,很方便,但是性能不行,如果你对性能有要求,你换个sink就行了。
> >
> >Best
> >Xingbo
> >
> >xiaoyue <18242988...@163.com> 于2021年2月26日周五 下午12:38写道:
> >
> >> 不知道大家有没有遇到这个问题,流环境中链接Mysql数据库,利用DDL定义两个数据源表 source1, source2.
> >>  sql = "SELECT ID, NAME, IP, PHONE FROM source1 JOIN source2 ON
> source1.ID
> >> = source2.ID WHERE ID = '123456'  AND DATE BETWEEN '20160701' AND
> >> '20170307'"
> >> # 获取Query结果
> >>     query_table = env.sql_query(sql)
> >>     query_table.to_pandas()
> >> 相同的处理过程,python和java的处理速度差很多,请问什么原因导致的呢?
> >> 由于python只是封装了一下flink的接口,所以会是GIL的影响么?
> >> 蹲一个大佬的解答?也欢迎遇到同样问题的小伙伴讨论,thx !
> >>
> >>
>

Reply via email to