自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Zookeeper作业

一、基于Zookeeper实现简易版配置中心要求实现以下功能:1. 创建一个Web项目,将数据库连接信息交给Zookeeper配置中心管理,即:当项目Web项目启动时,从Zookeeper进行MySQL配置参数的拉取2. 要求项目通过数据库连接池访问MySQL(连接池可以自由选择熟悉的)3. 当Zookeeper配置信息变化后Web项目自动感知,正确释放之前连接池,创建新的连接池思路1.启动程序,使用默认的配置项zk中创建永久节点,并使用该配置连接数据库2.使用zk监听文件内容变化,当

2021-07-08 16:21:23 343

原创 Hbase作业

在社交网站,社交APP上会存储有大量的用户数据以及用户之间的关系数据,比如A用户的好友列表会展示出他所有的好友,现有一张Hbase表,存储就是当前注册用户的好友关系数据,如下需求 使用Hbase相关API创建一张结构如上的表 删除好友操作实现(好友关系双向,一方删除好友,另一方也会被迫删除好友) 例如:uid1用户执行删除uid2这个好友,则uid2的好友列表中也必须删除uid1 协处理器监听是针对region的操作,这两次delete会形成递归调用,使用..

2021-07-08 16:09:08 482

原创 Azkaban作业

现有用户点击行为数据文件,每天产生会上传到hdfs目录,按天区分目录,现在我们需要每天凌晨两点定时导入Hive表指定分区中,并统计出今日活跃用户数插入指标表中。日志文件clickloguserId click_time indexuid1 2020-06-21 12:10:10 a.html uid2 2020-06-21 12:15:10 b.html uid1 2020-06-21 13:10:10 c.html uid1 2020-...

2021-07-08 16:05:40 345

原创 JSONObject导包导不对,一招解决

在pom<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.33</version></dependency>

2021-06-21 11:56:16 574

原创 Flink 中的窗口

在流式计算中,我们所接入的数据集是无限流,或者说是没有边界的数据流。那么有没有办法将无限流转换为有限流呢?这里就需要引入 Window(窗口)的概念,通过 Window 我们可以按照固定时间或长度将无限数据流切分成不同长度的有限数据块,然后在每个窗口内针对数据块进行聚合运算。Window 分类Keyed Window 和 Global WindowTime Window 和 Count WindowWindow APITime Window 和 Count WindowTime Window基

2021-06-16 11:54:47 314

原创 Flink的安装部署

Flink的安装部署首先打开终端 ,在/home/xxx/ 下执行命令获取安装包:wget https://labfile.oss.aliyuncs.com/courses/3423/flink-1.10.0-bin-scala_2.11.tartar -xvf flink-1.10.0-bin-scala_2.11.tar将其解压到该目录下。如果你学习过 Spark 的话,那么你应该会觉得接下来的内容似曾相识。在 Flink 中有三种部署模式,分别是 Standalone、Yarn 模式和 K

2021-06-11 11:38:30 341 2

原创 Hadoop生态圈技术栈(中)

第一阶段模块三作业Impala作业题业务:实现:结果:Impala作业题业务背景现有收集到用户的页面点击行为日志数据,数据格式如下:用户id, 点击时间user_id click_timeA,2020-05-15 01:30:00A,2020-05-15 01:35:00A,2020-05-15 02:00:00A,2020-05-15 03:00:10A,2020-05-15 03:05:00B,2020-05-15 02:03:00B,2020-05-15 02:29:40B,

2021-06-09 15:07:23 130

原创 Hadoop生态圈技术栈(上)

作业题 1、找出全部夺得3连贯的队伍team,year活塞,1990公牛,1991公牛,1992公牛,1993火箭,1994火箭,1995公牛,1996公牛,1997公牛,1998马刺,1999湖人,2000湖人,2001湖人,2002马刺,2003活塞,2004马刺,2005热火,2006马刺,2007凯尔特人,2008湖人,2009湖人,2010create table t1(team string,year int)row format delim

2021-06-08 16:17:41 423

原创 数据库E-R图基础整理

