當前位置:新聞中心 > 全球 > 正文
    今日看點:大數據Flink進階(五):Flink開發環境準備
    2023-03-21 12:25:10 來源: 騰訊云

    Flink開發環境準備

    學習一門新的編程語言時,往往會從"hello world"程序開始,而接觸一套新的大數據計算框架時,則一般會從WordCount案例入手,下面以大數據中最經典入門案例WordCount為例,來編寫Flink代碼,Flink底層源碼是基于Java代碼進行開發,在Flink編程中我們除了可以使用Java語言來進行編寫Flink程序外,還可以使用Scala、Python語言來進行編寫Flink程序,在后文章中我們將會主要使用Java和Scala來編寫Flink程序。下面來準備下Flink開發環境。


    (資料圖)

    一、Flink版本

    本套課程中我們采用Flink最新版本1.16.0,Flink1.16.0版本官方文檔地址:

    https://nightlies.apache.org/flink/flink-docs-release-1.16/

    二、JDK環境

    Flink核心模塊均采用Java開發,所以運行環境需要依賴JDK,Flink可以基于類UNIX 環境中運行,例如:Linux、Max OS、Windows等,在這些系統上運行Flink時都需要配置JDK環境,Flink 1.16.0版本需要JDK版本為JDK11,目前版本也支持使用JDK8,后續版本對JDK8的支持將會移除。

    考慮到Flink后期與一些大數據框架進行整合,這些大數據框架對JDK11的支持并不完善,例如:Hive3.1.3版本還不支持JDK11,所以本課程采用JDK8來開發Flink。對JDK8安裝及配置不再詳述。

    附:JDK11 下載地址如下:

    https://www.oracle.com/java/technologies/javase-jdk11-downloads.html

    三、開發工具

    我們可以選擇IntelliJ IDEA或者Eclipse作為Flink應用的開發IDE,Flink開發官方建議使用IntelliJ IDEA,因為它默認集成了Scala和Maven環境,使用更加方便,我們這門課使用IntelliJ IDEA開發工具,具體安裝步驟不再詳述。

    四、Maven環境

    通過IntelliJ IDEA進行開發Flink Application時,可以使用Maven來作為項目jar包管理工具,需要在本地安裝Maven及配置Maven的環境變量,需要注意的是,Maven版本需要使用3.0.4及以上,否則編譯或開發過程中會有問題。這里使用Maven 3.2.5版本。

    五、Scala環境

    Flink開發語言可以選擇Java、Scala、Python,如果用戶選擇使用Scala作為Flink應用開發語言,則需要安裝Scala執行環境。

    在Flink1.15之前版本,如果只是使用Flink的Java api ,對于一些沒有Scala模塊的包和表相關模塊的包需要在Maven引入對應的包中加入scala后綴,例如:flink-table-planner_2.11,后綴2.11代表的就是Scala版本。在Flink1.15.0版本后,Flink添加對opting-out(排除) Scala的支持,如果你只使用Flink的Java api,導入包也不必包含scala后綴,你可以使用任何Scala版本。如果使用Flink的Scala api,需要選擇匹配的Scala版本。

    從Flink1.7版本往后支持Scala 2.11和2.12版本,從Flink1.15.0版本后只支持Scala 2.12,不再支持Scala 2.11。Scala環境可以通過本地安裝Scala執行環境,也可以通過Maven依賴Scala-lib引入,如果本地安裝了Scala某個版本,建議在Maven中添加Scala-lib依賴。Scala2.12.8之后的版本與之前的2.12.x版本不兼容,建議使用Scala2.12.8之后版本。

    六、Hadoop環境

    Flink可以操作HDFS中的數據及基于Yarn進行資源調度,所以需要對應的Hadoop環境,Flink1.16.0版本支持的Hadoop最低版本為2.8.5,本課程中我們使用Hadoop3.3.4版本。關于Hadoop3.3.4版本搭建,后續文章會手把手進行搭建。

    關鍵詞:
    責任編輯: 梅長蘇