最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

大數(shù)據(jù)HelloWorld-Flink實(shí)現(xiàn)WordCount

 更新時(shí)間:2019年08月15日 09:19:06   作者:指尖數(shù)蟲(chóng)  
這篇文章主要介紹了大數(shù)據(jù)HelloWorld-Flink實(shí)現(xiàn)WordCount的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

所有的語(yǔ)言開(kāi)篇都是Hello Word,數(shù)據(jù)處理引擎也有Hello Word。那就是Word Count。MR,Spark,F(xiàn)link以來(lái)開(kāi)篇第一個(gè)程序都是Word Count。那么今天Flink開(kāi)始目標(biāo)就是在本地調(diào)試出Word Count。

單機(jī)安裝Flink

開(kāi)始Flink之前先在本機(jī)嘗試安裝一下Flink,當(dāng)然FLink正常情況下是部署的集群方式。作者比較窮,機(jī)器配置太低開(kāi)不了幾個(gè)虛擬機(jī)。所以只能先演示個(gè)單機(jī)的安裝。

Apache Flink需要在Java1.8+以上的環(huán)境中運(yùn)行 。

所以,先確保自己的JDK版本是1.8包含以上的。

 

Flink單機(jī)部署非常簡(jiǎn)單,只需安裝下載安裝即可。如果需要與Hadoop版本結(jié)合,那么下載相應(yīng)的Hadoop關(guān)聯(lián)版本即可。如果不與Hadoop結(jié)合就直接下載Scala版即可。我這里就直接下載了Scala2.11的相關(guān)版本。

 

點(diǎn)擊進(jìn)入Apache頁(yè)面進(jìn)行下載,大小約有283MB。

把下載下來(lái)的壓縮包進(jìn)行解壓即可。

打開(kāi)命令行直接執(zhí)行 

/bin/start-cluster.bat

進(jìn)行啟動(dòng)。 

瀏覽器打開(kāi) http://localhost:8081

至此在Windows10環(huán)境下即完成Flink的啟動(dòng)。

編寫(xiě)WordCount

因?yàn)镕link是由Scala進(jìn)行開(kāi)發(fā)的,而Scala是基于JVM的一種語(yǔ)言。所以最終也會(huì)轉(zhuǎn)換為JAVA字節(jié)碼文件,所以Flink程序可以由Java、Scala兩種語(yǔ)言都可以進(jìn)行開(kāi)發(fā)。也可以同時(shí)開(kāi)發(fā)。比如Java寫(xiě)一部分代碼,Scala寫(xiě)另一部分代碼。可以參考<Apache Flink利用Maven對(duì)Scala與Java進(jìn)行混編>。

Flink官方提供快速生成工程的兩種工具:SBT與Maven。由于作者比較熟悉Maven,( 或者說(shuō)沒(méi)用過(guò)SBT )。所以直接使用Maven快速創(chuàng)建一個(gè)工程。

Java版本

mvn archetype:generate                \
   -DarchetypeGroupId=org.apache.flink       \
   -DarchetypeArtifactId=flink-quickstart-java   \
   -DarchetypeVersion=1.8.0

Scala版本

mvn archetype:generate                \
   -DarchetypeGroupId=org.apache.flink       \
   -DarchetypeArtifactId=flink-quickstart-scala   \
   -DarchetypeVersion=1.8.0

按照提示輸入相關(guān)信息,即可生成最終的項(xiàng)目。

├── pom.xml
└── src
  └── main
    ├── resources
    │  └── log4j.properties
    └── scala/java
      └── org
        └── myorg
          └── quickstart
            ├── BatchJob.scala
            └── StreamingJob.scala

把工程導(dǎo)入到IDEA中

如果使用Scala的話,那么需要安裝Scala的插件。搜索安裝同時(shí)需要把Scala語(yǔ)言包進(jìn)行安裝。

不知道如何操作可以聯(lián)系我 微信公號(hào)<指尖數(shù)蟲(chóng)>。

package jar;

import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.common.functions.ReduceFunction;
import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.operators.DataSource;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.util.Collector;

public class BatchJob {

	public static void main(String[] args) throws Exception {
		// set up the batch execution environment
		final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
		//讀取目錄下的文件
		DataSource<String> data = env.readTextFile("/opt/Server_Packets/log/ServerLog_1_runtime.log");
		//把文件中的內(nèi)容按照空格進(jìn)行拆分為 word,1  1 是為了能夠在下面進(jìn)行計(jì)算.
		data.flatMap(new FlatMapFunction<String, Tuple2<String, Integer>>() {
			@Override
			public void flatMap(String s, Collector<Tuple2<String, Integer>> collector) throws Exception {
				for (String word : s.split(" ")){
					collector.collect(new Tuple2<>(word,1));
				}
			}
		})
		// 按照元組中的第1位進(jìn)行分組
		.groupBy(0)
		// 分組的元組的計(jì)算方式為 value +value 也就是剛才的 同樣的詞 把 1+1
		.reduce(new ReduceFunction<Tuple2<String, Integer>>() {
			@Override
			public Tuple2<String, Integer> reduce(Tuple2<String, Integer> t2, Tuple2<String, Integer> t1) throws Exception {
				return new Tuple2<>(t1.f0,t1.f1+ t2.f1);
			}
		})
		//輸出結(jié)果
		.print();
	}
}

總結(jié)

以上所述是小編給大家介紹的大數(shù)據(jù)HelloWorld-Flink實(shí)現(xiàn)WordCount,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • FFmpeg視頻處理入門(mén)教程(新手必看)

    FFmpeg視頻處理入門(mén)教程(新手必看)

    本文主要介紹了FFmpeg視頻處理入門(mén)教程,它功能強(qiáng)大,用途廣泛,是許多音頻和視頻格式的標(biāo)準(zhǔn)編碼/解碼實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • iisschlp.wsc [88,25] 屬性值無(wú)效 : progid

    iisschlp.wsc [88,25] 屬性值無(wú)效 : progid

    今天在運(yùn)行iisapp.vbs時(shí)候提示W(wǎng)indows Script Component - file://C:WINDOWSsystem32iisschlp.wsc [88,25] 屬性值無(wú)效 : progid,原來(lái)是因?yàn)榘踩O(shè)置惹的禍,以前就是因?yàn)檫@個(gè)一直沒(méi)解決
    2014-07-07
  • 網(wǎng)頁(yè)報(bào)錯(cuò)"Form?elements?must?have?labels"的處理方法

    網(wǎng)頁(yè)報(bào)錯(cuò)"Form?elements?must?have?labels"的處理方法

    這篇文章主要給大家介紹了關(guān)于網(wǎng)頁(yè)報(bào)錯(cuò)"Form?elements?must?have?labels"的處理方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-06-06
  • git?push?origin?HEAD:refs/for/master?的意思分析

    git?push?origin?HEAD:refs/for/master?的意思分析

    這篇文章主要介紹了git?push?origin?HEAD:refs/for/master?的意思,補(bǔ)充介紹了git?提交代碼常用命令,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • 如何將ChatGPT整合到Word中

    如何將ChatGPT整合到Word中

    使用ChatGPT修改語(yǔ)言時(shí),需要將文本復(fù)制到網(wǎng)頁(yè)版的chatGPT中,省掉復(fù)制粘貼的過(guò)程,能提升效率,這篇文章主要介紹了如何將ChatGPT整合到Word中,需要的朋友可以參考下
    2023-02-02
  • 電子郵件 退信原因大全

    電子郵件 退信原因大全

    我們可以對(duì)郵件多嘗試幾次發(fā)送,如果實(shí)在不行那就過(guò)一會(huì)再發(fā)送郵件。
    2009-06-06
  • chatGPT?deBug解決管理員登入服務(wù)器返回401問(wèn)題

    chatGPT?deBug解決管理員登入服務(wù)器返回401問(wèn)題

    這篇文章主要介紹了chatGPT?deBug解決管理員登入,服務(wù)器返回401,沒(méi)有拿到數(shù)據(jù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 2019最新系統(tǒng)學(xué)習(xí)路線零基礎(chǔ)如何轉(zhuǎn)行大數(shù)據(jù)

    2019最新系統(tǒng)學(xué)習(xí)路線零基礎(chǔ)如何轉(zhuǎn)行大數(shù)據(jù)

    今天小編給你一個(gè)大數(shù)據(jù)工程師具體的學(xué)習(xí)路線圖。非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-06-06
  • APAP?ALV進(jìn)階寫(xiě)法及優(yōu)化詳解

    APAP?ALV進(jìn)階寫(xiě)法及優(yōu)化詳解

    這篇文章主要為大家介紹了APAP?ALV進(jìn)階寫(xiě)法及優(yōu)化詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • idea2023連接gitee遠(yuǎn)程倉(cāng)庫(kù)的實(shí)現(xiàn)方法

    idea2023連接gitee遠(yuǎn)程倉(cāng)庫(kù)的實(shí)現(xiàn)方法

    在我們平時(shí)做項(xiàng)目的過(guò)程中,經(jīng)常會(huì)遇到分工合作,一起完成一個(gè)項(xiàng)目,就會(huì)借助其它的一些項(xiàng)目管理工具,來(lái)幫助我們更方便的開(kāi)發(fā),本文主要介紹了idea2023連接gitee遠(yuǎn)程倉(cāng)庫(kù)的實(shí)現(xiàn)方法,感興趣的可以了解一下
    2024-01-01

最新評(píng)論

陵川县| 巨鹿县| 木里| 姜堰市| 华坪县| 凉山| 刚察县| 鄂州市| 吴江市| 南和县| 江安县| 平武县| 通城县| 馆陶县| 城口县| 榆树市| 安化县| 成安县| 肥西县| 昭平县| 秦皇岛市| 静乐县| 平南县| 玉门市| 花垣县| 马尔康县| 罗山县| 海南省| 东兰县| 东源县| 梁河县| 游戏| 化德县| 平陆县| 抚顺市| 屯留县| 涿鹿县| 谢通门县| 印江| 凤冈县| 峡江县|