自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HanSion.Z

解决方法总比问题多

原创 spark内存计算框架(1)

spark内存计算框架1. spark是什么2. spark的四大特性2.1 速度快2.2 易用性2.3 通用性2.4 兼容性3. spark集群架构4. spark集群安装部署5. spark集群的启动和停止5.1 启动5.2 停止6. spark集群的web管理界面7. 初识spark程序7.1 普通模式提交 (指定活着的master地址)7.2 高可用模式提交 (集群有很多个master)8. spark-shell使用8.1 运行spark-shell --master local[N] 读取本地文

2020-05-28 10:36:16 246

原创 Hbase基础入门

HBase1. HBase是什么1.1 HBase的概念1.2 HBase的特点2. HBase集群安装部署2.1 准备安装包2.2 修改HBase配置文件2.2.1 hbase-env.sh2.2.2 hbase-site.xml2.2.3 regionservers2.2.4 back-masters2.3 分发安装包2.4 创建软连接2.5 添加HBase环境变量2.6 HBase的启动与停止2.7 访问WEB页面2.8 停止HBase集群3. HBase表的数据模型3.1 rowkey行键3.2 C

2020-05-13 12:57:31 53

原创 centos7当中安装mysql5.7版本

1.开启centos7服务器,并切换到root用户在CentOS7中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。将我们的centos7切换到root用户方便我们的mysql的安装2.下载并安装官方的mysql的yum源使用root用户在centos7服务器的/zsc/soft路径下执行以下命令cd /zsc/soft/yum -y install wgetwget -i -c http://dev.m

2020-05-11 20:33:27 55

原创 hive综合案例实战

hive综合案例实战1、需求描述2、项目表字段2,1 数据结构3、ETL原始数据清洗4、项目建表并加载数据4.1 创建表4.2 导入ETL之后的数据(ODS层 textfile)4.3 向ORC表插入数据(DW层 ORC + snappy)5、业务分析5.1 统计视频观看数Top105.2 统计视频类别热度Top105.3 统计出视频观看数最高的20个视频的所属类别以及类别包含Top20视频的个数5.4 统计视频观看数Top50所关联视频的所属类别排名5.5 统计每个类别中的视频热度Top10,以Music

2020-05-11 19:53:42 169

原创 数据仓库工具之hive调优(4)

大数据分析利器之hive1. hive表的文件存储格式1.1 列式存储和行式存储1.2 TEXTFILE格式1.3 ORC格式1.4 PARQUET格式1.5 主流文件存储格式对比实验1.5.1 TextFile1.5.2 ORC1.5.3 Parquet2、存储和压缩结合2.1 创建一个非压缩的的ORC存储方式2.2 创建一个SNAPPY压缩的ORC存储方式3. hive的SerDe3.1 hive的SerDe是什么3.2 hive的SerDe 类型3.3 企业实战3.3.1 通过MultiDelimi

2020-05-11 12:19:43 92

原创 数据仓库工具之hive(3)
原力计划

大数据分析利器之hive(3)1、hive的参数传递1.1 Hive命令行hive [-hiveconf x=y]* [<-i filename>]* [<-f filename>|<-e query-string>] [-S]说明:1、 -i 从文件初始化HQL。2、 -e从命令行执行指定的HQL3、 -f 执行HQL脚本4、 -v 输出执行的HQL语句到控制台5、 -p connect to Hive Server on por

2020-05-10 20:41:34 68

原创 数据仓库工具之hive(2)
原力计划

大数据分析利器之hive1、hive的分桶表2、Hive修改表结构2.1 修改表的名称2.2 表的结构信息2.3 增加/修改/替换列信息3. Hive数据导入1、直接向表中插入数据(强烈不推荐使用)2、通过load方式加载数据(必须掌握)3、通过查询方式加载数据(必须掌握)4、查询语句中创建表并加载数据5、创建表时通过location指定加载数据路径6、export导出与import 导入 hive表数据(内部表操作)4、Hive数据导出4.1 insert 导出4.2、 Hive Shell 命令导出4.

2020-05-09 22:22:48 56

原创 数据仓库工具之hive(1)
原力计划

大数据分析利器之hive1.数据仓库介绍1.1 数据仓库的基本概念1.2 数据仓库的主要特征1.3 数据仓库与数据库区别1.4 数据仓库分层架构2. hive介绍2.1 什么hive2.2 Hive与数据库的区别2.3 Hive的优缺点2.4 Hive架构原理3. Hive的安装部署4. hive的交互方式4.1 Hive shell交互4.2 Hive JDBC服务4.3 Hive的命令5 Hive的数据类型5.1 基本数据类型5.2 复合数据类型6 Hive的DDL操作6.1 hive数据库DDL操作

2020-05-08 22:24:01 246

原创 工作流调度oozie
原力计划

