Re: pyflink数据查询
可以用zeppelin的z.show 来查询job结果。这边有pyflink在zeppelin上的入门教程 https://www.bilibili.com/video/BV1Te411W73b?p=20 可以加入钉钉群讨论:30022475 jack 于2020年6月9日周二 下午5:28写道: > 问题请教: > 描述: pyflink 从source通过sql对数据进行查询聚合等操作 > 不输出到sink中,而是可以直接作为结果,我这边可以通过开发web接口直接查询这个结果,不必去sink中进行查询。 > > flink能否实现这样的方式? > 感谢 > -- Best Regards Jeff Zhang
Re: pyflink数据查询
你好 Jack, > pyflink 从source通过sql对数据进行查询聚合等操作 不输出到sink中,而是可以直接作为结果, 我这边可以通过开发web接口直接查询这个结果,不必去sink中进行查询 我理解你上面说的 【直接作为结果】+ 【web接口查询】已经包含了“sink”的动作。只是这个“sink” 是这样的实现而已。对于您的场景: 1. 如果您想直接将结果不落地(不存储)执行推送的 web页面,可以自定义一个Web Socket的Sink。 2. 如果您不是想直接推送到web页面,而是通过查询拉取结果,那么您上面说的 【直接作为结果】这句话就要描述一下,您想怎样作为结果?我理解是要落盘的(持久化),所以这里持久化本质也是一个sink。Flink可以支持很多中sink,比如:数据库,文件系统,消息队列等等。您可以参考官方文档: https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/table/connect.html 如果上面回复 没有解决你的问题,欢迎随时反馈~~ Best, Jincheng Jeff Zhang 于2020年6月9日周二 下午5:39写道: > 可以用zeppelin的z.show 来查询job结果。这边有pyflink在zeppelin上的入门教程 > https://www.bilibili.com/video/BV1Te411W73b?p=20 > 可以加入钉钉群讨论:30022475 > > > > jack 于2020年6月9日周二 下午5:28写道: > >> 问题请教: >> 描述: pyflink 从source通过sql对数据进行查询聚合等操作 >> 不输出到sink中,而是可以直接作为结果,我这边可以通过开发web接口直接查询这个结果,不必去sink中进行查询。 >> >> flink能否实现这样的方式? >> 感谢 >> > > > -- > Best Regards > > Jeff Zhang >
Re: pyflink数据查询
hi jack,jincheng Flink 1.11 支持直接将select的结果collect到本地,例如: CloseableIterator it = tEnv.executeSql("select ...").collect(); while(it.hasNext()) { it.next() } 但是 pyflink 还没有引入 collect() 接口。(后续会完善?@jincheng) 但是1.11的TableResult#collect实现对流的query支持不完整(只支持append only的query),master已经完整支持。 可以参照 jincheng 的意见,(或者结合 TableResult#collect 的实现),完成一个自己的 sink 也可以。 Best, Godfrey jincheng sun 于2020年6月15日周一 下午4:14写道: > 你好 Jack, > > > pyflink 从source通过sql对数据进行查询聚合等操作 不输出到sink中,而是可以直接作为结果, > 我这边可以通过开发web接口直接查询这个结果,不必去sink中进行查询 > > 我理解你上面说的 【直接作为结果】+ 【web接口查询】已经包含了“sink”的动作。只是这个“sink” 是这样的实现而已。对于您的场景: > 1. 如果您想直接将结果不落地(不存储)执行推送的 web页面,可以自定义一个Web Socket的Sink。 > 2. 如果您不是想直接推送到web页面,而是通过查询拉取结果,那么您上面说的 > 【直接作为结果】这句话就要描述一下,您想怎样作为结果?我理解是要落盘的(持久化),所以这里持久化本质也是一个sink。Flink可以支持很多中sink,比如:数据库,文件系统,消息队列等等。您可以参考官方文档: > > https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/table/connect.html > > 如果上面回复 没有解决你的问题,欢迎随时反馈~~ > > Best, > Jincheng > > > > Jeff Zhang 于2020年6月9日周二 下午5:39写道: > >> 可以用zeppelin的z.show 来查询job结果。这边有pyflink在zeppelin上的入门教程 >> https://www.bilibili.com/video/BV1Te411W73b?p=20 >> 可以加入钉钉群讨论:30022475 >> >> >> >> jack 于2020年6月9日周二 下午5:28写道: >> >>> 问题请教: >>> 描述: pyflink 从source通过sql对数据进行查询聚合等操作 >>> 不输出到sink中,而是可以直接作为结果,我这边可以通过开发web接口直接查询这个结果,不必去sink中进行查询。 >>> >>> flink能否实现这样的方式? >>> 感谢 >>> >> >> >> -- >> Best Regards >> >> Jeff Zhang >> >
Re: pyflink数据查询
hi 感谢您的建议,我这边尝试一下自定义实现sink的方式。 Best, Jack 在 2020-06-15 18:08:15,"godfrey he" 写道: hi jack,jincheng Flink 1.11 支持直接将select的结果collect到本地,例如: CloseableIterator it = tEnv.executeSql("select ...").collect(); while(it.hasNext()) { it.next() } 但是 pyflink 还没有引入 collect() 接口。(后续会完善?@jincheng) 但是1.11的TableResult#collect实现对流的query支持不完整(只支持append only的query),master已经完整支持。 可以参照 jincheng 的意见,(或者结合 TableResult#collect 的实现),完成一个自己的 sink 也可以。 Best, Godfrey jincheng sun 于2020年6月15日周一 下午4:14写道: 你好 Jack, > pyflink 从source通过sql对数据进行查询聚合等操作 > 不输出到sink中,而是可以直接作为结果,我这边可以通过开发web接口直接查询这个结果,不必去sink中进行查询 我理解你上面说的 【直接作为结果】+ 【web接口查询】已经包含了“sink”的动作。只是这个“sink” 是这样的实现而已。对于您的场景: 1. 如果您想直接将结果不落地(不存储)执行推送的 web页面,可以自定义一个Web Socket的Sink。 2. 如果您不是想直接推送到web页面,而是通过查询拉取结果,那么您上面说的 【直接作为结果】这句话就要描述一下,您想怎样作为结果?我理解是要落盘的(持久化),所以这里持久化本质也是一个sink。Flink可以支持很多中sink,比如:数据库,文件系统,消息队列等等。您可以参考官方文档: https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/table/connect.html 如果上面回复 没有解决你的问题,欢迎随时反馈~~ Best, Jincheng Jeff Zhang 于2020年6月9日周二 下午5:39写道: 可以用zeppelin的z.show 来查询job结果。这边有pyflink在zeppelin上的入门教程 https://www.bilibili.com/video/BV1Te411W73b?p=20 可以加入钉钉群讨论:30022475 jack 于2020年6月9日周二 下午5:28写道: 问题请教: 描述: pyflink 从source通过sql对数据进行查询聚合等操作 不输出到sink中,而是可以直接作为结果,我这边可以通过开发web接口直接查询这个结果,不必去sink中进行查询。 flink能否实现这样的方式? 感谢 -- Best Regards Jeff Zhang