数据库ER图基础概念整理ER图分为实体、属性、关系三个核心部分。实体是长方形体现,而属性则是椭圆形,关系为菱形。ER图中关联关系有三种:ER实体补充讲解:ER属性补充讲解:ER图分为实体、属性、关系三个核心部分。实体是长方形体现,而属性则是椭圆形,关系为菱形。**ER图的实体(entity)**即数据模型中的数据对象,例如人、学生、音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entity member)或者说实体对象(entity instance),例如学生实体里包括张三、

2021-06-08 11:40:23 3371

原创 数据倾斜问题

数据倾斜问题一、什么是数据倾斜二、数据倾斜的危害三、数据倾斜的现象四、数据倾斜的原因五、问题发现与定位1、通过 Spark Web UI2、通过 key 统计六、如何缓解数据倾斜基本思路思路1. 过滤异常数据思路2. 提高 shuffle 并行度思路3. 自定义 Partitioner思路4. 拆分 join 再 union思路5. 大表 key 加盐,小表扩大 N 倍 jion思路6. map 端先局部聚合思路7. 加盐局部聚合 + 去盐全局聚合七、Hadoop 中的数据倾斜一、什么是数据倾斜对 Sp

2021-06-04 14:59:48 261

原创 维度建模的主要是4个主要决策

维度建模的主要是4个主要决策:1、选择业务过程业务过程是通常表示的是业务执行的活动,与之相关的维度描述和每个业务过程事件关联的描述性环境。通常由某个操作型系统支持,例如:订单系统。业务过程建立或获取关键性能度量。一系列过程产生一系列事实表。2、声明粒度粒度传递的是与事实表度量有关的细节级别。精确定义某个事实表的每一行表示什么。对事实表的粒度要达成共识。3、确认维度健壮的维度集合来粉饰事实表。维度表示承担每个度量环境中所有可能的单值描述符。4、确认事实不同粒度的事实必须放在不同的事

2021-06-01 13:04:32 367

原创 Clickhouse的特点

Clickhouse的特点一.行存储与列存储的对比区别:二.clickhouse快的特点三.clickhouse的核心模块源码大致解析四.ch的mutation(突变)五.MPP列式存储的数据库,但是为什么只有clickhouse性能如此出众?greenplum也是mmp架构的,两个mmp架构的数据库对比的区别是什么?六.地址一.行存储与列存储的对比区别:1.在大量的分析场景中,往往只需要读取固定的几列数据,行存储时,很多的列都会存在一个block中,往往不需要被读取的数据也会被全部读取,浪费了大量的i

2021-06-01 11:11:03 288

原创 手写MapReduce

MapperDemopackage com.work;/** * Created by Colin_li on 2021-05-19 23:44 */import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.NullWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import java.i

2021-05-20 00:02:12 209

原创 Python学习笔记之(python数据结构、装饰器及文件操作)

目录字符串常见数据类型及操作函数相关操作装饰器文件操作json序列化总结字符串Python3中统一采用Unicode编码,也封装了字符串类strmystr = 'RoyKun'result = mystr.index('R') # 获取字符索引,没找到会崩溃print(result) # 0result = mystr.find('K') # 获取字符索引,如果没找到返回-1print(result) # 3 区分大小写哦!result = mystr.count('u')

2021-04-30 11:51:26 106

原创 Mac下PyCharm快捷键大全

