自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不会打球的摄影师不是好程序员

学习大数据过程中的一些随记

  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 MapReducer任务启动报org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

在github上寻找解决方法。发现有一种很简单的解决方法。在这个网站上下载文件。重新执行,任务跑成功!

2023-11-10 17:53:54 127

原创 Grafana安装后web打开报错

Grafana安装后web打开报错如下:If you're seeing this Grafana has failed to load its application files1. This could be caused by your reverse proxy settings.2. If you host grafana under subpath make sure your grafana.ini root_url setting includes subpath. ...

2022-07-30 21:48:38 7322 1

原创 分区的使用及案例

分区表的使用及动态分区和静态分区

2022-07-23 23:45:00 535

原创 通过FlinkCDC将MySQL中变更的数据写入到kafka(DataStream方式)

文章目录前言一、CDC的种类?二、通过FlinkCDC将数据从MySQL导入到Kafka1.核心代码2.工具类3.可能会出现的错误及解决解决:前言CDC的Change Data Capture(变更数据捕获)的缩写FlinkCDC的核心思想是监测并捕获数据库的变动(包括数据或数据表的插入、更新以及删除等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。一、CDC的种类?CDC 主要分为基于查询和基于 Binlog 两种方式,简述两者的区别:

2021-11-19 15:23:01 8246 1

原创 Spark数据倾斜解决办法

Spark数据倾斜解决办法一个Spark程序会根据其内部的Action操作划分成多个job,每个作业内部又会根据shuffle操作划分成多个Stage,每个Stage由多个Task任务并行进行计算,每个Task任务只计算一个分区的数据。Spark数据倾斜就是大量相同的key进入到了同一个分区。数据倾斜Spark数据倾斜解决办法前言一、解决办法1.数据预处理2.过滤导致数据倾斜的key3.提高shuffle操作的并行度4.使用随机key进行双重聚合前言数据倾斜解决的思路就是保证每个Task任务

2021-07-18 22:17:55 437 1

原创 Flink的容错机制(checkpoint)

Flink的可靠性基石-Checkpoint容错机制1.概述flink 的checkpoint机制可以保证Flink 整个集群在某个算子因为某些原因出现故障时,能够将整个应用流图的状态恢复到故障之前的某一状态,保证应用流图的状态一致性。Flink的Checkpoint机制原理来自“Chandy-Lamport algorithm”算法。2.原理每个需要Checkpoint的应用在启动时,Flink的JobManager为其创建一个CheckpointCoordinator(检查点协调器),Check

2021-07-01 22:01:28 313 1

原创 kafka的零拷贝(零复制)技术

1.传统的读取数据并发送到网络的步骤如下:1.操作系统将数据从磁盘文件中读取到内核空间的页面进行缓存;2.应用程序将数据从内核空间读入用户空间缓冲区;3.应用程序将读到的数据协会到内核空间并放入socket缓冲区;4.操作系统将数据从socket缓冲区复制到网卡接口,此时数据才能通过网络进行发送。2.kafka的零拷贝技术通常情况下,kafka的消息会有多个订阅者,生产者发布的消息会被不同的消费者多次消费,为了优化这个流程,kafka使用了“零拷贝技术”,如下:“零拷贝技术”只用将磁盘文件

2021-06-02 12:44:33 3405 3

原创 基于Flink实时计算Demo:用户行为分析(四:在一段时间内到底有多少不同的用户访问了网站(UV))

1.需求1.在一段时间内到底有多少不同的用户访问了网站。2.另外一个统计流量的重要指标是网站的独立访客数(Unique Visitor,UV)。3.UV指的是一段时间(比如一小时)内访问网站的总人数,1 天内同一访客的多次访问只记录为一个访客。2.代码实现import org.apache.flink.streaming.api.scala.StreamExecutionEnvironmentimport org.apache.flink.api.scala._import org.apach

2021-05-27 22:24:20 244

原创 基于Flink实时项目:用户行为分析(三:网站总浏览量统计(PV))

1.需求:1.网站总浏览量(PV)的统计2.对于PV做一个简介:衡量网站流量一个最简单的指标,就是网站的页面浏览量(Page View,PV)。用户每次打开一个页面便记录 1 次 PV,多次打开同一页面则浏览量累计。一般来说,PV 与来访者的数量成正比,但是 PV 并不直接决定页面的真实来访者数量,如同一个来访者通过不断的刷新页面,也可以制造出非常高的 PV。3.思路:设置滚动时间窗口,实时统计每小时内的网站2.代码实现import org.apache.flink.api.scala._im

2021-05-27 22:20:22 647

原创 基于Flink实时项目:用户行为分析(二:实时流量统计)

1.需求:实时流量统计,每隔5秒钟输出最近10分钟内访问量最多的前N个URL(与上一个非常的类似)。废话不多说,直接上代码2.代码实现import org.apache.flink.api.common.functions.AggregateFunctionimport org.apache.flink.api.common.state.{ListState, ListStateDescriptor}import org.apache.flink.streaming.api.scala.Stre

2021-05-27 22:10:07 591

原创 基于Flink实时项目:用户行为分析(一:实时热门商品统计)

1.需求:实时热门商品的统计每隔5分钟输出一次最近一小时内点击量最多的前N个商品步骤:• 抽取出业务时间戳,告诉 Flink 框架基于业务时间做窗口• 过滤出点击行为数据• 按一小时的窗口大小,每 5 分钟统计一次,做滑动窗口聚合(Sliding Window)• 按每个窗口聚合,输出每个窗口中点击量前 N 名的商品2.代码实现:import org.apache.flink.api.common.functions.AggregateFunctionimport org.apache.f

2021-05-26 18:26:47 934

原创 基于Flink实时计算Demo—关于用户行为的数据分析

项目是有关于电商的用户行为数据分析,包括以下几部分内容:1.批处理和流处理2.电商用户行为分析3.数据源分析4.项目模块划分1.批处理和流处理1.批处理概念批处理主要操作大容量静态数据集,并在计算过程完成后返回结果。可以认为,处理的是用一个固定时间间隔分组的数据点集合。批处理模式中使用的数据集通常符合下列特征:1.有界:批处理数据集代表数据的有限集合2.持久:数据通常始终存储在某种类型的持久存储位置中3.大量:批处理操作通常是处理极为海量数据集的唯一方法2.流处理的概念流处理可以对随

2021-05-24 16:56:54 678 10

原创 flink需求之—ProcessFunction(需求:如果30秒内温度连续上升就报警)

1.ProcessFunction是flink中的大杀器(个人认为)Process Function 用来构建事件驱动的应用以及实现自定义的业务逻辑(使用之前的window 函数和转换算子无法实现)Flink 提供了 8 个 Process Function: ProcessFunction KeyedProcessFunction CoProcessFunction ProcessJoinFunction BroadcastProcessFunction KeyedBroad

2021-05-23 19:38:54 698 8

原创 flink需求之—SideOutPut(侧输出流的应用:将温度大于30℃的输出到主流,低于30℃的输出到侧流)

1.首先介绍一下侧输出流(SideOutPut)大部分的 DataStream API 的算子的输出是单一输出,也就是某种数据类型的流。除了 split 算子,可以将一条流分成多条流,这些流的数据类型也都相同。process function 的 side outputs 功能可以产生多条流,并且这些流的数据类型可以不一样。一个 side output 可以定义为 OutputTag[X]对象,X 是输出流的数据类型。process function 可以通过 Context 对象发射一个事件到一个或者多

2021-05-23 19:06:47 344

原创 Flink中的状态管理

1.状态的概念流式计算中分为无状态和有状态两种情况:1.无状态是计算观察每个独立的事件,并根据最后一个事件输出结果。2.有状态的计算则会基于多个事件输出结果2.状态的分类1.算子状态(operator state)作用的范围限定为算子任务,同一并行的任务所处理的所有数据都可以访问到相同的状态,状态对于同一任务而言是共享的。算子状态提供了三种基本的数据结构:1.列表状态(List State)将状态表示为一组数据的列表2.联合列表状态(Union list state)也是将状态表示

2021-05-22 22:39:14 184 4

原创 Spark On YARN的作业提交流程

1.Spark On YARN的主要进程:1.SparkSubmit2.ResourceManager3.NodeManager4.Executor5.ApplicationMaster2.执行流程1.客户端想YARN的resourceManager提交应用程序2.ResourceManager收到请求后,选择一个NodeManager节点向其分配一个Container,并在Container中启动ApplicationMaster,ApplicationMaster中包含SparkCont

2021-05-14 10:46:22 229

原创 Spark源码学习——Memory Tuning(内存调优)

Spark内存调优Memory Tuning1.Memory Management Overview(内存管理概述)2.Determining Memory Consumption(确定内存消耗)3.Tuning Data Structures(优化数据结构)4.Serialized RDD Storage5.Garbage Collection Tuning(垃圾收集调优)1.Measuring the Impact of GC(GC的影响度量)2.Advanced GC Tuning(进一步GC优化)1

2021-04-23 16:52:57 403

原创 Spark源码学习——Data Serialization

源码的内容Data SerializationSerialization plays an important role in the performance of any distributed application. Formats that are slow to serialize objects into, or consume a large number of bytes, will greatly slow down the computation. Often, this will

2021-04-23 15:12:50 164

原创 数据仓库知识点

1.数仓分层1.为什么要分层?1.把复杂问题简单化2.减少重复开发3.隔离原始数据2.分为哪几层?1.ODS(Operation Data Store):原始数据层2.DWD(Data Warehouse Detail):明细数据层(对ODS层的数据清洗,去空值,脏数据等等)3.DWS(Data Warehouse Service):数据服务层(例如按天进行轻度汇总)4.DWT(Data Warehouse Topic):数据主题层(对数据累计汇总)5.ADS(Application D

2021-04-16 23:01:10 155

原创 hive中四种排序的区别

1.Order By(全局排序)例:select * from emp order by sal;2.Sort By每个Reducer内部进行排序,对全局结果来说不是排序例:1.设置reduce个数set mapreduce.job.reduces = 3 ;2.根据部门编号查看员工信息select * from emp sort by empno;3.Distribute By类似MR 中的partition,进行分区,结合sort by使用(hive中要求distribute

2021-04-15 22:47:23 241 2

原创 (Spark调优~)算子的合理选择

1.map与mappartition1.map是对RDD中的每个元素作用上一个函数2.mappartition是对每个分区作用上一个函数如果遇到需要把数据写到数据库,一定要用mappartition2.foreach 与foreachpartition类似于map与mappartition区别是:foreach是行动算子,map是转换算子3.groupByKey与reduceByKey...

2021-04-14 23:28:19 167

原创 《Kafka入门与实战》----------学习笔记

1.三大特性1.能够允许发布和订阅流数据。2.存储流数据时提供相应的容错机制3.当流数据到达时能够及时被处理2.基本概念1.主题:Kafka将一组消息抽象归纳为一个主题(topic),也就是说一个主题就是对消息的一个分类2.消息:消息是Kafka通信的基本单位,由一个固定长度的消息头和一个可变长度的消息体构成。3.分区和副本1.Kafka将一组消息归纳为一个主题,而每个主题又被分成一个或多个分区(Partition)。每个分区由一系列有序、不可变的消息组成,是一个有序队列。2.分区使得

2021-04-14 22:46:23 137

原创 Flink中CheckPoint原理

1.CheckPoint原理Flink 中基于异步轻量级的分布式快照技术提供了 Checkpoints 容错机制,分布式快照 可以将同一时间点 Task/Operator 的状态数据全局统一快照处理,包括前面提到的 Keyed State 和 Operator State。Flink 会在输入的数据集上间隔性地生成 checkpoint barrier, 通过栅栏(barrier)将间隔时间段内的数据划分到相应的 checkpoint 中。如下图:解释:每隔一段时间生成一个栅栏,两个栅栏之间的数据形成

2021-03-27 15:20:40 952

原创 Centos的安装与配置(超详细)

Centos的安装与配置(超详细)1.下载1.官网下载centos2.下载VMware2.安装1.计算机的名字2.磁盘的布局3.修改配置4.共享文件夹3.网络配置1.Hadoop集群2.网络配置4.防火墙5.自动同步时间6.搭建Hadoop集群7.SSH免密钥登陆1.下载1.官网下载centoscentos 6.x 或centos 7.x2.下载VMware2.安装1.计算机的名字虚拟机名:hadoop101计算机名:hadoop101网络中的名字:hadoop101用户名:root

2021-03-17 15:58:54 937

原创 Spark工作原理

Spark工作原理1.MapReduce工作原理2.Spark工作原理1.Map阶段2.Reduce阶段3.Shuffle阶段3.Spark工作流程1.MapReduce工作原理MapReduce计算模型主要由三个阶段组成:Map阶段、Shuffle阶段、Reduce阶段。2.Spark工作原理Spark作业的工作原理时,通常会引入Hadoop MapReduce的工作原理作为入门比较,因为MapReduce与Spark的工作原理有很多相似之处。1.Map阶段将输入的多个分片(Split)由M

2021-03-10 23:23:30 219 3

原创 安装Tableau时出现Error 1310 Error writing to file:C:\Windows\...*.dll. Verify that you have access to...

Error 1310 Error writing to file:C:\Windows\...*.dll. Verify that you have access to that directory安装Tableau时出现这个问题,解决方法很简单,把360关掉就可以。

2021-03-09 09:38:01 3362 7

原创 YARN集群架构

YARN集群架构1.组成2.集群架构图3.各个组件的解析1.ResourceManager2.NodeManager3.Task4.Container5.ApplicationMaster总结:4.运行过程1.组成YARN集群总体上是经典的主/从(Master/Slave)架构,主要由ResourceManager、NodeManager、ApplicationMaster和Container组成。2.集群架构图3.各个组件的解析1.ResourceManager以后台进程的形式运行,负责对集

2021-03-06 11:23:53 356 2

原创 数据库和数据仓库的区别

数据库与数据仓库的区别1.数据库2.数据仓库1.数据库1.数据库一般存放的是企业即时业务下产生的数据;2.数据库是基于事务处理数据的。2.数据仓库1.数据仓库一般存放的是企业的历史数据和对历史数据的抽取、清洗、加工、汇总和处理后的操作性数据;2.数据仓库是面向主题域组织数据的,也就是数据仓库会按照某一个或几个主题域进行数据的存储、加工;3.数据仓库就是一个面向主题的、集成的、相对稳定的、反应历史变化的数据集合,主要供企业决策分析。...

2021-03-02 09:16:13 182

原创 Spark中RDD 的持久化算子

Spark中RDD持久化算子1.分类1.cache2.persist3.checkpoint1.分类1.cache将RDD 的算子默认的保存在内存里面(比磁盘快)2.persist手动指定持久化的级别,指定数据存几分3.checkpoint存到指定的目录里面

2021-01-19 23:12:25 105

原创 Spark代码执行流程、术语以及宽窄依赖

Spark代码执行流程1.Spark算子的分类1.Transformation类算子——懒执行2.Action类算子——触发懒执行算子执行3.持久化算子2.Spark代码的流程1.创建SparkConf()2.创建SparkContext()3.创建RDD4.对RDD使用Transformation类算子进行数据转换5.对RDD使用Action类算子进行触发执行6.sc.stop()1.Spark算子的分类1.Transformation类算子——懒执行2.Action类算子——触发懒执行算子执行3

2021-01-19 22:10:46 161 6

原创 Spark本地运行时出现java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200.

Spark本地运行时出现java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200. 1.出现错误的代码1.出现该错误的原因2.解决方法1.出现错误的代码java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200. Please increase heap size using

2021-01-18 20:12:18 469 2

原创 sqoop将数据从MySQL导入到hive中的步骤,以及会出现的问题

sqoop导入数据的步骤以及会出现的问题1.关于sqoop连接MySQL的一些命令1.列出MySQL数据库中的所有数据库2.连接mysql并列出数据库中的表3.将MySQL的first表结构复制到Hive的student库中,表名为first4.将mysql表的数据导入到hive中1. 追加数据2. 覆盖数据5.将hive表的数据导入到mysql中2.sqoop导数据时会出现以下问题:1. 解决方法3.sqoop的执行原理1.关于sqoop连接MySQL的一些命令1.列出MySQL数据库中的所有数据库

2021-01-17 23:18:03 681 2

原创 Hive启动报错:Name node is in safe mode。

Hive启动出现:Name node is in safe mode1.解决方法Exception in thread “main” java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory /tmp/hive/root/6b8123ac-7e03-4579-a1da

2021-01-16 22:54:36 762

原创 Spark中RDD、DataFrame和DataSet三者的区别

Spark中RDD、DataFrame和DataSet三者的关系1.共性:2.区别:1.RDD2.DataFrame3.DataSet3.Spark millb简介:1. Spark包含一个提供常见的机器学习(ML)功能的程序库,叫做MLlib。2.MLlib的设计理念:把数据以RDD的形式表示,然后在分布式数据集上调用各种算法。1.共性:1.RDD、 DataFrame、DataSet都是spark平台下的分布式数据集,为处理超大型数据提供便利;2.三者都有惰性机制,在进行创建、转换时,不会立即执行

2021-01-15 19:39:46 2160

原创 面试常问之--数据仓库:为什么要分层?分为哪几层?数据仓库的特点?

数据仓库为什么要分层1.把复杂问题简单化。2.减少重复开发。3.隔离原始数据。1.ODS层:原始数据层2.DWD层:明细数据层3.DWS层:服务数据层4.DWT层:主题数据层5.ADS层:数据应用层1.把复杂问题简单化。可以将一个复杂的任务分解成多个步骤来完成,每层只处理单一的一个步骤。2.减少重复开发。规范数据分层,通过使用中间层数据,可以大大减少重复计算量,增加计算结果的复用性。3.隔离原始数据。数据仓库具体如何分层取决于设计者对数据仓库的整体规划,不过大部分的思路是相似的,一般分为以下5层

2021-01-05 21:14:15 2002

原创 大数据实战项目之---搜狗用户日志分析系统

第一章:项目需求分析与设计1.项目需求分析2.系统架构设计3.数据流程设计4.集群角色规划1.项目需求分析(1)采集用户海量浏览日志信息(2)实时统计分析TopN用户浏览最高的新闻话题(3)实时用户分析已经曝光的新闻话题总量(4)实时统计用户新闻浏览量最高的时间段2.系统架构设计3.数据流程设计4.集群角色规划第二章:环境的准备1.项目需求分析2.系统架构设计3.数据流程设计4.集群角色规划...

2021-01-05 08:48:04 581

原创 【已解决】Hive启动时报Exception in thread “main“ java.lang.RuntimeException: java.net.ConnectException

hive启动时报Exception in thread "main" java.lang.RuntimeException: java.net.ConnectException: Call From hadoop101/192.168.2.101 to hadoop101:9820 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/ha

2021-01-03 22:52:43 5858 5

原创 hive与spark兼容版本汇总

hive与spark兼容版本的汇总1.通过官网的查阅得到以下信息,小伙伴们就不需要再自己去官网查看啦2.官网还给出了一句话:1.通过官网的查阅得到以下信息,小伙伴们就不需要再自己去官网查看啦2.官网还给出了一句话:Hive on Spark is only tested with a specific version of Spark, so a given version of Hive is only guaranteed to work with a specific version of S

2021-01-03 22:14:00 5546 4

原创 HashMap底层实现原理及面试常见问题

HashMap底层源码分析1.HashMap底层采用的存储结构1.在JDK1.7及之前采用的存储结构是数组+链表2.到了JDK1.8之后采用的是数组+链表+红黑树2.HashMap实现的原理1.put()方法。2.get()方法。3.HashMap源码分析HashMap在面试中经常被问到,今天就对hashMap的底层源码进行分析和解释1.HashMap底层采用的存储结构1.在JDK1.7及之前采用的存储结构是数组+链表我们知道链表的优点是适合增删,但是存储的数据很多时查找的效率会很低,因此针对查找效

2021-01-02 17:27:00 1132 4

原创 【hive面试】Hive分区和分桶的区别

Hive分区和分桶的区别1.hive分区2.hive分桶1.hive分区分区针对的是数据的存储路径,分区提供一个隔离数据和优化查询的便利方式。不过并不是所有的数据集都可形成合理的分区。create table student_partitioned(score int , name string ,name string) partitioned by (age int) row format delimited fields terminated by '\t';2.hive分桶分桶针对的是数

2020-12-24 14:08:39 1570

大数据爱慕课项目.zip

本项从flume日志采集到Kafka,通过SparkStreaming进行实时处理,将清洗后得数据传到HBase进行存储,通过SpringBoot和Echarts进行实时可视展示

2021-03-22

空空如也

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

TA关注的人

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