自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大数据之HBase(3)- HBase数据结构及原理

1 HBase数据结构1.1 RowKey与nosql数据库们一样,RowKey是用来检索记录的主键。访问HBASE table中的行,只有三种方式:1.通过单个RowKey访问(get)2.通过RowKey的range(正则)(like)3.全表扫描(scan)RowKey行键 (RowKey)可以是任意字符串(最大长度是64KB,实际应用中长度一般为 10-100bytes),在HBASE内部,RowKey保存为字节数组。存储时,数据按照RowKey的字典序(byte order)排序存

2022-01-30 09:25:14 765

原创 大数据之Spark(6)- SparkStreaming

1 Spark Streaming概述1.1 Spark Streaming是什么Spark Streaming用于流式数据的处理。Spark Streaming支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等等。数据输入后可以用Spark的高度抽象原语如:map、reduce、join、window等进行运算。而结果也能保存在很多地方,如HDFS,数据库等。和Spark基于RDD的概念很相似,Spark Streaming使用离散化流(

2022-01-29 10:18:49 456

原创 大数据之Spark(5)- SparkSql

1 Spark SQL概述1.1 什么是Spark SQLSpark SQL是Spark用来处理结构化数据的一个模块,它提供了2个编程抽象:DataFrame和DataSet,并且作为分布式SQL查询引擎的作用。我们已经学习了Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduc的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所有Spark SQL的应运而生,它是将Spark SQL转换成RDD,然后提交到集群执行,执行效率非

2022-01-29 10:15:11 790

原创 大数据之Spark(4)- SparkCore(下)

1 RDD编程1.1 Action算子1.1.1 reduce(func)作用:通过func函数聚集RDD中的所有元素,先聚合分区内数据,再聚合分区间数据。 需求:创建一个RDD,将所有元素聚合得到结果。 (1)创建一个RDD[Int]scala> val rdd1 = sc.makeRDD(1 to 10,2)rdd1: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[85] at makeRDD at <con

2022-01-11 14:26:08 280

原创 大数据之Spark(3)- SparkCore(上)

1 RDD概述1.1 什么是RDDRDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象。代码中是一个抽象类,它代表一个不可变、可分区、里面的元素可并行计算的集合。1.2 RDD的属性1)一组分区(Partition),即数据集的基本组成单位;2)一个计算每个分区的函数;3)RDD之间的依赖关系;4)一个Partitioner,即RDD的分片函数;5)一个列表,存储存取每个Partition的优先位置(preferre

2022-01-11 14:23:01 245

原创 大数据之Spark(2)- Idea实现WordCount

Spark Shell仅在测试和验证我们的程序时使用的较多,在生产环境中,通常会在IDE中编制程序,然后打成jar包,然后提交到集群,最常用的是创建一个Maven项目,利用Maven来管理jar包的依赖。1 编写WordCount程序1)创建一个Maven项目WordCount并导入依赖<dependencies> <dependency> <groupId>org.apache.spark</groupId&g

2022-01-11 14:19:01 1066

原创 大数据之Spark(1)- Spark简介及安装

