溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Apache Beam Java SDK怎么配置

發(fā)布時(shí)間:2021-12-23 17:44:18 來源:億速云 閱讀:157 作者:iii 欄目:云計(jì)算

這篇文章主要介紹“Apache Beam Java SDK怎么配置”,在日常操作中,相信很多人在Apache Beam Java SDK怎么配置問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Apache Beam Java SDK怎么配置”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

  • 設(shè)置開發(fā)環(huán)境

  1. 下載并安裝Java 開發(fā)工具包(JDK)1.7或更高版本。 驗(yàn)證是否已設(shè)置JAVA_HOME環(huán)境變量并指向JDK 安裝目錄。

  2. 按照指定操作系統(tǒng)的Maven安裝指南,下載并安裝 Apache Maven。

獲取WordCount代碼

獲取WordCount pipeline 拷貝的最簡單方法是使用以下命令生成一個(gè)簡單的Maven項(xiàng)目,其中包含Beam的WordCount示例,并針對最新的Beam版本進(jìn)行構(gòu)建:

 

1

2

3

4

5

6

7

8

9

10

 

$ mvn archetype:generate \

-DarchetypeRepository=https://repository.apache.org/content/groups/snapshots \

-DarchetypeGroupId=org.apache.beam \

-DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \

-DarchetypeVersion=LATEST \

-DgroupId=org.example \

-DartifactId=word-count-beam \

-Dversion="0.1" \

-Dpackage=org.apache.beam.examples \

-DinteractiveMode=false

Maven 將創(chuàng)建目錄word-count-beam,其中包含一個(gè)簡單的pom.xml和一系列示例pipelines,用于文本文件中的字進(jìn)行計(jì)數(shù)。

 

1

2

3

4

5

6

7

8

 

$ cd word-count-beam/

$ ls

pom.xml src

$ ls src/main/java/org/apache/beam/examples/

DebuggingWordCount.java WindowedWordCount.java common

MinimalWordCount.java WordCount.java

有關(guān)這些示例中使用的Beam概念的詳細(xì)介紹,請參見WordCount示例演練。 這里,我們只關(guān)注執(zhí)行WordCount.java。

運(yùn)行WordCount

單個(gè)Beam pipeline 可以在Beam runners上運(yùn)行,包括 ApexRunner, FlinkRunner, SparkRunner 和 DataflowRunner.。 DirectRunner是一個(gè)常用的入門指南,因?yàn)樗诒镜剡\(yùn)行,不需要特殊的設(shè)置。

在選擇要使用的runner 之后:

  1. 確保已完成任何特定于runner的設(shè)置。

  2. 構(gòu)建命令行:

    1. 使用–runner = (默認(rèn)為DirectRunner)指定特定runner

    2. 添加runner 運(yùn)行所需的選項(xiàng)

    3. 選擇runner 可以訪問的輸入文件和輸出位置。 (例如,如果正在外部集群上運(yùn)行pipeline ,則無法訪問本地文件。)

  3. 運(yùn)行你的第一個(gè)WordCount pipeline。

  4. 以Spark為例(其他示例請看官網(wǎng)文檔):

 

1

2

 

$ mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount \

-Dexec.args="--runner=SparkRunner --inputFile=pom.xml --output=counts" -Pspark-runner

檢查結(jié)果

一旦pipeline完成,你可以查看輸出。 你會注意到可能有多個(gè)輸出文件以count為前綴。 這些文件的確切數(shù)目由運(yùn)行程序決定,使其能夠靈活地執(zhí)行高效的分布式執(zhí)行。

 

1

 

$ ls counts*

當(dāng)您查看文件的內(nèi)容時(shí),您會看到它們包含唯一字詞和每個(gè)字詞的出現(xiàn)次數(shù)。 文件中的元素的順序可能不同,因?yàn)閎eam 模型通常不保證排序,以再次允許runner 優(yōu)化效率。

 

1

2

3

4

5

6

7

8

9

10

 

$ more counts*

beam: 27

SF: 1

fat: 1

job: 1

limitations: 1

require: 1

of: 11

profile: 10

...

到此,關(guān)于“Apache Beam Java SDK怎么配置”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI