婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 大數據HelloWorld-Flink實現WordCount

大數據HelloWorld-Flink實現WordCount

熱門標簽:怎么去掉地圖標注文字 襄陽外呼增值業務線路解決方案 地圖標注資源分享注冊 高德地圖標注公司位置需要錢嗎 廊坊地圖標注申請入口 合肥阿里辦理400電話號 慶陽外呼系統定制開發 海南人工外呼系統哪家好 北京外呼系統咨詢電話

所有的語言開篇都是Hello Word,數據處理引擎也有Hello Word。那就是Word Count。MR,Spark,Flink以來開篇第一個程序都是Word Count。那么今天Flink開始目標就是在本地調試出Word Count。

單機安裝Flink

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

Apache Flink需要在Java1.8+以上的環境中運行 。

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

 

Flink單機部署非常簡單,只需安裝下載安裝即可。如果需要與Hadoop版本結合,那么下載相應的Hadoop關聯版本即可。如果不與Hadoop結合就直接下載Scala版即可。我這里就直接下載了Scala2.11的相關版本。

 

點擊進入Apache頁面進行下載,大小約有283MB。

把下載下來的壓縮包進行解壓即可。

打開命令行直接執行 

/bin/start-cluster.bat

進行啟動。 

瀏覽器打開 http://localhost:8081

至此在Windows10環境下即完成Flink的啟動。

編寫WordCount

因為Flink是由Scala進行開發的,而Scala是基于JVM的一種語言。所以最終也會轉換為JAVA字節碼文件,所以Flink程序可以由Java、Scala兩種語言都可以進行開發。也可以同時開發。比如Java寫一部分代碼,Scala寫另一部分代碼。可以參考Apache Flink利用Maven對Scala與Java進行混編>。

Flink官方提供快速生成工程的兩種工具:SBT與Maven。由于作者比較熟悉Maven,( 或者說沒用過SBT )。所以直接使用Maven快速創建一個工程。

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

按照提示輸入相關信息,即可生成最終的項目。

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

把工程導入到IDEA中

如果使用Scala的話,那么需要安裝Scala的插件。搜索安裝同時需要把Scala語言包進行安裝。

不知道如何操作可以聯系我 微信公號指尖數蟲>。

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();
		//讀取目錄下的文件
		DataSourceString> data = env.readTextFile("/opt/Server_Packets/log/ServerLog_1_runtime.log");
		//把文件中的內容按照空格進行拆分為 word,1  1 是為了能夠在下面進行計算.
		data.flatMap(new FlatMapFunctionString, Tuple2String, Integer>>() {
			@Override
			public void flatMap(String s, CollectorTuple2String, Integer>> collector) throws Exception {
				for (String word : s.split(" ")){
					collector.collect(new Tuple2>(word,1));
				}
			}
		})
		// 按照元組中的第1位進行分組
		.groupBy(0)
		// 分組的元組的計算方式為 value +value 也就是剛才的 同樣的詞 把 1+1
		.reduce(new ReduceFunctionTuple2String, Integer>>() {
			@Override
			public Tuple2String, Integer> reduce(Tuple2String, Integer> t2, Tuple2String, Integer> t1) throws Exception {
				return new Tuple2>(t1.f0,t1.f1+ t2.f1);
			}
		})
		//輸出結果
		.print();
	}
}

總結

以上所述是小編給大家介紹的大數據HelloWorld-Flink實現WordCount,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • 淺談實時計算框架Flink集群搭建與運行機制
  • 詳解大數據處理引擎Flink內存管理
  • Apache FlinkCEP 實現超時狀態監控的步驟詳解
  • Flink支持哪些數據類型?
  • Java lambda表達式實現Flink WordCount過程解析
  • 解析Flink內核原理與實現核心抽象

標簽:鶴崗 鎮江 臺州 綿陽 哈密 商丘 株洲 平頂山

巨人網絡通訊聲明:本文標題《大數據HelloWorld-Flink實現WordCount》,本文關鍵詞  大,數據,HelloWorld-Flink,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《大數據HelloWorld-Flink實現WordCount》相關的同類信息!
  • 本頁收集關于大數據HelloWorld-Flink實現WordCount的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 保靖县| 兴化市| 威海市| 广州市| 寿光市| 贵溪市| 莱西市| 息烽县| 邵阳县| 山阳县| 龙口市| 蓝田县| 察隅县| 吴旗县| 连城县| 桐柏县| 绥德县| 胶州市| 台中市| 宜君县| 南皮县| 葵青区| 临夏县| 抚远县| 安顺市| 疏勒县| 大田县| 南通市| 阳城县| 苏尼特右旗| 柳江县| 麦盖提县| 安达市| 黄梅县| 上林县| 正镶白旗| 泾阳县| 屏东县| 肃宁县| 治县。| 碌曲县|