1 Spark概述1.1 什么是Spark1、定义Spark是一种基于内存的快速、通用、可扩展的大数据分析引擎。2、历史2009年诞生于加州大学伯克利分校AMPLab,项目采用Scala编写。2010年开源;2013年6月成为Apache孵化项目2014年2月成为Apache顶级项目。1.2 Spark内置模块Spark Core:实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。Spark Core中还包含了对弹性分布式数据集(Resil

2022-01-11 14:17:58 1412

原创 Nginx整合Kafka

Nginx:一个高性能的HTTP和反向代理web服务器,实际生产中一般用作负载均衡;Kafka:一种高吞吐量的分布式发布订阅消息系统,实际生产中一般用作流式处理中间件;Nginx和Kafka都有非常优秀的性能,实际生产中,往往都是通过Nginx记录日志生成日志文件,然后再通过Flume将日志文件的内容读取到Kafka,中间会有一个写文件和读文件操作,性能势必会受到一些影响;下面介绍一下把Nginx的日志直接写入到Kafka的实现过程:1.安装gitgit主要用于拉取源码文件yum i

2022-01-10 17:13:32 3494

原创 配置tez跑mapreduce任务

在hadoop/etc/hadoop目录下配置3个配置文件:1、tez-site.xml(新建)<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration> <property> <name>tez.lib.uris</n

2022-01-10 17:12:25 900

原创 记录Hive-2.3.8 on Tez-0.10.1部署及踩过的坑

本文主要记录一下自己在配置Hive on Tez遇到的一些问题及解决办法这个折腾了我几天时间!!!网上各种查找文档、答案,然后自己也重新编译了tez,然而问题一直没有解决。。。于是静下心来重新开始:hadoop版本:hadoop-3.2.2hive版本:hive-2.3.8tez版本:tez-0.10.1前提条件:1、hadoop-yarn集群已正常安装,并测试mapreduce程序正常2、hive on mr正常,也就是hive可以正常的运行普通的mr任务下面是配置tez的步骤:

2022-01-10 17:11:29 1141

原创 hive-2.3.8安装部署

1 前提条件1.1 Hadoop正常部署Hadoop集群的正常部署并启动:[hadoop@hadoop101 hadoop-3.2.2]$ sbin/start-dfs.sh[hadoop@hadoop102 hadoop-3.2.2]$ sbin/start-yarn.sh2 安装准备2.1 Hive安装地址1.Hive官网地址:http://hive.apache.org/2.文档查看地址:https://cwiki.apache.org/confluence/disp..

2022-01-09 09:54:47 720

原创 hbase-2.3.6安装部署

1 前提条件1.1 zookeeper正常部署首先保证Zookeeper集群的正常部署,并启动之:[hadoop@hadoop101 zookeeper-3.6.3]$ bin/zkServer.sh start[hadoop@hadoop102 zookeeper-3.6.3]$ bin/zkServer.sh start[hadoop@hadoop103 zookeeper-3.6.3]$ bin/zkServer.sh start1.2 Hadoop正常部署Hadoop集群

2022-01-09 09:53:03 194

原创 zookeeper-3.6.3集群安装

1 本地模式安装部署1.1 安装前准备(1)安装Jdk(2)拷贝Zookeeper安装包到Linux系统下(3)解压到指定目录[hadoop@hadoop101 softwares]$ tar -xf zookeeper-3.6.3.tar.gz -C /opt/modules/2.2 配置修改(1)将/opt/modules/zookeeper-3.6.3/conf这个路径下的zoo_sample.cfg修改为zoo.cfg;[hadoop@hadoop101 conf]

2022-01-09 09:52:04 372

原创 0到1搭建hadoop-3.2.2集群

1 安装包准备从官网下载安装包:hadoop-3.2.2.tar.gzhttps://archive.apache.org/dist/hadoop/common/2 集群规划 Hadoop101 Hadoop102 hadoop103 192.168.56.101 NameNode,DataNode DataNode DataNode 192.168.56.102 NodeManager ResourceManager,NodeManage

2022-01-09 09:50:31 290

原创 HBase(4)- HBase API操作

1 HBase API操作1.1 环境准备新建项目后在pom.xml中添加依赖: <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version>1.4.13</version> &l

2021-12-27 13:13:49 1529

原创 话单数据仓库搭建(3)- 数据仓库DWS及ADS层

1 活跃用户1.1 DWS层目标:统计当日、当周、当月活跃用户活跃用户指的是在统计周期内由过通话记录的用户1.1.1 每日活跃用户明细1)建表语句hive (calllogs)>drop table if exists dws_au_detail_day;create table dws_au_detail_day( sys_id string,service_name string,home_province_code string,visit_province_

2021-12-27 13:12:56 1258

原创 话单数据仓库搭建(2)- 数据仓库ODS及DWD层

1 数仓分层概念1.1 为什么要分层1、把复杂问题简单化将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。2、清晰数据结构每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。3、减少重复开发规范数据分层,通过的中间层数据,能够减少极大的重复计算,增加一次计算结果的复用性。4、隔离原始数据不论是数据的异常还是数据的敏感性,使真实数据与统计

2021-12-27 13:11:47 2844

原创 话单数据仓库搭建(1)- 数仓概念及数据采集

1 数据仓库概念数据仓库( Data Warehouse ),可简写为DW或DWH。数据仓库,是为企业所有决策制定过程,提供所有系统数据支持的战略集合。通过对数据仓库中数据的分析,可以帮助企业,改进业务流程、控制成本、提高产品质量等。数据仓库,并不是数据的最终目的地,而是为数据最终的目的地做好准备。这些准备包括对数据的:清洗,转义,分类,重组,合并,拆分,统计等等。2 项目需求2.1 项目需求分析1、实时采集埋点的用户行为数据2、实现数据仓库的分层搭建3、每天定时导入业务数据4

2021-12-27 13:10:36 1844

原创 HBase(2)- HBase Shell

1 基本操作进入HBase客户端命令行[hadoop@hadoop101 hbase]$ bin/hbase shell查看帮助命令hbase(main):001:0> help查看当前数据库中有哪些表hbase(main):002:0> list2 表的操作创建表hbase(main):003:0> create 'student','info'插入数据到表hbase(main):005:0> put 'student','

2021-12-27 13:08:05 82

原创 HBase(1)- 简介及安装

1 HBase简介1.1 什么是HBaseHBase的原型是Google的BigTable论文,受到了该论文思想的启发,目前作为Hadoop的子项目来开发维护,用于支持结构化的数据存储。官方网站:http://hbase.apache.org-- 2006年Google发表BigTable白皮书-- 2006年开始开发HBase-- 2008年北京成功开奥运会,程序员默默地将HBase弄成了Hadoop的子项目-- 2010年HBase成为Apache顶级项目-- 现在很多公司二次开发出

2021-12-27 13:06:31 111

原创 IPVS(LVS)负载均衡简介及实验测试

1 LVS 简介LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,现在已经是 Linux标准内核的一部分。LVS是一种叫基于TCP/IP的负载均衡技术,转发效率极高,具有处理百万计并发连接请求的能力。LVS的IP负载均衡技术是通过IPVS模块实现的。IPVS模块是LVS集群的核心软件模块,它安装在LVS集群作为负载均衡的主节点上,虚拟出一个IP地址和端口对外提供服务。用户通过访问这个虚拟服务(VS),然后访问请求由负载均衡器(

2021-12-13 15:09:03 3071 1

原创 Kafka(4)- kafka管理监控系统 CMAK

kafka管理监控系统 CMAK1 cmak部署1.1 软件下载kafka-manager 工具目前改名为cmak,下载地址为:https://github.com/yahoo/CMAK/releases/tag/3.0.0.5现在下载最新版本的cmak文件:cmak-3.0.0.5.zip1.2 安装jdk11一定要安装jdk11,否则cmak启动的时候会报错2021-11-28 20:43:04,928 - [INFO] p.c.s.AkkaHttpServer - Stop

2021-12-13 15:05:44 1930

原创 Kafka(3)- Kafka API

1 Kafka API1.1 Producer API1.1.1 消息发送流程Kafka的Producer发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main线程和Sender线程,以及一个线程共享变量——RecordAccumulator。main线程将消息发送给RecordAccumulator,Sender线程不断从RecordAccumulator中拉取消息发送到Kafka broker。相关参数:batch.size:只有数据积累到batch.si

2021-12-10 11:38:55 96

原创 Kafka(2)- Kafka架构

1 Kafka架构1.1 Kafka工作流程及文件存储机制Kafka中消息是以topic进行分类的,生产者生产消息,消费者消费消息,都是面向topic的。topic是逻辑上的概念,而partition是物理上的概念,每个partition对应于一个log文件,该log文件中存储的就是producer生产的数据。Producer生产的数据会被不断追加到该log文件末端,且每条数据都有自己的offset。消费者组中的每个消费者,都会实时记录自己消费到了哪个offset,以便出错恢复时,从上次的位置

2021-12-10 11:36:50 76

原创 Kafka(1)- Kafka概述及安装使用

1 Kafka概述1.1定义Kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。1.2 消息队列(Message Queue)1.2.1 传统消息队列的应用场景 异步处理 消峰 解耦 1.2.2 消息队列的两种模式(1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)消息生产者生产消息发送到Queue中,然后消息消费者从Queue中取出并且消费消息。消息被消费以后,queue中不再有存储,所以消息消.

2021-12-10 11:34:57 116

原创 Hadoop-MapReduce案例-查找共同好友

1 需求以下是好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友(数据中的好友关系是单向的,要求出哪些人两两之间有共同好友,及他俩的共同好友都有谁?(1)数据输入friends.txtA:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E,FH:A,C,D,E,OI:A,OJ:B,OK:A,C,DL:D,E,FM:E,F,GO:A,H,I,J2 需求分析先求出A、

2021-12-10 11:32:04 517 1

原创 Hadoop-MapReduce案例-倒排索引

1 需求有大量的文本(文档、网页),需要建立搜索索引(1)数据输入aa.txthadoop sparkhadoop javahadoop javahadoop scalabb.txthadoop sparkhadoop sparkspark scalajava scalacc.txthadoop scalahadoop sparkspark java2 代码实现(1)第一次处理,编写OneIndexMapper类package com.jac

2021-12-10 11:29:27 1913

原创 大数据之Hadoop - MapReduce(4)

1 Hadoop企业优化1.1 MapReduce 跑的慢的原因MapReduce 程序效率的瓶颈在于两点:1 计算机性能:CPU、内存、磁盘健康、网络2 I/O 操作优化(1)数据倾斜(2)Map和Reduce数设置不合理(3)Map运行时间太长,导致Reduce等待过久(4)小文件过多(5)大量的不可分块的超大文件(6)Spill次数过多(7)Merge次数过多等。1.2 MapReduce优化方法MapReduce优化方法主要从六个方面考虑:数据输入、Map阶段、Re

2021-12-10 11:28:21 93

原创 大数据之Hadoop-MapReduce(3)

1 Hadoop数据压缩1.1 概述压缩技术能够有效减少底层存储系统(HDFS)读写字节数。压缩提高了网络带宽和磁盘空间的效率。在运行MR程序时,I/O操作、网络数据传输、 Shuffle和Merge要花大量的时间,尤其是数据规模很大和工作负载密集的情况下,因此,使用数据压缩显得非常重要。鉴于磁盘I/O和网络带宽是Hadoop的宝贵资源,数据压缩对于节省资源、最小化磁盘I/O和网络传输非常有帮助。可以在任意MapReduce阶段启用压缩。不过,尽管压缩与解压操作的CPU开销不高,其性能的提升和资

2021-12-10 11:27:08 198

原创 数据统计常见业务术语

1.1 用户用户以设备为判断标准,在移动统计中,每个独立设备认为是一个独立用户。Android系统根据IMEI号,IOS系统根据OpenUDID来标识一个独立用户,每部手机一个用户。1.2 新增用户首次联网使用应用的用户。如果一个用户首次打开某DB,那这个用户定义为新增用户;卸载再安装的设备,不会被算作一次新增。新增用户包括日新增用户、周新增用户、月新增用户。1.3 活跃用户打开应用的用户即为活跃用户,不考虑用户的使用情况。每天一台设备打开多次会被计为一个活跃用户。1.3.1 周(月

2021-12-08 16:05:40 275

原创 大数据之Hadoop-MapReduce(2)

1 OutputFormat数据输出1.1 OutputFormat接口实现类OutputFormat是MapReduce输出的基类,所有实现MapReduce输出都实现了 OutputFormat接口。下面我们介绍几种常见的OutputFormat实现类。1 文本输出TextOutputFormat默认的输出格式是TextOutputFormat,它把每条记录写为文本行。它的键和值可以是任意类型,因为TextOutputFormat调用toString()方法把它们转换为字符串。2 Se

2021-12-08 15:50:43 207

原创 Mysql复习笔记(1)- 架构简介及安装

MySQL笔记1 mysql的架构介绍1.1 Mysql简介1.1.1 概述MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。Mysql是开源的,所以你不需要支付额外的费用。Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。Mysql支持大型的数据库。可以处理拥有上千万条记录的

2021-12-08 15:48:07 460

原创 Ansible自动化部署高可用K8S集群

1.1 Ansible介绍Ansible 是一种IT自动化工具。它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新。Ansible 适用于管理企业IT基础设施,从具有少数主机的小规模到数千个实例的企业环境。Ansible 也是一种简单的自动化语言,可以完美地描述IT应用程序基础结构。具备以下三个特点:简单:减少学习成本 强大:协调应用程序生命周期 无代理:可预测,可靠和安全使用文档:https://releases.ansible.com/ansible/安装 A

2021-12-08 15:47:08 2305

原创 大数据之Hadoop-MapReduce(1)

第1章 MapReduce概述1.1 MapReduce定义MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。1.2 MapReduce优缺点1.2.1 优点MapReduce 易于编程它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的PC机器上运行。也就是说你写一个

2021-12-08 15:45:22 368

原创 大数据之Hadoop-HDFS

第1章 HDFS概述1.1 HDFS产出背景及定义1.1.1 HDFS产生背景随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种。1.1.2 HDFS定义HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实

2021-11-14 15:41:03 208

原创 大数据之Hadoop简介及环境搭建

第1章 大数据概论1.1 大数据概念大数据(Big Data):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。主要解决,海量数据的存储和海量数据的分析计算问题。按顺序给出数据存储单位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。1Byte = 8bit 1K = 1024Byte 1MB = 1024K1G = 1024M 1T

2021-11-14 15:39:06 745

原创 idea上搭建pyspark开发环境

1 环境版本说明python版本:Anaconda3.6.5spark版本:spark-2.4.8-bin-hadoop2.7idea版本:2019.32 环境变量配置2.1 python环境变量配置将python.exe所在的目录配置到path环境变量中2.2 spark环境变量配置下载spark安装包,我下载的是spark-2.4.8-bin-hadoop2.7.tgz将安装包解压到一个非中文目录配置SPARK_HOME环境变量2.3 python中安装py4

2021-10-17 14:27:47 1377 1

原创 MongoDB 4.2.16 分片副本集高可用集群搭建

1 MongoDB简介MongoDB 是一个文档数据库,旨在简化开发和扩展。 MongoDB 中的记录是一个文档,它是由字段和值对组成的数据结构。MongoDB 文档类似于 JSON 对象。字段的值可能包括其他文档、数组和文档数组。 使用文档的优点是: 文档(即对象)对应于许多编程语言中的本地数据类型。 嵌入式文档和数组减少了对昂贵连接的需求。 动态模式支持流畅的多态性。2 环境准备2.1 主机规划hadoop101 hadoop102 hadoop103 说明 mon

2021-10-16 20:11:30 572

原创 Redis6.2.5 集群安装

1Redis简介1.1 什么是redisRedis 是一种开源(BSD 许可)、内存中数据结构存储,用作数据库、缓存和消息代理。Redis 提供了诸如字符串、散列、列表、集合、带范围查询的排序集合、位图、超级日志、地理空间索引和流等数据结构。Redis 内置复制、Lua 脚本、LRU 驱逐、事务和不同级别的磁盘持久化,并通过 Redis Sentinel 和 Redis Cluster 自动分区提供高可用性。1.2 Redis 集群数据分片Redis 集群不使用一致散列,而是一种不同形式的分

2021-10-15 16:15:30 214

原创 SSM学习总结(4) - 模块整合

1 新建maven模块ssmdemo(添加javaEE支持)2 添加依赖mysql驱动 c3p0数据源 mybatis spring(tx | aop | context)) mybatis-spring spring mvc <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>

2021-09-23 17:34:35 77

空空如也

空空如也

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

TA关注的人

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