flink调用python脚本

./flink run -m localhost:8081 -py python的flink程序


[root@centos6 bin]# ./flink run -m localhost:8081 -py /root/flink/count_word.py
Job has been submitted with JobID 7a975665fbd8ff49861f99a695c80348
Program execution finished
Job with JobID 7a975665fbd8ff49861f99a695c80348 has finished.
Job Runtime: 1190 ms

[root@centos6 bin]# cat /tmp/output 
xx    2
yy    1
zz    1


[root@centos6 bin]# cat /tmp/input
xx
yy
zz
xx

[root@centos6 flink]# cat count_word.py
from pyflink.table import BatchTableEnvironment, EnvironmentSettings
from pyflink.table import DataTypes
from pyflink.table.descriptors import Schema, OldCsv, FileSystem
env_settings = EnvironmentSettings.new_instance().in_batch_mode().use_blink_planner().build()
t_env = BatchTableEnvironment.create(environment_settings=env_settings)
t_env.connect(FileSystem().path('/tmp/input')) \
    .with_format(OldCsv()
                 .field('word', DataTypes.STRING())) \
    .with_schema(Schema()
                 .field('word', DataTypes.STRING())) \
    .create_temporary_table('mySource')
 
t_env.connect(FileSystem().path('/tmp/output')) \
    .with_format(OldCsv()
                 .field_delimiter('\t')
                 .field('word', DataTypes.STRING())
                 .field('count', DataTypes.BIGINT())) \
    .with_schema(Schema()
                 .field('word', DataTypes.STRING())
                 .field('count', DataTypes.BIGINT())) \
    .create_temporary_table('mySink')
 
t_env.scan('mySource') \
    .group_by('word') \
    .select('word, count(1)') \
    .insert_into('mySink')
 
t_env.execute("python_job")
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Flink 调用 Dubbo 是指在 Flink 的应用程序中使用 Dubbo 进行远程服务调用Flink 是一个流处理框架,而 Dubbo 是一个高性能的分布式服务框架,通过将两者结合使用,可以实现在 Flink调用 Dubbo 服务的功能。 要在 Flink调用 Dubbo,需要进行以下步骤: 1. 添加 Dubbo 依赖:在 Flink 项目的 pom.xml 文件中添加 Dubbo 的相关依赖项,以确保可以使用 Dubbo 的功能。 2. 配置 Dubbo 服务:在 Flink 的配置文件中,配置 Dubbo 的注册中心和消费者相关信息,如注册中心的地址、端口等。 3. 编写 Dubbo 服务调用逻辑:在 Flink 的应用程序中,编写 Dubbo 服务的调用逻辑。可以通过 Dubbo 的接口代理,调用 Dubbo 服务提供的方法,并获取返回结果。 4. 集成 Dubbo 和 Flink:将 Dubbo 的服务调用逻辑集成到 Flink 的任务中,在需要调用 Dubbo 服务的地方执行相应的调用。 5. 运行 Flink 任务:启动 Flink 任务,让其执行包含 Dubbo 服务调用的逻辑。Flink 会将任务分发给不同的节点运行,并通过 Dubbo 进行远程调用。 需要注意的是,在 Flink调用 Dubbo 服务时,要考虑到 Dubbo 服务的网络延迟和故障处理等问题。为了提高性能和可靠性,可以进行负载均衡、容错处理和重试等操作,以确保 Dubbo 服务的可用性和稳定性。 综上所述,Flink 调用 Dubbo 是通过集成 Dubbo 的服务调用逻辑到 Flink 的应用程序中,实现在 Flink调用 Dubbo 服务的功能。这样可以实现分布式计算和分布式服务的无缝集成,提高系统的扩展性、性能和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值