自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Kafka消息队列组件

一、消息队列介绍1.1 什么是消息队列 消息队列的本质是缓冲数据。之所以称之为消息队列系统或者消息队列组件,是因为往往消息队列提供了消息(数据)的管理功能。比如:记录上次读数据的偏移量、消息读取后是否删除、消息的备份和安全等机制。 主流消息队列组件有:ActiveMQ、RabbitMQ、RocketMQ、kafka等,大数据领域主要用kafka。1.2 消息队列的工作模式 (1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)...

2021-10-28 11:18:01 806

原创 Flink-部署

1. Standalone模式Flink支持多种安装模式:local(本地)——单机模式,一般不使用standalone——独立模式,Flink自带集群,开发测试环境使用yarn——计算资源统一由Hadoop YARN管理,生产环境测试Kubernetes——容器化部署时目前业界很流行的一项技术,基于Docker镜像运行能够让用户更加方便地对应用...

2021-10-11 17:40:16 266

原创 Flink-搭建maven工程FlinkDemo

1 .搭建 maven 工程 FlinkDemo1.1 pom 文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/PO

2021-10-11 09:31:39 368

原创 Flink-简介

flink简介1.大数据4代计算引擎第1代——Hadoop MapReduce批处理Mapper、Reducer流处理Strom第2代——DAG框架(Tez) + MapReduce批处理1个Tez = MR(1) + MR(2) + ... + MR...

2021-10-09 15:20:59 181

原创 SparkStreaming-解析

1.初始化StreamingContext//SparkStreaming程序入口val conf: SparkConf = new SparkConf().setAppName("wordcount").setMaster("local[*]")//如果需要打包运行在服务器上,不需要指定masterval sc = new SparkContext(conf)sc.setLogLevel("WARN")val ssc: StreamingContext = new StreamingCont

2021-09-29 15:06:07 580

原创 SparkStreaming-架构与抽象

1.说明 SparkStreaming使用“微批次”的架构,把流式计算当做一系列连续的小规模批次处理来对待。SparkStreaming从各种输入源中读取数据,并把数据分组为小的批次。新的批次按均匀的时间间隔创建出来。在每个时间区间开始的时候,一个新的批次创建出来,在该区间内收到的数据都会被添加到这个批次中。在时间区间结束时,批次停止增长。时间区间的大小是由批次间隔这个参数决定的。批次间隔一般设在500毫秒到几秒之间,由应用开发者配置。每个输入批次都形成一个RDD,以Spark作业的方式处...

2021-09-26 15:49:32 197

原创 SparkStreaming-编写程序实例

1.IDEA编写程序案例所需的pom.xml依赖:<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.11</artifactId> <version>${spark.version}</version> <scope>provided</sco...

2021-09-26 15:22:24 308

原创 SparkStreaming-概述

一、Spark Streaming概述1.什么是Spark StreamingSparkStreaming类似于ApacheStorm,用于流式数据的处理。根据官方文档介绍,Spark

2021-09-26 11:15:36 2968

原创 SparkStreaming-预热kafka

Kafka:1.kafka中的数据有序Q:如何保证kafka广播接收过程中的数据有序?A:多分区的情况做到:分区有序,全局无序; 要保证全局有序:将所有数据发到同一个分区(partition)中。2.kafka中如何保证数据不丢失Q:如何保证数据不丢失?这是三个问题。①.producer端如何保证数据不丢失; ②.Broker端如何保证数据不丢失; ③.consumer端如何保证数据不丢失。问题分析:①.pro...

2021-09-24 16:16:30 129

原创 SparkSQL-数据源

1、通用加载/保存方法1)手动指定选项Spark SQL的DataFrame接口支持多种数据源的操作。一个DataFrame可以进行RDDs方式的操作,也可以被注册为临时表。把DataFrame注册为临时表之后,就可以对该DataFrame执行SQL查询。Spark SQL的默认数据源为Parquet格式。数据源为Parquet文件时,Spark SQL可以方便的执行所有的操作。修改配置项spark.sql.sources.default,可修改...

2021-09-24 14:52:35 707

原创 SparkSQL-解析

1、新的起始点SparkSession在老的版本中,SparkSQL提供两种SQL查询起始点,一个叫SQLContext,用于Spark自己提供的SQL查询,一个叫HiveContext,用于连接Hive的查询,SparkSession是Spark最新的SQL查询起始点,实质上是SQLContext和HiveContext的组合,所以在SQLContext和HiveContext上可用的API在SparkSession上同样是可以使用的。SparkSession内部封装了sparkCon...

2021-09-22 17:59:33 750

原创 SparkSQL-两种风格查询

执行SparkSQL查询1、命令行查询流程打开Spark shell例子:查询大于30岁的用户创建如下JSON文件,注意JSON的格式: {"name":"Michael"}{"name":"Andy", "age":30}{"name":"Justin", "age":19} 2、IDEA创建SparkSQL程序IDEA中程序的打包和运行方式都和SparkCore类似,Maven依赖中需要添加新的依赖项:<dependency>...

2021-09-22 16:12:19 186

原创 SparkSQL-概述

Spark SQL概述 1、什么是Spark SQLSparkSQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。我们已经学习了Hive,它是将HiveSQL转化成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所以SparkSQL应运而生,它是将SparkSQL转化成RDD,然后提交到集群执行,执...

2021-09-22 15:19:31 125

原创 5.SparkCore-RDD编程进阶(广播变量、累加器)

SparkCore-RDD编程进阶(广播变量、累加器) 在spark程序中,当一个传递给spark操作(例如:map和reduce)的函数在远程节点上面运行时,spark操作实际上操作的是这个函数所用变量的一个独立副本。这些变量会被复制到每台机器上,并且这些变量在远程机器上的所有更新都不会传递回驱动程序。通常跨任务的读写变量是低效的,但是,spark还是为两种常见的使用模式提供了两种有限的共享变量:广播变量和累加器。1、广播变量 广播变量用来高效分发较大的对象。向所有...

2021-09-17 17:18:10 162

原创 4.SparkCore-数据读取与保存

数据读取与保存当我们将一个文本文件读取为 RDD 时,输入的每一行 都会成为RDD的一个元素。也可以将多个完整的文本文件一次性读取为一个pair RDD, 其中键是文件名,值是文件内容。val input = sc.textFile("./README.md") 如果传递目录,则将目录下的所有文件读取作为RDD。文件路径支持通配符。通过wholeTextFiles()对于大量的小文件读取效率比...

2021-09-16 16:36:20 124

原创 3.SparkCore-键值对RDD

键值对 RDD 是 Spark 中许多操作所需要的常见数据类型。 本章做特别讲解。除了在基础RDD类中定义的操作之外,Spark 为包含键值对类型的 RDD 提供了一些专有的操作 在PairRDDFunctions专门进行了定义。这些 RDD 被称为 pair RDD。RDD当中非常常见的PairRDD,也叫做键值对RDD,可以理解成KVRDD。有很多种方式创建pair RDD,在输入输出章节会讲解。一般如果从一个普通的RDD转 为pair RDD时,可以调用map()函数来实现,传递的函数需要返回键值

2021-09-16 16:19:11 236

原创 2.SparkCore-RDD编程

二、 RDD编程1、编程模型在Spark中,RDD被表示为对象,通过对象上的方法调用来对RDD进行转换。经过一系列的transformations定义RDD之后,就可以调用actions触发RDD的计算,action可以是向应用程序返回结果(count, collect等),或者是向存储系统保存数据(saveAsTextFile等)。在Spark中,只有遇到action,才会执行RDD的计算(即延迟计算),这样在运行时可以通过管道的方式传输多个转换。要使用Spark,开发者需要编写一个Drive

2021-09-15 16:51:59 174

原创 1.SparkCore-RDD概念

SparkCore一、RDD概念弹性分布式数据集1、RDD为什么会产生 RDD是Spark的基石,是实现Spark数据处理的核心抽象。那么RDD为什么会产生呢?Hadoop的MapReduce是一种基于数据集的工作模式,面向数据,这种工作模式一般是从存储上加载数据集,然后操作数据集,最后写入物理存储设备。数据更多面临的是一次性处理。 MR的这种方式对数据领域两种常见的操作不是很高效。第一种是迭代式的算法。比如机器学习中ALS、凸优化梯度下降等。这些都需要基于数据集或...

2021-09-15 16:44:10 98

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除