工作流调度oozie1.什么是oozie2.oozie的架构3.安装oozie3.1 修改core-site.xml3.2 上传oozie的安装包并解压3.3 解压hadooplibs到与oozie平行的目录3.4 创建libext目录3.5 拷贝依赖包到libext3.6 添加ext-2.2.zip压缩包3.7 修改oozie-site.xml3.8 创建mysql数据库3.9 上传oozie依...

2020-05-08 12:58:28 56

原创 大数据整合利器之HUE
原力计划

大数据整合利器之HUE1、HUE的基本介绍1.1 什么是HUE1.2 HUE网站链接1.3 Hue的架构1.4 HUE核心功能2、Hue的安装第一步:下载Hue的压缩包并上传到linux解压第二步:编译安装启动2.1、linux系统安装依赖包2.2、配置Hue2.3、创建mysql数据库2.4、准备进行编译2.5、linux系统添加普通用户hue2.6、启动hue进程2.7、页面访问3、hue与其...

2020-05-08 10:53:11 141

原创 工作流调度器之Azkaban

Azkaban工作流调度器1. 为什么需要工流调度系统2. Azkaban是什么3. Azkaban基本架构4. Azkaban架构的三种运行模式5. Azkaban安装部署6. Azkaban启动6.1 启动web server服务6.2 启动executor执行服务7. Azkaban实战7.1 command类型单一job7.2 command类型多job工作流7.3 HDFS操作任务7.4...

2020-05-07 20:21:55 55

原创 数据迁移工具之Sqoop

