自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 资源 (4)
  • 收藏
  • 关注

原创 Flink 维表关联

但是,当我们的流计算数据过大,会对外 部系统带来巨大的访问压力,一旦出现比如连接失败、线程池满等情况,由于我们是同步调用,所以一般会导致线程阻塞、Task 等待数据返回,影响整体任务的吞吐量。利用 Flink 的 RichAsyncFunction 读取 mysql 的数据到缓存中,我们在关联维度表时先去查询缓存,如果缓存中不存在这条数据,就利用客户端去查询 mysql,然后插入到缓存中。

2023-10-24 15:49:49 568

原创 关于OLAP如何选型的思考

Aapche Impala强依赖于CDH的生态,Apache Drill和Apache HAWQ社区都不太活跃。因此现在Presto风头强于 Impala;

2023-07-16 09:44:25 440

原创 Analytic DB使用优化

如果能够预知数 据的分布,确定二级分区的范围,可以在查询条件中增加二级分区列条件,这样可以快速过滤无效的二级分区 ,减少搜索范围。对于子查询,分析型数据库会首先执行子查询,并将子查询的结果保存在内存中,然后将该子查询作为一个逻 辑表,执行条件筛选。基本原理分析型数据库的表一级分区采用hash分区,可指定任意一列(不支持多列)作为分区列,然后采用以 下标准CRC算法,计算出CRC值,并将CRC值模分区数,得出每条记录的分区号。原因在于,实时表的最新数据(基线合并后写入的数据),索引能力很弱,查询性能非常差。

2023-07-16 09:40:28 747

原创 Flink Exactly-once 实现原理解析

通常情况下,流式计算系统都会为用户提供指定数据处理的可靠模式功能,用来表明在实际生产运行中会对数据处理做哪些保障,Flink提供了Exactly-once语义来保障我们的流任务数据处理的精准一致性

2022-10-24 22:57:50 1562 1

原创 ClickHouse表引擎详解

ClickHouse 的表引擎是 ClickHouse 服务的核心,它们决定了 ClickHouse 的行为

2022-09-05 16:32:35 5922

原创 使用python监控阿里云rds mysql运行情况

主要功能: 监控rds运行情况,并发送到钉钉群里监控内容包括:rds 磁盘、内存、CPU等信息慢sql查询统计情况# -*- coding: utf-8 -*-# title : rdsInfo# description : 获取rds相关信息# author : qianyulin# email : [email protected]# date : 2021/12/17 9:59 上午# version

2022-02-13 13:32:25 1352

原创 python 爬取世界各国以及中国各省份疫情历史数据

python 爬取世界各国以及中国各省份疫情历史数据# title : data_sync#description : 获取世界各国以及中国各省份疫情历史数据#author : qianyulin#email : [email protected]#date : 2021-10-30 12:00:00#version : 1.0#usage : python3 yq_data_pro.py#p

2021-11-06 18:41:44 2458 8

原创 数据仓库建设之元数据管理

1 元数据介绍1、元数据是什么?      描述数据的数据如果我们要描述清楚一个实际的数据,以某张表为例,我们需要知道表名、表别名、表的所有者、数据存储的物理位置、主键、索引、表中有哪些字段、这张表与其他表之间的关系等等。所有的这些信息加起来,就是这张表的元数据。2、元数据管理,是数据治理的核心和基础元数据就相当于是所有数据的一张地图。在这张关于数据的地图中,我们可以知道:我们有哪些数据?数据分布在哪里?这些数据分别是什么类型?数据之间有什么关系?哪些数据经常被引用?哪些数据无人

2021-07-19 16:20:07 833

原创 数据仓库建设之数据模型

数据模型​  数据模型是对现实事物的反映和抽象,能帮助我们更好地了解客观世界。数据模型定义了数据之间的关系和结构,使得我们可以有规律地获取想要的数据。例如,在一个超市里,商品的布局都有特定的规范,商品摆放的位置是按照消费者的购买习惯以及人流走向进行摆放的1、数据模型的作用​  数据模型是业务需求分析之后,数据仓库工作开始的第一步。良好的数据模型可以帮助我们更好地存储数据,更有效地获取数据,保证数据间的一致性。2、模型设计的基本原则高内聚和低耦合  一个逻辑和物理模型由哪些记录和字段组成,应该遵循

2021-07-19 16:06:41 459

原创 Hive SQL转化为MapReduce的过程

编译 SQL 的任务是在上节中介绍的 COMPILER(编译器组件)中完成的。Hive将SQL转化为MapReduce任务,整个编译过程分为六个阶段:词法、语法解析: Antlr 定义 SQL 的语法规则,完成 SQL 词法,语法解析,将 SQL 转化为抽象语法树 AST TreeAntlr是一种语言识别的工具,可以用来构造领域语言。使用Antlr构造特定的语言只需要编写一个语法文件,定义词法和语法替换规则即可,Antlr完成了词法分析、语法分析、语义分析、中间代码生成的过程。语义解析:

2021-05-25 21:21:39 5267

原创 Kafka为什么这么快?

从高度抽象角度来看,性能问题逃不出下面三个方面:网络磁盘复杂度对于 kafkaf这种网络分布式队列来说,网络和磁盘更是优化的重中之重,针对上面提出的抽象问题,解决方案高度抽象出来也很简单:并发压缩批量缓存算法优化点:1.顺序写(producer -> broker)为什么说写磁盘慢?完成一次磁盘IO,需要经过 寻道、旋转和数据传输三个步骤:寻道时间:Tseek是指将读写磁头移动至正确的磁道上所需要的时间旋转延迟: trotation是指盘片旋转将请求数据所在的扇

2021-03-28 17:16:14 152

原创 Flink中Watermark的理解

1、案例(为什么要有watermark)在理解Watermark之前我们先看个案例我们有一个带有时间戳的事件流,这些事件并不是按顺序到达的。图中的数字表示事件发生的时间。第一个事件在时间4到达,后面跟着一个发生时间更早的事件(时间2),以此类推​ 注意这是一个基于事件时间处理的例子,这意味着时间戳反映的是事件发生的时间,而不是事件处理的时间。基于事件时间处理的强大之处在于创建流处理程序无论是处理实时的数据还是重新处理历史的数据,都能保证结果的一致。需求:将收集到的数据流按照事件时间排序?说

2020-12-14 17:07:18 645

原创 数据仓库分层设计(基于Hive)

1、数据仓库逻辑分层架构 先来看数据仓库的逻辑分层架构: 分层名称可能不一样,但基本是都是这样想要看懂数据仓库的逻辑分层架构,先要弄懂以下概念数据源 : 数据来源,互联网公司的数据来源随着公司的规模扩张而呈递增趋势,同时自不同的业务员,比如埋点采集,客户上报,API等。 ODS层 : 数据仓库源头系统的数据表通常会原封不动地存储一份,这称为ODS层,ODS层也经常会被称为准备层。这一层做的工作是贴源,而这些数据和源系统的数据是同构,一般对这些数据分为全量更新和增量更新,通常在贴...

2020-09-14 16:28:07 1450

原创 spark实际工作中资源分配策略

执行Spark任务,资源分配是很重要的一方面。如果配置不准确,Spark任务将耗费整个集群的机缘导致其他应用程序得不到资源。怎么去配置Spark任务的executors,cores,memory,有如下几个因素需要考虑:数据量任务完成时间点静态或者动态的资源分配上下游应用Spark应用当中术语的基本定义:Partitions : 分区是大型分布式数据集的一小部分。 Spark使用分区来管理数据,这些分区有助于并行化数据处理,并且使executor之间的数据交换最小化Task: 任务是一个

2020-08-23 10:41:47 875

原创 Spark RDD容错原理

