JAVA代码实现Spark Streaming程序

该博客介绍了如何使用Java在Maven工程中创建Spark Streaming程序,并提供了与Kafka集成的示例代码,展示了导入相关库和编写基本操作的步骤。
摘要由CSDN通过智能技术生成
  1. 创建 maven 工程 只加 spark-streaming 这个包就可以
	<dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-streaming_2.11</artifactId>
        <version>2.0.0</version>
    </dependency>

  1. 示例代码
import java.util.Arrays;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.function.FlatMapFunction;
import org.apache.spark.api.java.function.Function2;
import org.apache.spark.api.java.function.PairFunction;
import org.apache.spark.api.java.function.VoidFunction;
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.JavaReceiverInputDStream;
import org.apache.spark.streaming.api.java.JavaStreamingContext;

import scala.Tuple2;

public class WordCountOnLine {
   
    public static <U> void main(String[] args) {
   
        
        /**
         * 第一步:配置SparkConf,
         *     1. 因为 Spark Streaming 应用程序至少有一条线程用于不断的循环结束数据,并且至少有一条线程用于处理
         *              接收的数据(否则的话无线程用于处理数据,随着时间的推移,内存和磁盘都会不堪重负)
         *  2. 对于集群而已,每个 Executor 一般肯定不止一个线程,那对于处理 Spark Streaming应用程序而言,每个 Executor 一般分配多少Core
         *     比较合适?根据我们过去的经验,5个左右的 Core 是最佳的(一个段子分配为基数 Core 表现最佳,)
         */
//        SparkConf conf = new SparkConf().setMaster("local[2]").setAppName("sparkStreaming");
        SparkConf conf = new SparkConf().setMaster("spark://hadoop1:7077").setAppName("sparkStreaming");
        
        /**
         * 第二步:创建 SparkStreamingContext,
         *     1.这个 SparkStreaming 应用程序所有功能的起始点和程序调度的核心
         *         SparkStreamingContext 的构建可以基于 SparkConf参数,也可基于持久化的 SaprkStreamingContext的内容来回复过来
         *         (典型的场景是 Driver 奔溃后重新启动,由于 Spark Streaming 具有连续 7*24 小时不间断运行的特征,所有需要在 Driver 重新启动后继续上一次的状态,
         *            此时的状态恢复需要基于曾经的 Checkpoint)
         *     2.在一个Spark Streaming 应用程序中可以创建若干个 SaprkStreamingContext对象,使用下一个 SaprkStreamingContext
         *       之前需要把前面正在运行的 SparkStreamingContext 对象关闭掉,由此,我们获得一个重大的启发 SparkStreaming框架也只是Spark Core上的一个应用程序而言
         *      只不过 Spark Streaming 框架要运行的话需要Spark工程师写业务逻辑处理代码;
         */
        JavaStreamingContext jsc = new JavaStreamingContext
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值