Setup-pyflink-virtual-env.sh腳本會自動安裝miniconda並在當前目錄下創建虛擬環境文件夾venv,然後自動安裝apache-flink模塊並將虛擬環境壓縮到venv.zip中。
Pyflink腳本開發請參考官方文檔v1.11。
Pyflink正處於快速發展階段。每壹次版本更新都會增加很多新功能,同時也會取消老功能。因此,確保開發過程中引用的文檔與pyflink的本地版本壹致非常重要。
flink中的Jar包是connector的擴展,它允許您在Flink腳本中連接和使用各種數據存儲工具,包括:
默認情況下,Pyflink支持有限數量的jar包。如果有特殊需求(比如在kafka中消費json格式的數據),需要手動指定腳本所依賴的jar包所在的路徑。
有三種已知的方法來指定jar包依賴關系。
在腳本中完成TableEnvironment的初始化後,添加以下腳本來指定jar包的路徑(使用多個jar包的路徑;分開了)。
請註意,本地環境的jar包路徑可能與在線環境的不同,因此您需要在每次在線提交時將腳本中的路徑修改為相應的路徑。
找到pyflink模塊的安裝路徑和對應的lib目錄。
然後使用cp命令將jar包復制到lib目錄。
這種方法是壹勞永逸的,比較適合本地發展。
該方法不適合本地開發,但用於指定jar包提交到集群時的路徑。但是,為了系統地介紹指定jar包依賴的方式,這裏介紹壹下。
該命令如下所示:
通過-j參數指定壹個jar包路徑,多個jar包使用多個-j。
Flink支持使用local-singleJVM模式進行本地測試,即只需執行Python xxxx.py命令,pyflink就會默認啟動壹個local-singleJVM Flink環境來執行作業。
在運行過程中,可以啟動壹個新的終端,輸入jps查看java進程。