文章目录一、Spark RDD容错原理二、RDD容错的四大核心要点1.调度层(包含DAG生成和Task重算两大核心)1)DAG生成层2)Task计算层2.RDD Lineage血统层容错3.checkpoint层容错一、Spark RDD容错原理RDD不同的依赖关系导致Spark对不同的依赖关系有不同的处理方式。对于宽依赖而言,由于宽依赖实质是指父RDD的一个分区会对应一个子RDD的多个分区,在此情况下出现部分计算结果丢失,单一计算丢失的数据无法达到效果,便采用重新计算该步骤中的所有数据,从而会导致计

2020-07-14 08:45:11 615

原创 HBase深入理解

可能有的图片显示不出来,如有需要,请留邮箱我发给你!文章目录1、Hbase基本介绍1.1 什么是HBase1.2 Hbase有什么特点1.3 Hbase表结构1.4 Hbase基本架构1.4.1 Region Server1.4.2 HBase Master1.4.3 Zookeeper1.4.4 这些组件如何一起协调工作2、深入理解HBase的原理2.1 client 访问HBase的数据2.2 深入Region Server2.3 Client 写数据到HBase2.4 MenStore Flush

2020-07-09 16:56:52 295

原创 typora编写markdown语法说明

文章目录1、标题2、如何生成目录3、文本居中4、下划线5、删除线6、字体加粗7、字体倾斜8、图片插入9、超链接10、代码区域11、表格的使用12、任务列表有序无序列表多级无序列表有序列表 (1.)空格13、水平分隔线14、引用的使用格式15、表情16、数学表达式17、Mermaid流程图18、首行缩进19、字体颜色1、标题# 一级标题(ctrl +1)## 二级标题(ctrl+2)### 三级标题(ctrl+3)#### 四级标题(ctrl+4)##### 五级标题(ctrl+5)2

2020-06-26 22:31:19 294

原创 hadoop集群启动yarn时出现的问题和解决方法

1、问题使用start-all.sh 启动hdfs和yarn集群 ,启动后发现resourcemanager没启动,查看日志报错:2020-06-01 09:42:21,280 INFO org.apache.hadoop.service.AbstractService: Service org.apache.hadoop.yarn.server.resourcemanager.AdminService failed in state INITED; cause: org.apache.had

2020-06-01 10:15:12 5441

原创 Vertcia高阶函数

