自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Apache Kylin

Kylin 大数据OLAP引擎 简介 Kylin-中国团队研发的,是第一个真正由中国人自己主导、从零开始、自主研发、并成为Apache顶级开源项目 Hive的性能比较慢,支持SQL灵活查询,特别慢 HBase的性能快,原生不支持SQL - phoenix:可以写sql语句来查询hbase!! Kylin是先将数据进行预处理,将预处理的结果放在HBase中。效率很高 应用场景 用户数据存在于Hadoop HDFS中,利用Hive将HDFS文件数据以关系数据方式存取,数据量巨大,在500G以上 每天有数G甚至数

2020-05-14 17:58:08 285

原创 数据仓库维度模型设计

1.维度建模基本概念 维度建模的作用:维度建模以分析决策的需求出发构建模型, 为分析需求服务, 它重点解决用户如何更快速完成分析需求。 维度建模是专门应用于分析型数据库、数据仓库、数据集市建模的方法。数据集市可以理解为是一种"小型数据仓库"。 事实表:发生在现实世界中的操作型事件,其所产生的可度量数值,存储在事实表中,可以理解他就是在现实中发生的一次操作型事件。 事实表的特征:表里没有存放实际的内...

2020-05-06 21:29:38 1147

原创 Apache HBase

HBase基本介绍 简介: hbase是bigtable的开源java版本。是建立在hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写nosql的数据库系统。它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。 主要用来存储结构化和半结构化的松散数据。 Hbase查询数据功...

2019-12-11 08:35:15 261

原创 Zookeeper

1.ZooKeeper集群搭建 Zookeeper集群搭建指的是ZooKeeper分布式模式安装。通常由2n+1台servers组成。这是因为为了保证Leader选举(基于Paxos算法的实现)能过得到多数的支持,所以ZooKeeper集群的数量一般为奇数。 Zookeeper运行需要java环境,所以需要提前安装jdk。 对于安装leader+follower模式的集群,大致过程如下: 配置主机...

2019-12-09 22:08:29 235

原创 Flume 日志采集框架

Flume介绍 背景: 在一个完整的离线大数据处理系统中,除了hdfs+mapreduce+hive组成分析系统的核心之外,还需要数据采集、结果数据导出、任务调度等不可或缺的辅助系统,而这些辅助工具在hadoop生态体系中都有便捷的开源框架,如图所示: 如: 这个采集的过程就是由flume来完成 概述 1.Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。...

2019-12-05 16:03:47 300

原创 hive中的复合数据类型

