06.DStream输出

06.DStream输出

[TOC]一、概念​ 输出操作允许DStream的操作推到如数据库、文件系统等外部系统中。因为输出操作实际上是允许外部系统消费转换后的数据,它们触发的实际操作是DStream转换。与 RDD 中的惰性求值类似,如果一个 DStream 及其派生出的 DStream 都没有被执行输出操作,那么这些 DStream 就都不会被求值。如果 StreamingContext 中没有设定输出 操作,整个context就都不会启动。二、操作属性属性说明print()在运行流程序的驱动结点上打印 DStream 中每一批次数据的最开始 10 个元素。这用于开发和调试。在 Python A...

大数据 2021-10-25 AM 12℃ 0条
05.DStream转换

05.DStream转换

[TOC]一、概念DStream的原语与RDD类似,分分为转换(Transformation)和输出(Output)两种,此外还有一些特殊的原语,如:updateStateByKey,transform以及各种窗口(window)相关的原语。转换分类:DStream转换操作包括无状态转换和有状态转换。无状态转换:每个批次的处理不依赖于之前批次的数据。有状态转换:当前批次的处理需要使用之前批次的数据或者中间结果。有状态转换包括基于滑动窗口的转换和追踪状态变化的转换(updateStateByKey)。二、无状态转换无状态的转化操作,就是把简单的RDD转化操作应用到每个批次上,也就是转化DS...

大数据 2021-10-22 AM 19℃ 0条
04.SparkStreaming之Kafka数据源

04.SparkStreaming之Kafka数据源

[TOC]一、概述1.1 概念kafka作为一个实时的分布式消息队列,实时的生产和消费消息,这里我们可以利用SparkStreaming实时计算框架实时地读取kafka中的数据然后进行计算。1.2 创建DStream方式在spark1.3版本后,kafkaUtils里面提供了两个创建dstream的方法:KafkaUtils.createDstream(需要receiver接收)Receiver作为常驻的Task运行在Executor等待数据,但是一个Receiver效率低,需要开启多个,再手动合并数据(union),再进行处理,很麻烦。KafkaUtils.createDirectSt...

大数据 2021-10-21 PM 21℃ 0条
03.DStream创建

03.DStream创建

[TOC]一、RDD队列1.1 用法及说明​ 测试过程中,可以通过使用 ssc.queueStream(queueOfRDDs)来创建 DStream,每一个推送到 这个队列中的 RDD,都会作为一个 DStream 处理。1.2 案例实操需求循环创建几个RDD,将 RDD放入队列。通过SparkStream创建Dstream,计算WordCount。实现代码import org.apache.spark.SparkConf import org.apache.spark.rdd.RDD import org.apache.spark.streaming.{Seconds,...

大数据 2021-10-20 PM 17℃ 0条
02.DStream入门

02.DStream入门

[TOC]前言本篇将通过一个WordCount案例来作为DStream的入门。一、环境1.1 所需运行环境IP作用系统192.168.10.2(本机)运行案例代码接收服务端9999端口发送的信息windows192.168.10.7运行netcat监听9999端口Linux1.2 netcat工具介绍和安装介绍​ netcat简称nc,netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据,通过与其它工具结合和重定向,你可以在脚本中以多种方式使用它。基本功能telnet / 获取系统 banner 信息传输文本信息传输文件和目录加密传输文件端口扫描远程控制 / ...

大数据 2021-10-19 PM 22℃ 0条
01.SparkStreaming概述

01.SparkStreaming概述

[TOC]前言在介绍SparkStreaming之前需要先理解几个概念:流式计算流式计算的上游算子处理完一条数据后,会立马发送给下游算子,所以一条数据从进入流式系统到输出结果的时间间隔较短(当然有的流式系统为了保证吞吐,也会对数据做buffer)。批量计算批量计算按数据块来处理数据,每一个task接收一定大小的数据块,比如MR,map任务在处理完一个完整的数据块后(比如128M),然后将中间数据发送给reduce任务。批量计算往往得等任务全部跑完之后才能得到结果,而流式计算则可以实时获取最新的计算结果。实时计算输入数据是可以以序列化的方式一个个输入并进行处理的,也就是说在开始的时候并不需...

大数据 2021-10-18 AM 36℃ 0条
18.【终章】Kafka监控工具Eagle最新版安装

18.【终章】Kafka监控工具Eagle最新版安装

[TOC]前言Kafka监控系统在Kafka的监控系统中有很多优秀的开源监控系统。比如Kafka-manager,open-faclcon,zabbix等主流监控工具均可直接监控kafka。Kafka集群性能监控可以从消息网络传输,消息传输流量,请求次数等指标来衡量集群性能。这些指标数据可以通过访问kafka集群的JMX接口获取。JMX接口JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。很多的一些软件都提供了JMX接口,来实现一些管理、监控功...

大数据 2021-10-17 PM 34℃ 0条
17.Kafka自定义拦截器

17.Kafka自定义拦截器

[TOC]一、拦截器原理​ Producer 拦截器(interceptor)是在 Kafka 0.10 版本被引入的,主要用于实现clients端的定制化控制逻辑。​ 对于 producer 而言,interceptor 使得用户在消息发送前以及 producer 回调逻辑前有机会对消息做一些定制化需求,比如修改消息等。同时,producer 允许用户指定多个 interceptor 按序作用于同一条消息从而形成一个拦截链(interceptor chain)。二、拦截器实现Intercetpor 的实现接口是 org.apache.kafka.client...

大数据 2021-10-16 PM 39℃ 0条
16.Kafka消费者API

16.Kafka消费者API

[TOC]前言Consumer 消费数据时的可靠性是很容易保证的,因为数据在 Kafka 中是持久化的,故不用担心数据丢失问题。由于consumer在消费过程中可能会出现断电宕机等故障,consumer恢复后,需要从故障前的位置的继续消费,所以consumer需要实时记录自己消费到了哪个offset,以便故障恢复后继续消费。所以 offset 的维护是 Consumer 消费数据是必须考虑的问题。如果想了解更多Offset详情信息可参考文章:12.Kafka之offset介绍本次使用的Kafka版本是2.8.0导入依赖<dependency> <groupId&...

大数据 2021-10-15 PM 35℃ 0条
15.Kafka生产者API

15.Kafka生产者API

[TOC]前言本次运行的Kafka版本是2.8.0单机版;在运行之前先要检查防火墙是否关闭,或者是否开启9092端口查看防火墙状态命令firewall-cmd --state关闭防火墙命令systemctl stop firewalld.servicePS:别问我为什么要强调这一点。一、消息发送流程Kafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main线程和 Sender线程,以及一个线程共享变量——RecordAccumulator。main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 Re...

大数据 2021-10-14 AM 42℃ 0条