Mac下PyCharm快捷键大全Mac键盘符号和修饰键说明导航编辑查找通用Mac键盘符号和修饰键说明⌘ Command⇧ Shift⌥ Option⌃ Control↩︎ Return/Enter⌫ Delete⌦ 向前删除键(Fn+Delete)↑ 上箭头↓ 下箭头← 左箭头→ 右箭头⇞ Page Up(Fn+↑)⇟ Page Down(Fn+↓)Home Fn + ←End Fn + →⇥ 右制表符(Tab键)⇤ 左制表符(Shift+Tab)⎋ Escape (E

2021-04-30 11:46:54 636

转载 C1认证:计算机网络

C1—任务02–计算机网络1.任务11.1 结题思路1.2 解题步骤1.任务1使用的工具:谷歌浏览器,fidlie,postman1.1 结题思路我们向Web服务器发送请求到获得信息过程如下:我们输入网址,相当于给服务器提交了一个请求,服务器接到请求之后,会寻找对应的资源,如果资源存在则加载资源在浏览器进行渲染,显示出对应的信息,如果不存在则返回400等信息。我们请求分为两类 POST 和 GET,POST比GET传输数据量大,以表格方式提交信息,获取服务器响应。1.2 解题步骤1.打开fidl

2021-04-30 11:37:34 185

原创 Clickhouse(四)数据类型

第3章 数据类型第3章 数据类型3.1 与其他框架比较3.2 整型3.3 浮点型3.4 布尔型3.5 字符串3.6 枚举类型3.7 数组3.8 元组3.9 Date第3章 数据类型3.1 与其他框架比较3.2 整型固定长度的整型,包括有符号整型或无符号整型。整型范围(-2n-1~2n-1-1):Int8 - [-128 : 127]Int16 - [-32768 : 32767]Int32 - [-2147483648 : 2147483647]Int64 - [-92233720368

2021-04-22 16:17:45 104

原创 Clickhouse(三)Clickhouse安装

Clickhouse安装第2章 安装2.1 网址2.2 单机模式2.2.1 上传4个文件到/opt/software/ck2.2.2分别安装这4个rpm文件2.2.3 启动ClickServer2.2.4 使用client连接server2.2.5 客户端常用参数2.2.6 关闭ClickServer2.3 分布式集群安装2.3.1 在hadoop103,hadoop104上面执行之前的所有步骤2.3.2 三台机器修改配置文件config.xml2.3.3 在三台机器的etc目录下新建metrika.xml

2021-04-22 16:03:50 313

原创 Clickhouse(二)ClickHouse概述及安装准备

ClickHouse概述第1章 ClickHouse概述1.1 什么是ClickHouse1.2 什么是列式存储1.3 安装前的准备1.3.1 CentOS取消打开文件数限制1.3.2 CentOS取消SELINUX1.3.3 关闭防火墙1.3.4 安装依赖第1章 ClickHouse概述1.1 什么是ClickHouseClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。1.2 什么

2021-04-22 15:57:55 82

原创 Clickhouse(一)介绍

Clickhouse官网:Clickhouse官网本系列文章主要讲述Clickhouse实操与遇到的一些问题等ClickHouse是一个面向联机分析处理(OLAP)的开源的面向列式存储的DBMS,简称CK, 与Hadoop, Spark相比,ClickHouse很轻量级,由俄罗斯第一大搜索引擎Yandex于2016年6月发布, 开发语言为C++ClickHouse的特点:开源的列存储数据库管理系统,支持线性扩展,简单方便,高可靠性,容错跑分快:比Vertica快5倍,比Hive快279倍,比MyS

2021-04-22 15:43:55 688

原创 ETL的过程原理及数据仓库建设

一、 数据仓库建设数据仓库建设中的ETL(Extract, Transform, Load)是数据抽取、转换和装载到模型的过程,整个过程基本是通过控制用SQL语句编写的存储过程和函数的方式来实现对数据的直接操作,SQL语句的效率将直接影响到数据仓库后台的性能。目前,国内的大中型企业基本都具有四年以上计算机信息系统应用经验,积累了大量可分析的业务数据,这些信息系统中的数据需要通过搭建数据仓库平台才能得到科学的分析,这也是近几年数据仓库系统建设成为IT领域热门话题的原因。二、优化的思路分析数据仓库ETL

2021-01-12 13:24:40 1885

原创 数据仓库建模和ETL实践技巧

一、数据仓库的架构数据仓库(Data Warehouse DW)是为了便于多维分析和多角度展现而将数据按特定的模式进行存储所建立起来的关系型数据库,它的数据基于OLTP源系统。数据仓库中的数据是细节的、集成的、面向主题的,以OLAP系统的分析需求为目的。数据仓库的架构模型包括了星型架构与雪花型架构两种模式。星型架构的中间为事实表,四周为维度表,类似星星;而相比较而言,雪花型架构的中间为事实表,两边的维度表可以再有其关联子表,从而表达了清晰的维度层次关系。从OLAP系统的分析需求和ETL的处理效率两方面

2021-01-12 12:04:13 290 1

原创 SQL的各种连接(cross join、inner join、full join)的用法理解 SQL中的连接可以分为内连接,外连接,以及交叉连接

SQL的各种连接(cross join、inner join、full join)的用法理解SQL中的连接可以分为内连接,外连接,以及交叉连接 。交叉连接CROSS JOIN复制代码如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积;举例,下列A、B、C 执行结果相同,但是效率不一样:A:SELECT * FROM table1 CROSS JOIN table2B:SELECT * FROM table1,table2C:select *

2020-10-13 20:05:59 227

原创 mysql遇见Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre的问题报错

mysql遇见Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre的问题解决方法二:成功的步骤:iterm打开sudo vim /etc/mysql/conf.d/mysql.cnf滚动到文件底部复制并粘贴[mysqld]sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO

2020-10-08 16:56:34 782

原创 CentOS7配置项解释

配置项解释:TYPE=Ethernet  #网络类型BOOTPROTO=dhcp  #网卡启动时IP使用什么协议配置 [none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)DEVICE=ens33  #设备名ONBOOT=no  #开机时是否启动网卡IPV6INIT=yes  #ipv6是否有效UUID      #网卡唯一标识USERCTL=no       #普通用户是否可以控制网卡NM_CONTROLLED=yes  #是否受n

2020-10-08 16:55:47 146

原创 Spark-RDD的宽窄依赖

RDD窄依赖和宽依赖RDD之间有一系列的依赖关系,依赖关系又分为窄依赖和宽依赖。窄依赖父RDD和子RDD partition之间的数据关系是一对一的。或者父RDD一个partition只对应一个子RDD的partition情况下的父RDD和子RDD partition关系是多对一的。不会有shuffle的产生。宽依赖父RDD与子RDD partition之间的数据关系是一对多。会有shuffle的产生。宽窄依赖图理解Stage提交Application是会创建来那个对象DAGSchedul

2020-10-08 15:58:41 125

原创 mysql设计三范式

第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以此类推。一般说来,数据库只需满足第三范式(3NF)就行了。所以这里就只记录三范式相关的知识。1、1NF:字段不可分,每个字段是原子级别的,上节中看到第一个字段为ID,它就是ID不能在分成两个字段了,不能说我要把这个人的ID、名称、班级号都塞在一个字段里

2020-10-08 15:57:29 167

原创 Centos7修改主机名命令

修改主机名(临时生效):hostname 主机名修改主机名(永久生效):hostnamectl set-hostname xxx修改主机名对应的ip:vim /etc/hosts

2020-10-08 15:55:41 471

原创 RDD数据倾斜解决方案

数据倾斜解决方案数据倾斜的解决,跟之前讲解的性能调优,有一点异曲同工之妙。性能调优中最有效最直接最简单的方式就是加资源加并行度,并注意RDD架构(复用同一个RDD,加上cache缓存)。相对于前面,shuffle、jvm等是次要的。1.原理以及现象分析1.1. 数据倾斜怎么出现的在执行shuffle操作的时候,是按照key,来进行values的数据的输出、拉取和聚合的。同一个key的values,一定是分配到一个reduce task进行处理的。多个key对应的values,比如一共是90万。

2020-10-08 15:42:28 274

原创 Spark-Shuffer调优

Spark-Shuffer调优Shuffle调优一:调节 map 端缓冲区大小在 Spark 任务运行过程中,如果 shuffle 的 map 端处理的数据量比较大,但是map 端缓冲的大小是固定的,可能会出现 map 端缓冲数据频繁 spill 溢写到磁盘文件中的情况,使得性能非常低下,通过调节 map 端缓冲的大小,可以避免频繁的磁盘IO 操作,进而提升 Spark 任务的整体性能。map 端缓冲的默认配置是 32KB,如果每个 task 处理 640KB 的数据,那么会发生 640/32 = 2

2020-10-08 15:31:11 150

原创 Kafka这些知识知道吗?

Kafka:定位:分布式的消息队列系统,同时提供数据分布式缓存功能(默认7天)削峰,解耦(高内聚,低耦合)消息持久化到磁盘,达到O(1)访问速度,预读和后写,对磁盘的顺序访问(比内存随机访问还要快)Streaming(分布式的实时计算框架)Kafka目标成为队列平台基本组件:Broker:每一台机器是一个BrokerProducer:日志消息生产者,主要写数据Consumer:日志消息消费者,主要读数据Topic:是虚拟概念,不同的consumer去指定的topic去读数据,不同prod

2020-09-09 19:40:47 88

原创 Redis常见问题之缓存穿透、击穿、雪崩、预热、更新、降级及对应的解决方案

RedisRedis是高性能的分布式内存数据库,对于内存数据库经常会出现下面几种情况,也经常会出现在Redis面试题中:缓存穿透、缓存击穿、缓存雪崩、缓存预热、缓存更新、缓存降级。本文分别介绍这些概念以及对应的解决方案。缓存穿透当查询Redis中没有的数据时,该查询会下沉到数据库层,同时数据库层也没有该数据,当这种情况大量出现或被恶意攻击时,接口的访问全部透过Redis访问数据库,而数据库中也没有这些数据,我们称这种现象为"缓存穿透"。缓存穿透会穿透Redis的保护,提升底层数据库的负载压力,同时这类

2020-09-09 15:51:33 635

原创 面试题:kafka的ACK参数-1,0,1分别代表的含义

一、kafka的ACK参数-1,0,1分别代表的含义这个acks参数在kafka的使用中,是非常核心以及关键的一个参数,决定了很多东西。Kafka producer有三种ack机制 初始化producer时在config中进行配置ack等于0:意味着producer不等待broker同步完成的确认,继续发送下一条(批)信息提供了最低的延迟。但是最弱的持久性,当服务器发生故障时,就很可能发生数据丢失。例如leader已经死亡,producer不知情,还会继续发送消息broker接收不到数据就会数

2020-09-08 09:55:30 4776

原创 数据仓库和数据库有什么区别

一、数据仓库1、什么是数据仓库?数据仓库(Data Warehouse),可简写为DW或DWH,数据仓库,是为了企业所有级别的决策制定计划过程,提供所有类型数据类型的战略集合。它出于分析性报告和决策支持的目的而创建。为需要业务智能的企业 ,为需要指导业务流程改进、监视时间,成本,质量以及控制等;2、数据仓库能干什么?年度销售目标的制定,需要根据以往的历史报表进行决策,不能随便制定。优化业务流程例如:某电商平台某品牌的手机,在过去5年主要的的购买人群的年龄在什么年龄段,在那个季节购买量人多,这样

2020-09-07 11:19:12 945

原创 hive开窗日期类型导致无法排序

hive开窗日期类型导致无法排序报错信息:FAILED:SemanticException Failed to breakup Windowing invocations into Groupst least 1 group must only depend on input columns.Also check for circular dedencies.Underlying error: Primitve type DATE not supported in Value Boundary exp

2020-09-03 13:51:02 879 2

原创 OOM是什么,OOM的解决方法

1.什么是OOM?OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。看下关于的官方说明: Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory could be made available by the garbage collector. 意思就是说,当

2020-09-03 13:41:25 1064

原创 CentOS7安装配置、MobaXterm远程连接之大数据学习(四)

上一篇大数据学习(三)VMWare、CentOS7下载&安装一、CentOS7安装二、CentOS7配置关闭防火墙:systemctl stop firewalld查看当前防火墙状态:systemctl status firewalld开机防火墙不启动:systemctl disable firewalld编辑网络配置:vi /etc/sysconfig/network-scripts/ifcfg-ens33关闭虚拟机:shutdown now重新启动网络:systemctl st

2020-09-01 09:04:40 516

原创 kafka(二)安装及测试

kafka 安装kafka操作(1)创建topic新建一个topickafka-topics.sh --zookeeper localhost:2181 --create --replication-factor 1 --topic test --partitions 1查看topickafka-topics.sh --zookeeper localhost:2181 --list 删除topickafka-topics.sh --delete --zookeeper localh

2020-09-01 09:04:04 103

原创 Kafka(一)kafka介绍

一、简介Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息

2020-09-01 09:03:34 193

原创 Java操作kafka生产者&消费者

Java 操作 kafka的生产者,发送消息“message,”加上随机数Java 操作 kafka的消费者,接收生产端发送的消息,并打印出来首先启动ZookeeperzkServer.sh start再开启kafka服务:kafka-server-start.sh $KAFKA_HOME/config/server.properties生产者:package com.lm.java;import org.apache.kafka.clients.producer.KafkaProduc

2020-08-27 14:44:37 294

空空如也

空空如也

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

TA关注的人

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