Array array中的数据为相同类型,例如,假如array A中元素[‘a’,‘b’,‘c’],则A[1]的值为’b’ 数据结构如下: zhangsan beijing,shanghai,tianjin,hangzhou wangwu shanghai,chengdu,wuhan,haerbin create table complex_array(name string,work_l...

2019-12-03 17:32:25 639

原创 Apache Sqoop

1.sqoop介绍 Apache Sqoop是在Hadoop生态体系和RDBMS体系之间传送数据的一种工具。 来自于Apache软件基金会提供。 Sqoop工作机制是将导入或导出命令翻译成mapreduce程序来实现。在翻译出的mapreduce中主要是对inputformat和outputformat进行定制。 Hadoop生态系统包括:HDFS、Hive、Hbase等 RDBMS体系包括:My...

2019-12-03 16:16:46 184

原创 Hive 面试题

什么是Hive? Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。 Hive的意义(最初研发的原因)? 降低程序员使用Hadoop的难度,降低学习成本 Hive的内...

2019-11-28 20:17:58 499

原创 MySQL join关键字详解

1.内连接 inner join 最频繁使用的和重要的联接是INNER JOIN。它也被称为一个等值连接。 INNER JOIN通过结合基于联接谓词两个表(表1和表2)列值创建一个新的结果表。查询比较表1中的每一行与表2中的每一行,找到所有满足联接谓词的行。 当联接谓词被满足时,对于每个匹配的一对A和B的列值被组合成一个结果行。 INNER JOIN基本语法如下: SELECT tableA.co...

2019-11-21 20:59:01 292

原创 Hive 基本操作命令

1.创建数据库与创建数据库表 创建数据库操作 创建数据库 创建数据库(判断如果不存在就创建) 说明:hive的表存放位置模式是由hive-site.xml当中的一个属性指定的 <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> 创建数据...

2019-11-20 22:32:08 289

原创 Hive 三种交互方式

第一种交互方式:Hive交互shell 进入hive所在文件夹 输入bin/hive(如果配置了hive环境变量可直接在linux任意路径输入hive) 查看所有的数据库 创建一个数据库 使用该数据库并创建数据库表 第二种交互方式:Hive JDBC服务 启动hiveserver2服务 前台启动 后台启动 beeline连接hiveserver2 第三种交互方式:Hive...

2019-11-20 21:54:47 618

原创 Hive 安装步骤

准备 1.集群(最少三台机器) 2.准备压缩包 hive-1.1.0-cdh5.14.0.tar.gz mysql-connector-java-5.1.38.jar 3.linux中java,hadoop 环境变量 步骤: 1.解压hive 2.在线安装mysql相关的软件包 3.启动mysql的服务并设置开启自动启动 4.进入mysql的客户端然后进行授权 配置远程连接 ...

2019-11-19 21:38:11 366 1

原创 Hive 介绍&概念

什么是Hive? Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能(HQL). 其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,hive可以理解为一个将SQL转换为MapReduce的任务的工具。 为什么使用Hive? 直接使用hadoop存在的问题: 1.人员学习的成本太高 2.项目周期要求太...

2019-11-19 18:13:52 232

原创 MapReduce 知识点

MapReduce核心思想 分而治之,先分后和,就是将一个大文件拆分成多个小文件,并行处理,最终进行合并 map负责分 reduce负责合 偏移量 行首字符到文档最前端的字符数量 Suffer包含哪些步骤 partition 分区 Sort 排序 combiner 局部聚合 Group 分组 MR从读取数据到写入hdfs经过哪些步骤 第1步:Inp...

2019-11-15 19:48:40 461 2

原创 MapReduce 计算任务的步骤

图示: 第1步:InputFormat InputFormat 到HDFS上读取数据,将数据传给Split 第2步:Split Split将数据进行逻辑切分,将数据传给RR 第3步:RR RR:将传入的数据转换成一行一行的数据,输出行首字母偏移量和偏移量对应的数据,将数据传给MAP 第4步:MAP MAP:根据业务需求实现自定义代码,将数据传给Shuffle的partition 第5步:part...

2019-11-15 09:11:36 890

原创 hadoop MapReduce

什么是mapreduce? MapReduce:一个分布式的资源调度和离线并行计算框架。 什么是计算框架? 是指实现某项任务或某项工作从开始到结束的计算过程或流的结构。用于去解决或者处理某个复杂的计算问题。 什么是并行计算框架? 是指为更快的计算某项任务或某项工作,将计算程序分发到多台服务器上,使每个服务器计算总任务的一部分,多台服务器同时计算的框架。 什么是分布...

2019-11-13 08:34:31 240 1

原创 hadoop 这些面试题你会了吗?

怎么理解分布式? 分散 拆分 一个业务分拆多个子业务,部署在不同的服务器上(不同的服务器,运行不同的代码,为了同一个目的) hadoop 的组成部分 HDFS 分布式文件存储系统 管理者:NameNode 工作者:DataNode 辅助者:SecondayNameNode MapReduce 分布式离线计算框架 Yarn Hadoop...

2019-11-11 08:10:38 242 2

原创 HDFS SecondaryNamenode工作原理

前提:不使用SNN,日志文件会很大,日志大会导致集群恢复到上次关机前的状态花费很长时间,这个时候集群处于 安全模式,集群不可用。长时间处于安全模式。 目标:加快集群二次启动的速度。(减少集群二次启动的时间) SecondaryNamenode周期性复制NameNode的FSIMAGE 和edits到本机(SecondaryNamenode本机),将两个 文件进行合并,最终生成全新的Fsimage,...

2019-11-05 21:04:24 1259 1

原创 HDFS Fsimage Edits

详解 Fsimage 记录HDFS文件系统的镜像或快照(周期性记录)(此文件相对较小) Edits 记录客户端对进行的所有的增、删、改、追加等操作(没有使用Secondary NameNode之前,不是周期性生 成)(此文件相对较大) Fsimage Edits作用:用于还原集群上次关闭时的状态。还原时将两个文件加载到内存,检查、合并最终生成一个新 的Fsimage 。原本的Edits失效。 查看...

2019-11-05 21:01:49 188

原创 HDFS 高级命令(1)

HDFS上的某一个特定的目录存储的数据副本 、数据量、文件的个数进行设置。 数量限额 设置目录可以存储的文件的数量 hdfs dfsadmin -setQuota 100 文件夹名 (文件夹本身算一个) 清空文件夹内文件的限制 hdfs dfsadmin -clrQuota 文件夹名 空间大小限额 限制文件夹下存储的数据量 hdfs dfsadmin -setSpaceQuota 100M 文件夹...

2019-11-05 20:58:41 378

原创 HDFS 文件权限验证

hdfs的文件权限机制与linux系统的文件权限机制类似 r:read w:write x:execute 权限x对于文件表示忽略,对于文件夹表示是否有权限访问其内容 如果linux系统用户zhangsan使用Hadoop命令创建一个文件,那么这个文件在HDFS当中的owner就是zhangsan HDFS文件权限的目的,防止好人做错事,而不是阻止坏人做坏事。HDFS相信你告诉我你是谁,你...

2019-11-05 15:57:53 612

原创 HDFS 的安全模式

什么是HDFS的安全模式? 安全模式是HDFS所处的一种特殊状态,在这种特殊状态下,文件系统只接受读数据的请求,而不接受删除,修改等变更请求。 什么时候启动,离开安全模式? 在NameNode主节点启动时,HDFS首先进入安全模式,DataNode在启动的时候会向namenode汇报可用的block块状态,当整个系统达到安全标准时,HDFS自动离开安全模式 hdfs集群刚启动的时候,默认30秒的时...

2019-11-05 15:56:45 506

原创 HDFS 的特性及缺点

特性: 1.海量数据存储:HDFS可横向扩展,储存的文件可以支持PB级别或更高级别的数据存储。 2.高容错性:数据保存多个副本,副本丢失后自动恢复。可构建在廉价的机器上,实现线性扩展。当集群增加新节点之后,namenode也可以感知,进行负载均衡,将数据分发和备份数据均衡到新节点上。 3.商用硬件:Haoop并不需要运行在昂贵且高可靠的硬件上。它是设计运行在商用硬件(廉价商业硬件)的集群上的。 4...

2019-11-05 14:53:48 648

原创 HDFS 适用场景

解释:HDFS 是设计成适应一次写入,多次读出的场景,且不支持文件的修改。 正因为如此,HDFS 适合用来做大数据分析的底层存储服务,并不适合用来做.网盘等应用,因为,修改不方便,延迟大,网络开销大,成本太高。 结论:一次写入,多次读出的场景。支持数据在文件尾追加。不支持在文件中间追加或修改。 ...

2019-11-04 20:36:11 3017

原创 HDFS 数据完整性

图示: 解释:数据在写入之后进行校验和的计算,DataNode周期性进行校验和计算,将计算结果与第一次的结果进行对比。 若相同表示无数据丢失,若不相同表示数据有丢失,丢失进行数据恢复。 数据读取之前对数据进行校验,与第一次的结果进行对比。若相同表示数据没有丢失,可以读取。若不相同表示数据 有所丢失。到其他副本读取。 ...

2019-11-04 20:33:44 245

原创 HDFS 数据写入,读取流程

数据写入流程图示: 1、 client发起文件上传请求,通过RPC与NameNode建立通讯,NameNode检查目标文件是否已存在,父目录是否 存在,返回是否可以上传; 2、 client请求第一个block该传输到哪些DataNode服务器上; 3、 NameNode根据配置文件中指定的备份数量及机架感知原理进行文件分配,返回可用的DataNode的地址如: A,B,C; 4、 client...

2019-11-04 20:30:32 437

原创 RPC 介绍

RPC是远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。 理解:远程过程调用。是集群中多个组件、多个模块进行数据通信的一 种方式。 ...

2019-11-04 20:24:42 110

原创 HDFS 机架感知

实际上需要工程师收到创建一个脚本(python sh ),脚本中记录主机IP和交换机的对应关系。 配置的位置是core-site.xml 最终添加如下配置 #!/usr/bin/python #-*-coding:UTF-8 -*- import sys rack = { "12.12.3.1":"SW6300-1", "12.12.3....

2019-11-04 20:18:56 144

原创 HDFS 分块存储

hdfs 中将所有的文件全部抽象成block块来进行存储,不管文件大小,全部以block块的统一大小进行存储,方便我们的分布式文件系统对文件的管理。 所有的文件都是以block块的方式存放在HDFS文件系统当中,在Hadoop1当中,文件的block块默认大小是64M,Hadoop2当中,文件的block块大小默认是128M,block块的大小可以通过hdfs-site.xml当中的配置文件进行指...

2019-11-04 09:28:00 3372

原创 hadoop 组成部分

HDFS 海量数据的存储系统 MapReduce 海量数据计算框架 YARN 资源调度框架 Namenode的作用 a.维护,管理文件系统的名字空间(元数据信息) b.负责确定指定文件块到具体的DataNode节点的映射关系 c.维护管理DataNode上报的心跳信息 Secondary NameNode在HDFS中是什么作用,他...

2019-11-04 08:48:48 176

原创 HDFS 副本存放机制

a.第一份数据存放在客户端 b.第二份副本存放的位置与第一份数据在同一机架中,且不再同一节点,按照一定的规则(cpu使用较少 硬盘使用较少 io使用率较少 磁盘剩余容量较多的)找到一个节点存放 c.第三个副本存放的位置是与第一第二分数据副本不再同一机架上,且逻辑与存放副本1和副本2的逻辑距离最近的机架上,按照一定的规则找到一个节点存放 ...

2019-11-04 08:41:20 1034 1

原创 HDFS 如何验证集群是否可用

1.jps 可验证集群服务的启动情况 2.NameNode所在节点的ip+50070端口 查看HDFS的web界面是否可用 3.在HDFS系统中创建一个文件或文件夹,能够创建就代表集群可用 注: HDFS不支持目录或文件夹切换,所有路径必须写成绝对路径 HDFS权限与Linux的权限等完全相同 创建文件夹 hadoop fs -mkdir /abc 上传文件 hadoop fs -put /o...

2019-11-04 08:39:21 1144

原创 HDFS 副本存放机制

a.第一份数据存放在客户端 b.第二份副本存放的位置与第一份数据在同一机架中,且不再同一节点,按照一定的规则(cpu使用较少 硬盘使用较少 io使用率较少 磁盘剩余容量较多的)找到一个节点存放 c.第三个副本存放的位置是与第一第二分数据副本不再同一机架上,且逻辑与存放副本1和副本2的逻辑距离最近的机架上,按照一定的规则找到一个节点存放 ...

2019-11-04 08:24:59 215

原创 hadoop 介绍

hadoop版本 1.0 hadoop指的是HDFS+Mapreduce 2.0 hadoop指的是HDFS+Mapreduce+yarn hadoop介绍 免费开源版本apache:http://Hadoop.apache.org/ hortonWorks公司 免费版本 收费版本 Cloudera (CDH) 免费版本 收费版本 (目前后两家公司已合并) Hadoop的组成部分 1.HDFS...

2019-10-31 11:34:52 139

原创 大数据为什么快?(与传统数据对比)

图示: 1.扩展性 传统数据纵向扩展 服务器的数量不发生变化,配置上进行提升(提高如1u服务器提升到2u 小型机提升到大型机) 大数据横向扩展 配置上不变,服务器数量增多 2.分布式 传统数据的方式资源(cpu/内存/硬盘)集中 大数据方式资源(cpu/内存/硬盘)分布(前提:在同等配置的情况下) 3.可用性 传统数据备份的方式为单份备份 大数据数据备份的方式为多份备份(数据复制,默...

2019-10-31 11:22:16 567

原创 传统服务器系统安装与大数据服务器系统安装的区别

传统服务器系统安装 大数据服务器系统安装

2019-10-25 14:49:14 298

原创 RAID 介绍

概述 1988 年美国加州大学伯克利分校的 D. A. Patterson 教授等首次在论文 “A Case of Redundant Array of Inexpensive Disks” 中提出了 RAID 概念 [1] ,即廉价冗余磁盘阵列( Redundant Array of Inexpensive Disks )。由于当时大容量磁盘比较昂贵, RAID 的基本思想是将多个容量较小、相对...

2019-10-25 14:45:15 1420 1

原创 大数据 介绍

1.什么是大数据 指数据集的大小超过了现有典型的数据库软件和工具的处理能力的数据。 2.大数据的特点 1.海量化:数据量从TB到PB级别 2.多样化:数据类型复杂,超过80%的数据是非结构化的 3.快速化:数据量在持续增加(两位数的年增长率) 数据的处理速度要求高 4.高价值:在海量多样数据的快速分析下能够发挥出更高的数据价值 3.大数据能做什么: 在海量数据背景下: 快速查询 - 全量查询...

2019-10-24 17:29:39 2185 2

原创 linux 跟内网某台机器同步时间

先确定时间同步服务器: node01 (node02 node03 都去node01同步时间) 服务器设置 ​1、确保时间服务器的ntpd服务是开启的 ​ 2、修改第一个配置文件 ​ vi /etc/ntp.conf ​ 添加如下内容 ​ restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap ​ server ...

2019-10-21 20:57:09 630

原创 linux crontab 任务调度

原理: crontab 进行 定时任务的设置 每隔1分钟将时间打印到 /export/文件中 命令: crontab -e /编辑 -l /查看 ​ * * * * * 操作命令 ` *一小时内的第几分钟(0-59) *一天内的第几个小时(0-23) *一个月内的第几天(1-31) *一年内的星期几(1-12) *星期几(0-7) 时钟同步 ​ 与阿里云提供的时钟服务器同步: ...

2019-10-21 20:54:13 192

空空如也

空空如也

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

TA关注的人

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