赞
踩
在分布式大数据计算引擎这个领域,现在最常用的Apache Spark 早已支持 python语言编写,而且对ML(机器学习)和DM(数据挖掘)也都有api的支持,而作为第三代计算引擎的flink, 从 1.9.0 版本开始增加了对 Python 的支持(PyFlink),在Flink 1.10 中,PyFlink 添加了对 Python UDFs(自定义函数) 的支持,可以在 Table API/SQL 中注册并使用自定义函数,而从Flink 1.11开始还支持在 Windows 上本地运行 PyFlink 作业,所以可以在 Windows 上开发和调试 PyFlink 作业
Pyflink的安装十分之简单
$ python3 --version
# the version printed here must be 3.6, 3.7 or 3.8
ls
命令来找出系统中可用的 Python 二进制可执行文件:$ ls /usr/bin/python*
python
指向您的python3
解释器ln -s /usr/bin/python3 python
$ python3 -m pip install apache-flink
这里我们选择 Pycharm IDE 来进行windows Pyflink 开发
PyCharm -> Preferences -> Project Interpreter
记住选择的python版本一定要是3.6、3.7 或 3.8
安装Pyflink
进入到终端界面
先看看 python 版本
然后安装 Pyflink
最终完成之后你可以在 site-packages
下面找的 pyflink
目录,如下
Hello World 示例
新建一个.py文件输入以下代码
#!/usr/bin/env python38 #-*- coding:utf-8 -*- from pyflink.datastream import StreamExecutionEnvironment from pyflink.table import EnvironmentSettings, StreamTableEnvironment def hello_world(): """ 从随机Source读取数据,然后直接利用PrintSink输出。 """ settings = EnvironmentSettings.new_instance().in_streaming_mode().use_blink_planner().build() env = StreamExecutionEnvironment.get_execution_environment() t_env = StreamTableEnvironment.create(stream_execution_environment=env, environment_settings=settings) source_ddl = """ CREATE TABLE random_source ( f_sequence INT, f_random INT, f_random_str STRING ) WITH ( 'connector' = 'datagen', 'rows-per-second'='5', 'fields.f_sequence.kind'='sequence', 'fields.f_sequence.start'='1', 'fields.f_sequence.end'='1000', 'fields.f_random.min'='1', 'fields.f_random.max'='1000', 'fields.f_random_str.length'='10' ) """ sink_ddl = """ CREATE TABLE print_sink ( f_sequence INT, f_random INT, f_random_str STRING ) WITH ( 'connector' = 'print' ) """ # 注册source和sink t_env.execute_sql(source_ddl) t_env.execute_sql(sink_ddl) # 数据提取 tab = t_env.from_path("random_source") # 这里我们暂时先使用 标注了 deprecated 的API, 因为新的异步提交测试有待改进... tab.execute_insert("print_sink").wait() # 执行作业 t_env.execute_sql("Flink Hello World") if __name__ == '__main__': hello_world()
结果如下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。