1、group by 后连接字符串1)使用Strcat函数(vertica版本9.1以上)select promo_id,public.strcat(deptname) over(partition by promo_id) deptnamefrom $mpp_schema_dev$.tmp_p_app_cond_bill_discount_day_02 a2)使用coalesce或nvl 后接 maxselect ccust_row_id ,max(decode(rk,1,a.t.

2020-05-26 17:59:15 1290

原创 Flink流处理计算平均温度案例

功能:模拟实时统计,将华氏换算成摄氏度并计算每秒的平均温度。1、用于保存SensorReading数据的案例类SensorReading.scalapackage io.github.streamingwithflink.util/** Case class to hold the SensorReading data. */case class SensorReading(id: String, timestamp: Long, temperature: Double)2、自定义..

2020-05-26 17:39:54 1185

原创 Flink的基础概念

Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink设计为在所有常见的集群环境中运行,以内存速度和任何规模执行计算。主要分享Flink时间语义、状态与检查点等核心概念1、时间语义 在流处理中,时间是一个非常核心的概念,是整个系统的基石。比如,我们经常会遇到这样的需求:给定一个时间窗口,比如一个小时,统计...

2020-04-28 14:38:43 886

原创 关于MySQL锁的几大问题?

1、对MySQL的锁了解吗当数据库有并发事务的时候,可能会产生数据的不一致,这时候需要一些机制来保证访问的次序,锁机制就是这样的一个机制。就像酒店的房间,如果大家随意进出,就会出现多人抢夺同一个房间的情况,而在房间上装上锁,申请到钥匙的人才可以入住并且将房间锁起来,其他人只有等他使用完毕才可以再次使用。2、隔离级别与锁的关系在Read Uncommitted级别下,读取数据不...

2020-04-22 19:59:11 191

原创 HBase 刷写与合并机制介绍

HBase 是目前主流的 NoSQL 数据库,是一个高可靠、高性能、高伸缩的分布式 KV 存储系统,本文讲解 HBase 两个核心机制——刷写(Flush)与合并(Compaction),重点介绍其原理及参数配置建议。1、为什么要进行刷写和合并 HBase 是 Google BigTable 的开源实现,底层存储引擎是基于 LSM树(Log-St...

2020-04-22 10:12:39 185

原创 MapReduce shuffle中快速排序详解

MapReduce中使用的快速排序在经典的快速排序之上进行了一些列的优化,具体优化处理如下:由于快速排序的分割基数(基数左边的数都不大于该基数,而右边的都不小于该基数)选择的好坏直接影响快速排序的性能,最坏的情况是划分过程中是中产生两个极端不对称称的子序列——一个长度为1而另一个长度为n-1,此时有最坏的时间复杂度O(N^2),为了减小出现划分严重不对称的可能性,Hadoop将序列的守卫和中...

2020-03-26 16:30:20 993

原创 HBase API操作

1、导入依赖<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version>1.2.6</version></dependency><dependency...

2020-03-20 17:28:05 113

原创 Centos 7 安装Python3的方法

1、官网下载 python3.x.x.tar.xz文件 2、上传到linux中利用sftp put3、创建文件夹mkdir /usr/local/python34、解压压缩包,进入该目录,安装Python3tar -xvJf Python-3.6.10.tar.xzcd Python-3.6.10.tar.xz ./configure --pref...

2020-03-18 10:21:02 112

原创 ZooKeeper原理

1、原理概述 ZooKeeper 的核心是原子广播机制,这个机制包子了各个server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式和广播模式。(1) 恢复模式 当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数server完成了和leader的状态同步以后,恢复模式就结束了。状...

2020-03-13 18:13:08 181 1

原创 MapReduce作业的map task和reduce task调度参数

MapReduce作业可以细分为map task和reduce task,而MRAppMaster又将map task和reduce task分为四种状态:  1、pending:刚启动但尚未向resourcemanager发送资源请求;  2、scheduled:已经向resourceManager发送资源请求,但尚未分配到资源;  3、assigned:已经分配到了资源且正在运行;...

2020-03-08 12:58:23 486

原创 MapReduce的shuffle和Spark的shuffle区别

一、MapReduce的shuffle1、mapShuffle 数据存到hdfs中是以块进行存储的,每一个块对应一个分片,maptask就是从分片中获取数据的 在某个节点上启动了mapTask,mapTask读取是通过k-v来读取的,读取的数据会放到环形缓存区,这样做的目的是为了防止IO的访问次数,然后环形缓存区的内存达到一定的阀值的时候会把文件益写到磁盘,...

2020-02-29 13:17:15 1354

原创 Kafka 生产者(Producer)详解

Producer : 消息生产者,就是向Kafka broker 发消息的客户端。 下面将从producer的分区策略,数据可靠性保证、Exactly Once、Producer API 来进行介绍。1、分区策略1)分区原因 方便在集群中扩展(相当于负载) :每个Partition 可以通过调整以适应它所在的机...

2020-01-08 11:15:29 6359

原创 Sublime text3下载、安装插件以及在安装中出现的问题解决方法

最近想给sublime text3中更换Python环境,结果出现了一大堆问题,所以决定重新配置了一遍,以下内容都是本人尝试成功的。一、sublime text3的下载和安装1、下载可以在官网中下载:也可以在我分享的百度网盘里面: https://pan.baidu.com/s/1PHtdOZnFyFT9Sx...

2019-12-25 17:16:04 688

原创 zookeeper如何保证数据一致性?

一致性协议有很多种,比如 Paxos,Raft,2PC,3PC等等,今天我们讲一种协议,ZAB 协议,该协议应该是所有一致性协议中生产环境中应用最多的了。为什么呢?因为他是为 Zookeeper 设计的分布式一致性协议!一、什么是 ZAB 协议? ZAB 协议介绍1、ZAB 协议全称:Zookeeper Atomic Broadcast(Zookeeper 原子广播协议)。2、Zook...

2019-12-25 10:10:05 633 8

原创 深入理解 spark 的checkpoint 机制

我们应该都很熟悉 checkpoint 这个概念, 就是把内存中的变化刷新到持久存储,斩断依赖链 在存储中 checkpoint 是一个很常见的概念, 举几个例子:数据库 checkpoint 过程中一般把内存中的变化进行持久化到物理页, 这时候就可以斩断依赖链, 就可以把 redo 日志删掉了, 然后更新下检查点, hdfs namenode 的元数据 editlog, Secondar...

2019-12-23 16:45:23 536

原创 详解Hive分区和分桶

一、分区 hive表就是hdfs的上的一个目录hive表中的数据,其实就是对应了HDFS上的一个目录下的数据概念:对hive表的数据做分区管理创建分区表:create table student_ptn(id int, name string) partitioned by (age int, department string) row format ...

2019-12-17 17:46:24 624

原创 Hive常见的面试题

总结下Hive的面试点Hive可考察的内容有:基本概念、架构、数据类型、数据组织、DDL操作、函数、数据倾斜、SQL优化、数据仓库。面试数据分析工程师更多会考察DDL操作、函数、数据倾斜、Hive优化、数据仓库这些知识点。来看看具体问题吧。1、基本概念 基本概念一般会以问答题的方式进行考察,比如在面试的时候直接问:说说你对Hive的理解?Hive的作用有哪些?这种类似的问题...

2019-12-04 19:30:46 13463 3

原创 Kafka 是如何保证数据可靠性和一致性

1、数据可靠性 下面从Producter 往 Broker 发送消息、Topic 分区副本以及 Leader 选举几个角度介绍数据的可靠性。Producer 往 Broker 发送消息 如果我们要往 Kafka 对应的主题发送消息,我们需要通过 Producer 完成。前面我们讲过 Kafka 主题对应了多个分区,每个分区下面又对应了多个副本;为...

2019-11-28 19:14:50 427

原创 SparkStreaming读取Kafka的数据并写入到HBase

1、编写HBase工具类package HBaseDao;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.client.HBaseAdmin;import org.apache.hadoop.hbase.client.HTable;import org.apache.hadoop....

2019-11-27 16:40:51 2315 4

原创 git 提交修改代码到github(详细教程)

1、git第一次上传文件到github 首先安装git ,参考网上教程 配置用户名和密码 git config user.name "Your Name" git config user.email "[email protected]" 查看当前用户信息: git config --list...

2019-11-23 11:33:34 5514

原创 ReduceByKey、GroupByKey和AggregateByKey的区别

1、先看源码1)ReduceByKey def reduceByKey(partitioner: Partitioner, func: (V, V) => V): RDD[(K, V)] = self.withScope { combineByKeyWithClassTag[V]((v: V) => v, func, func, partitioner) }...

2019-11-22 18:01:02 836

原创 Yarn的三种资源调度器

主要有三种:FIFO,Capacity Scheduler(容量调度器)和Fair Scheduler(公平调度器)。 Hadoop2.7.2默认的资源调度器是Capacity Scheduler。1、FIFOScheduler将所有的Applications放到队列中,先按照作业的优先级高低、再按照到达时间的先后,为每个app分配资源。如果第一个app需要的...

2019-10-29 15:13:40 1607

mapreduceDemo.zip

主要包括mapreduce自定义分区,排序,分组的过程,最后以实际在生产中的小demo作为演示,可以让初学者对于mapreduce程序有更深层次的了解。

2019-09-11

teamviewer14永久免费版

teamviewer14永久免费版,可以永久使用,不会的在下面问一下,我来解答

2019-04-17

spark的window窗口函数

spark窗口函数的测试代码和数据 主要包括 countByKeyValueAndWindow reduceByKeyAndWindows

2019-01-09

spark实时项目

内容包括 1、用户访问sesssion的实时分析和根据不同条件进行过滤 2、根据用户的点击次数,下单次数,支付次数进行二次排序 3、将结果实现存入数据库,并用echart进行展示

2019-01-03

空空如也

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

TA关注的人

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