Spark Stream 簡單例子
pom.xml
<dependency>
會不斷地列印出類似的結果:
-------------------------------------------
Time: 1490947248000 ms
-------------------------------------------
(Hello,99)
(test,99)
<dependency>
-
<groupId>org.apache.spark</groupId>
-
<artifactId>spark-streaming_2.11</artifactId>
-
<version>2.1.0</version>
- </dependency>
-
import java.io.OutputStream;
-
import java.net.ServerSocket;
-
import java.net.Socket;
-
import java.util.Arrays;
-
import java.util.UUID;
-
-
import org.apache.spark.SparkConf;
-
import org.apache.spark.streaming.Durations;
-
import org.apache.spark.streaming.api.java.JavaDStream;
-
import org.apache.spark.streaming.api.java.JavaPairDStream;
-
import org.apache.spark.streaming.api.java.JavaStreamingContext;
-
-
import scala.Tuple2;
-
-
public class SparkStreamTest {
-
-
public static void main(String[] args) throws Exception {
-
startSockerServer(9999);
-
-
SparkConf conf = new SparkConf().setMaster("local[2]").setAppName("NetworkWordCount");
-
JavaStreamingContext jssc = new JavaStreamingContext(conf, Durations.seconds(1));
-
JavaDStream<String> lines = jssc.socketTextStream("localhost", 9999);
-
-
JavaDStream<String> words = lines.flatMap(x -> Arrays.asList(x.split(" ")).iterator());
-
JavaPairDStream<String, Integer> pairs = words.mapToPair(s -> new Tuple2<>(s, 1));
-
JavaPairDStream<String, Integer> counts = pairs.reduceByKey((x, y) -> x + y);
-
counts.print();
-
-
jssc.start();
-
jssc.awaitTermination();
-
jssc.close();
-
}
-
-
private static void startSockerServer(int port) throws Exception {
-
new Thread(){
-
public void run() {
-
try {
-
ServerSocket server = new ServerSocket(port);
-
Socket socket = server.accept();
-
OutputStream os = socket.getOutputStream();
-
for (int i = 0; i < 1000; i++) {
-
String txt = UUID.randomUUID().toString().replaceAll("-", " ");
-
txt = "Hello test\n";
-
os.write(txt.getBytes());
-
Thread.sleep(10);
-
}
-
socket.close();
-
server.close();
-
} catch (Exception e) {
-
e.printStackTrace();
-
}
-
}
- }.start();
- }
- }
-------------------------------------------
Time: 1490947248000 ms
-------------------------------------------
(Hello,99)
(test,99)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10742815/viewspace-2136411/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- pycharm下與spark的互動 詳細配置說明以及spark 執行簡單例子PyCharmSpark單例
- Matplotlib1.簡單例子單例
- 簡單的整合 shiro + SpringMVC 例子SpringMVC
- 一個簡單的「IOC」例子
- spark簡單介紹(一)Spark
- JUnit概述及一個簡單例子單例
- 擼一個簡單的MVVM例子MVVM
- Spark 簡單例項(基本操作)Spark單例
- spark與kafaka整合workcount示例 spark-stream-kafkaSparkKafka
- 一個最簡單的 Github workflow 例子Github
- Spark-stream基礎---sparkStreaming和Kafka整合wordCount單詞計數SparkKafka
- 簡單記錄node中的Stream(流)
- Spark Streaming簡單入門(示例+原理)Spark
- 一個簡單的netty通訊的例子Netty
- WebRTC:一個視訊聊天的簡單例子Web單例
- Python簡單實現多執行緒例子Python執行緒
- Laravel 關聯查詢 ——一對一 簡單例子Laravel單例
- 一個簡單的例子瞭解async跟defer
- 一個簡單的例子教會您使用javapJava
- Spring Boot 中使用Caffeine快取的簡單例子Spring Boot快取單例
- 一個簡單的生活例子,感受TRIZ的魅力!
- Rust 程式設計中使用 leveldb 的簡單例子Rust程式設計單例
- 多執行緒賣火車票簡單例子執行緒單例
- 簡單認識和使用node 中的流(stream)
- Laravel 5 關聯查詢 —— N 對 N 簡單例子Laravel單例
- Laravel 5 關聯查詢 ——一對 N 簡單例子Laravel單例
- spring mvc(註解)上傳檔案的簡單例子SpringMVC單例
- Spring框架系列(2) - Spring簡單例子引入Spring要點Spring框架單例
- spring 簡單的使用 Hikari連線池 和 jdbc連線mysql 的一個簡單例子SpringJDBCMySql單例
- Unity如何連線伺服器: 一個簡單的例子Unity伺服器
- 簡單例子展示爬蟲在不同思想下的寫法單例爬蟲
- LeetCode C++ 703. Kth Largest Element in a Stream【Heap/Design】簡單LeetCodeC++
- spark 的簡介Spark
- 轉一篇OpenSSL的例子:簡單的TLS伺服器TLS伺服器
- python+flask 編寫一個簡單的登入介面例子PythonFlask
- python+flask編寫一個簡單的登入介面例子PythonFlask
- 用簡單易懂的例子解釋隱馬爾可夫模型隱馬爾可夫模型
- SAP MM採購定價過程的一個簡單例子單例
- SpringCloud配置重新整理機制的簡單分析[nacos為例子]SpringGCCloud