数据迁移工具之Sqoop1. Sqoop是什么2. Sqoop的工作机制3. Sqoop基本架构4. Sqoop安装部署5. Sqooq数据的导入5.1 列举出所有的数据库5.2 导入数据库表数据到HDFS5.3 导入数据库表数据到HDFS指定目录5.4 导入数据库表数据到HDFS指定目录并且指定数据字段的分隔符5.5 导入关系表到Hive中5.6 导入数据库表数据到hive中(并自动创建hive...

2020-05-07 13:09:07 64

原创 Flume日志采集框架

Flume日志采集框架1. Flume是什么2. Flume的架构3. Flume采集系统结构图3.1 简单结构3.2 复杂结构4. Flume安装部署5. Flume实战5.1 采集文件到控制台5.2 采集文件到HDFS5.3 采集目录到HDFS5.4 两个agent级联6. 高可用配置案例6.1 failover故障转移6.2 load balance负载均衡7. flume企业案例7.1 f...

2020-05-07 11:38:09 65

原创 大数据辅助框架之impala

大数据技术之impala0. 离线任务流程1、 impala的概述1.1 imala基本介绍1.2 impala与hive的关系1.3 impala的优点1.4 impala的缺点:1.5 impala的架构以及查询计划2、impala的安装环境准备3、下载impala的所有依赖包4、制作本地yum源5、开始安装impala6、所有节点配置impala第一步:修改hive-site.xml第二步...

2020-04-26 17:40:16 55

原创 ZooKeeper分布式协调框架学习总结(2)

ZooKeeper分布式协调框架8. HDFS HA方案8.1 ZooKeeper监听器8.2 类比举例8.3 HDFS HA原理9. ZooKeeper之读写数据9.1 ZooKeeper集群架构图9.2 读操作9.3 写操作10. ZooKeeper之安其内10.1 架构问题10.2 全新集群leader选举10.3 非全新集群leader选举11. ZAB算法11.1 仲裁quorum11...

2020-04-12 12:12:13 43

原创 ZooKeeper分布式协调框架学习总结(1)

ZooKeeper分布式协调框架1. 为什么要用ZooKeeper2. 什么是ZooKeeper?3. ZooKeeper初探3.1 zkCli命令行3.2 Java API编程4.基本概念和操作4.1 ZooKeeper数据结构**4.2 数据节点**ZNode4.3 会话(Session)**4.4 请求**4.5 事务zxid4.6 Watcher监视与通知4.7 总结5. ZooKeepe...

2020-04-12 11:26:15 38

原创 YARN资源调度系统

YARN资源调度系统1. YARN介绍2. YARN架构2.1 ResourceManager2.2 **NodeManager**2.3 Container2.4 **ApplicationMaster**2.5 Resource Request2.6 JobHistoryServer2.7 Timeline Server3. YARN应用运行原理图3.1 YARN应用提交过程3.2 MapRe...

2020-04-10 20:29:52 72

原创 MapReduce学习笔记(2)

MapReduce学习笔记(1):https://blog.csdn.net/hansionz/article/details/105408174MapReduce学习笔记1. 自定义分区1.1 分区原理1.2 默认分区1.3 自定义分区2. 自定义Combiner2.1 需求2.2 逻辑分析2.3 MR代码2.4 combine小结3. MR压缩3.1 需求3.2 逻辑分析3.3 MR代码4....

2020-04-09 15:43:06 81

原创 MapReduce学习笔记(1)

MapReduce学习笔记1. MapReduce编程模型- Hadoop架构图1.1 Map阶段1.2 Reduce阶段1.3 MapReduce模型图2. MapReduce编程示例2.1 MapReduce原理图2.2 MR中key的作用2.3 创建MAVEN工程2.4 MR参考代码3. MapReduce编程:数据清洗3.1 需求3.2 日志数据结构3.3 逻辑分析3.4 MR代码4. M...

2020-04-09 14:33:50 71

原创 分布式文件系统HDFS

分布式文件系统HDFS1. Hadoop简介1.1 Hadoop历史1.2 Hadoop架构2. HDFS是什么2.1 HDFS的优缺点3. HDFS初探3.1 HDFS命令3.2 WEB UI界面3.3 HDFS编程4. 核心概念block4.1 数据块block4.2 block副本4.3 机架存储策略4.4 block的一些操作5. HDFS架构5.1 NameNode5.2 DataNo...

2020-04-08 20:13:33 84

原创 HDFS常用命令总结

HDFS常用命令总结1. hdfs命令风格1.1 常用命令1.2 总结2. hdfs与getconf结合使用3. hdfs与dfsadmin结合使用4. hdfs与fsck结合使用5. 其他命令1. hdfs命令风格HDFS命令有两种风格:hadoop fs开头的​ hdfs dfs开头的两种命令均可使用,效果相同1.1 常用命令如何查看hdfs或hadoop子命令的帮助信息...

2020-04-08 15:06:00 178

原创 机器学习之特征工程

机器学习之特征工程1.特征工程介绍1.1 为什么需要特征工程1.2 什么是特征工程1.3 特征工程内容2.特征提取2.1 字典特征提取2.2 文本特征提取2.3 Tf-idf文本特征提取3.特征预处理3.1 什么是特征预处理3.2 归一化3.3 标准化4.特征降维4.1 特征选择4.1.2 低方差特征过滤4.1. 3 皮尔逊相关系数4.2 主成分分析4.2.1 什么是主成分分析4.2.2 PCA的...

2020-04-08 13:41:13 66

原创 【设计模式】:工厂模式详解(C++)

1.相关概念设计模式:设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。耦合:耦合关系是指某两个事物之间如果存在一种相互作用、相互影响的关系,那么这种关系就称"耦合关系"。耦合高...

2019-04-26 19:24:51 425 1

原创 实现一个高并发的内存池

高并发内存池1.什么是内存池1.1 池化技术1.2 关于内存池2.内存碎片问题2.1 内碎片2.2 外碎片3.为什么要使用内存池4.三种内存池的演变4.1 最简单的内存分配器4.2 定长内存分配器4.3 Hash映射的多种定长内存分配器5.了解malloc底层原理6. 实现高并发的内存池6.1 高并发内存池设计6.2 设计ThreadCache类6.3 自由链表大小设计(对齐规则)6.4 Cent...

2019-02-23 12:03:27 1674 5

原创 基于boost文档的小型搜索引擎

基于boost文档的小型搜索引擎项目背景: 在使用boost的官方网站去查询一些知识的时候,发现该网站没有搜索框,我们不能很快速的定位到锁需要的文档,所以基于这个背景实现了一个简单的boost文档搜索框。项目模块及每个模块的功能:索引模块搜索服务器CGI客户端HTTP服务器结构图:项目的核心流程:浏览器访问HTTP服务器获取到主页的html页面客户输出关...

2019-02-12 11:55:29 376

原创 基于CGI协议的HTTP服务器

本项目主要实现一个HTTP服务器的框架结构,为了了解HTTP服务器的工作流程,下面实现一个多线程版本的HTTP服务器框架,采用CGI协议来进行程序替换完成主要业务,主要支持GET和POST方法。关于HTTP协议:https://blog.csdn.net/hansionz/article/details/86137260关于CGI协议:如果使用非CGI协议处理浏览器的请求的话很简单,服务器...

2019-02-05 20:45:48 316

原创 基于UDP和环形队列实现的多人聊天室

畅聊系统1.多人聊天系统功能简介2.项目使用的第三方库3.多人聊天系统的原理图4.服务器维护的在线列表5.使用ncurses库绘制客户端6.序列化和反序列化7.客户端退出问题8.项目存在的问题9.项目扩展8.项目源码1.多人聊天系统功能简介多人聊天系统从名字就可卡出它的功能是支持多个人一起聊天,相当于qq的群聊功能。下边是该系统的主要工作流程:一个客户端将消息发送到网络中。服务器中存在两...

2019-02-04 22:34:46 309

原创 网络层IP协议详解

网络层IP协议详解一.IP地址1.基本概念2.IP协议头格式3.网段划分4.五类IP和CIRD块5.特殊的IP地址6.IP地址的数量限制二.私有IP地址和公有IP地址1. 什么私有IP地址和公有IP地址2.路由器3.路由4.路由表生成算法网络层的作用是在复杂的网络环境中确定一个合适的路径,它的主要功能的是进行IP地址管理和路由选择服务。一.IP地址1.基本概念主机:主机就是平常的电脑,...

2019-01-21 21:06:02 198

原创 DNS技术和NAT技术详解

DNS技术和NAT技术详解一.DNS(Domain Name System)1.什么是DNS2. 了解域名3.域名解析过程4.使用dig工具分析DNS过程5.浏览器输入URL后发生什么事?二.ICMP协议1.ICMP功能2.ICMP报文格式一.DNS(Domain Name System)1.什么是DNSDNS是一套从域名到IP的映射系统。TCP/IP中使用IP地址和端口号来确定网络上的一...

2019-01-21 17:27:52 2164

原创 数据链路层详解

数据链路层主要功能:用于两个设备(同一种数据链路节点)之间进行信息传递。网络层和数据链路层对比: 网络层是进行地址管理和路由选择的,它是为数据报的转发找出一条路来,而数据链路层解决的是两个结点直接的数据交换,数接近于物理层的概念。了解以太网:“以太网” 不是一种具体的网络, 而是一种技术标准; 它既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑结构, 访问控...

2019-01-21 10:40:14 4139

原创 五种IP模型及IO多路转接详解

五种IP模型及多路转接详解1.五种IO模型2.非阻塞IO(fcntl)3.I/O多路转接之select4.I/0多路转接poll5.I/O多路转接epoll1.五种IO模型阻塞IO模型:调用IO系统调用的进程会一直阻塞,直到内核中数据拷贝完成。应用程序调用一个IO函数,导致应用程序阻塞,等待内核数据准备好。 如果数据没有准备好,一直等待到数据准备好了为止,然后将数据从内核拷贝到用户空间并且...

2019-01-17 17:09:32 230 1

原创 TCP和UDP详解(非常详细)

TCP和UDP详解计算机网络知识扫盲:https://blog.csdn.net/hansionz/article/details/85224786网络编程套接字:https://blog.csdn.net/hansionz/article/details/85226345HTTP协议详解:https://blog.csdn.net/hansionz/article/details/8613...

2019-01-15 17:13:19 2497

原创 详解TCP三次握手和四次挥手过程及常见面试题

详解TCP三次握手和四次挥手过程及常见面试题

2019-01-15 17:12:30 219

原创 【C++】:智能指针详解

C++智能指针前言:本篇博客介绍C++中的四个智能指针auto_ptr、shared_ptr、weak_ptr、 unique_ptr。其中,auto_ptr存在很大的缺陷,被C++11。我们为什么要使用智能指针呢?C++的内存管理是让很多事都需要程序员自己去处理,例如:当我们写一个new语句时,就一定要存在对应的delete语句去释放资源,但是我们不能避免程序还未执行到delete时就跳转...

2019-01-13 16:56:44 382

原创 http协议详解及简单的http服务器实现

http协议及简单的http服务器的实现

2019-01-13 09:37:20 784 1

原创 【Socket】:实现一个简单通用的Tcp和Udp服务器及客户端

前言:本篇博客利用Socket API实现一个简单通用的Tcp及Udp服务器及客户端。并且将Tcp版本的服务器改为多进程版本和多线程版本以及引入线程池。网络编程套接字:https://blog.csdn.net/hansionz/article/details/852263451. 实现一个通用简单Udp服务器/客户端封装udp的socket接口//udp_socket.hpp#pr...

2019-01-12 19:22:49 756

原创 【C++】:异常处理

C++的异常1.C语言处理错误的方式2. C++的异常处理1.C语言处理错误的方式终止程序。例如:assert,断言为假则终止进程返回错误码。程序员自己去查找错误码对应的错误信息,使用广泛C 标准库中setjmp和longjmp组合2. C++的异常处理异常是一种处理错误的方式,当一个函数发现自己无法处理的错误时就可以抛出异常,让函数的直接或间接的调用者处理这个错误。throw...

2019-01-06 17:35:21 169

原创 【C++】:面向对象三大特性之多态

面向对象三大特性之多态

2019-01-02 22:07:15 181

原创 【C++】:面向对象三大特性之继承

面向对象三大特性之继承1.继承的概念及定义1.继承的概念及定义继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构, 体现了由简单到复杂的认知过程。面向过程中的复用都是函数复用,继承是类设计层次的复用。class Person{public:...

2019-01-02 12:46:22 100 2

原创 C++的IO流

C++的IO流1.回忆C语言的IO流1.回忆C语言的IO流

2018-12-26 15:22:21 231

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