自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Hive调优方式

文章目录一、建表注意事项1、分区、分桶2、一般使用外部表,避免数据误删3、选择适当的文件储存格式及压缩格式4、命名要规范5、数据分层,表分离,但是不要分的太散二、查询优化1、分区裁剪 where过滤,先过滤,后join2、分区分桶,合并小文件3、适当的子查询4、排序方式三、Hive数据倾斜优化数据倾斜出现原因表现数据倾斜解决具体解决四、作业优化一、建表注意事项1、分区、分桶一般按照业务日期进行分区,每天的数据放在一个分区里,这样可以查询每一天的数据,避免了全局扫描,提高效率2、一般使用外部表,避免数

2021-11-17 19:58:41 236

原创 Hive数仓分层架构

文章目录一、为什么要进行数据分层?数据分层的好处?1、原因2、好处二、hive数仓分为哪几层?1、ODS层:数据运营层(贴源层)作用我们需要做的是?2、DW层: 数据仓库层(1)DWD层:数据明细层(2)DWM层:数据中间层(3)DWS层:数据服务层3、ADS层一、为什么要进行数据分层?数据分层的好处?1、原因对数据进行分层的一个主要原因就是希望在管理数据的时候,能对数据有一个更加清晰的掌控。2、好处清晰数据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。数据血缘

2021-10-28 15:58:11 3949

原创 phoenix安装及使用(重点二级索引)

文章目录一、phoenix搭建1、关闭HBase集群,在master中执行2、上传解压配置环境变量3、将phoenix-4.15.0-HBase-1.4-server.jar复制到所有节点的hbase lib目录下4、启动hbase , 在master中执行5、配置环境变量二、常用命令三、phoenix表映射3.1、视图映射3.2、表映射四、Phoenix二级索引1、开启索引支持2、创建索引2.1、全局索引2.2、本地索引2.3、覆盖索引三、Phoenix JDBC一、phoenix搭建1、关闭HBas

2021-10-20 10:40:28 688

原创 HBase HA(高可用)、MapReduce读写HBase

文章目录一、为什么要使用HBase HA?二、HBase HA又什么好处?三、如何启动HBase HA一、为什么要使用HBase HA?以三台机器为例,当启动HBase的时候会有一个HMaster在ZK中/master节点上自动注册,因为HMaster中有一个,当HMaster进程挂掉后,会对整个集群造成影响(单节点故障)。而当增加一个HMaster之后,这个备用的HMaster在启动时会在ZK中backup-masters节点注册二、HBase HA又什么好处?当RegionServer挂了的时候

2021-10-20 10:22:33 302

原创 HBase过滤器

HBase过滤器文章目录HBase过滤器作用比较过滤器比较运算符常见的六大比较过滤器BinaryComparator(二进制比较器)BinaryPrefixComparator(二进制前缀比较器)NullComparator(空比较器)一般不用BitComparator(位比较器)一般不用RegexStringComparator(正则比较器)SubstringComparator示例代码rowKey过滤器:RowFilter列簇过滤器:FamilyFilter列过滤器:QualifierFilter列值

2021-10-20 10:00:47 622

原创 Hive异步求和

Hive调优-数据倾斜优化问题抛出:比如这里有100万的数据,99万的a,1万的b,最终到reduce阶段,相同的处理能力,一个处理99万,一个处理1万,最后处理的效率肯定是不相同的,会产生数据倾斜。随机数怎么打:(也可以直接打在后面做字符串的拼接,然后再去掉)思路1,数据倾斜解决看下key的分布处理集中的key原因1)、key分布不均匀(实际上还是重复) 比如 group by 或者 distinct的时候2)、数据重复,join 笛卡尔积 数据膨胀表现任务进度长时间维持在99%(

2021-10-17 15:36:48 117

原创 HBase - JAVA -API

文章目录一、几个主要的HBase API类和数据模型之间的对应关系二、使用java代码操作HBase1、初始化连接2、创建表3、删除表4、修改表5、添加数据put6、putall 读取students.txt 并将数据写入Hbase6、获取数据7、查询数据8、获取数据第二种方式9、关闭连接一、几个主要的HBase API类和数据模型之间的对应关系二、使用java代码操作HBaseimport org.apache.hadoop.conf.Configuration;import org.apach

2021-10-17 15:26:26 83

原创 HBase shell基础操作

文章目录1、进入HBase shell命令2、创建表3、查看所有的表4、查看表详情5、表修改(1)增加新的列簇(2)删除指定的列簇(注意:表至少有一个列簇,所以要删除列簇需要表中至少两个列簇才能删除)6、插入数据7、根据rowkey查询结果8、查询所有数据(1)扫描所有记录(2)扫描前两条(3)范围查询 STARTROW(开始rowkey) ENDROW(结束rowkey)9、统计表记录数1、进入HBase shell命令hbase shell2、创建表create <table>,

2021-10-17 14:53:27 216

原创 HBase基础

文章目录一、Hadoop生态系统二、HBase简介三、HBase系统架构1、HBase系统组成2、HMaster介绍(1)HMster的作用3、HRegionServe介绍(1)HRegionServe的作用(2)HRegionServerd的组成介绍(3)HBase的读写流程四、HBase数据模型1、HBase数据模型介绍2、Rowkey3、Column Family(列族)和qualifier(列)4、Timestamp时间戳5、Cell单元格一、Hadoop生态系统二、HBase简介1、H

2021-10-17 10:23:15 138

原创 Hive开窗函数、窗口帧

​前言 在sql中有一类函数叫做聚合函数,例如sum()、avg()、max()等等,这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的。但是,哟偶是我们想要既显示聚集后的数据,这时我们便引入了窗口函数。一、什么是开窗函数1、概念 好像给每一份数据开一扇窗户,所以叫开窗函数2、开窗函数都有哪些(1)row_number 无并列排名用法:select xxxx,row_number() over (partition by 分组字段 orde

2021-10-13 11:28:42 359

原创 编辑器范例

范例欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了

2021-10-13 10:03:19 69

原创 Hive分桶

一、Hive分桶介绍分桶实际上是对文件(数据)的进一步切分Hive默认关闭分桶作用:在往分桶表中插入数据的时候,会根据 clustered by 指定的字段 进行hash分区 对指定的buckets个数 进行取余,进而可以将数据分割成buckets个数个文件,以达到数据均匀分布,可以解决Map端的“数据倾斜”问题,方便我们取抽样数据,提高Map join效率分桶字段 需要根据业务进行设定##### 开启分桶开关hive> set hive.enforce.bucketing.

2021-10-10 19:56:16 234

原创 Hive分区

一、分区的概念及作用概念:分区表实际上是在表的目录下在以分区命名,建子目录作用:进行分区裁剪,避免全表扫描,减少MapReduce处理的数据量,提高效率一般在公司的hive中,所有的表基本上都是分区表,通常按日期分区、地域分区分区表在使用的时候记得加上分区字段分区也不是越多越好,一般不超过3级,根据实际业务衡量二、如何实现分区表1、分区表的简单创建及简单使用(增删查改)(1)建立分区表create external table students_pt1(...

2021-10-10 19:53:11 334

原创 HBase安装

1、启动hadoopstart-all.sh验证http://master:500702、启动zookeeper需要在在三台中分别启动zkServer.sh startzkServer.sh status搭建hbase1、上传解压配置环境变量tar -zxvf hbase-1.4.6-bin.tar.gz2、修改hbase-env.sh文件增加java配置export JAVA_HOME=/usr/local/soft/jdk1.8.0_171关闭默认zk配置e.

2021-10-09 19:25:19 65

原创 Hive语法及进阶

一、基本语法1、Hive--建表[external]代表创建外部表create [external] table [if not exists] table_name// 定义字段名,字段类型[(col_name data_type [comment col_comment], ...)]// 给表加上注解 [commenttable_comment]// 分区[partitionedby(col_name data_type [comment c...

2021-09-29 23:09:11 247

原创 hive架构及其安装和简单使用

一、hive是什么HIve是建立在Hadoop上的数据仓库基础架构。二、hive的概念及架构1、概念它提供了一系列的工具,可以用来进行数据提取转化加载(ETL ),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL ,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 m...

2021-09-29 20:39:07 138

原创 MapReduce在Yarn上执行流程

目录1、执行流程2、Yarn核心组件功能1、执行流程首先,Resource Manager会为每一个application(比如一个用户提交的MapReduce job)在NodeManager里面申请一个container,然后在该container里面启动一个Application Master。container在Yarn中是分配资源的容器(内存、cpu、硬盘等),它启动时便会相应启动一个JVM。然后,Application Master便陆续为application包含的每...

2021-09-28 22:09:03 667

原创 HDFS原理深入

一、HDFS概述数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 。是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。通透性。让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般。容错。即使系统中有某些节点宕机,整体来说系统仍然可以持...

2021-09-28 21:52:22 184

原创 hadoop三大组件

1、介绍hadoop的组件hadoop有三个主要的核心组件:HDFS(分布式文件存储)、MAPREDUCE(分布式的计算)、YARN(资源调度),现在云计算包括大数据和虚拟化进行支撑。  在HADOOP(hdfs、MAPREDUCE、yarn)大数据处理技术框架,擅长离线数据分析.  Zookeeper分布式协调服务基础组件,Hbase 分布式海量数据库,离线分析和在线业务处理。  Hive sql数据仓库工具,使用方便,功能丰富,基于MR延迟大,可以方便对数据的分析,并且数据的处理...

2021-09-28 20:23:43 11638

原创 MapReduce概述及MapReduce详细实现

目录一、概述二、定义三、MapReduce原理1、原理四、MR执行过程1、map阶段2、reudce阶段3、shuffle过程五、MapReduce默认输入处理类六、RecordReader七、Inputsplit一、概述1)MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题.2)MapReduce是分布式运行的,由两个阶段组成:Map和Reduce,Map阶段是一个独立的程序,有很多个节点同时运行..

2021-09-28 20:19:25 1481

原创 使用Navicat连接mysql出现的报错:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and co

[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_gro

2021-09-27 13:32:18 1427 2

原创 使用JAVA连接hadoop实现----MapReduce求出学生对应的成绩(学生总成绩)

这里学生信息表的顺序为:学生号,姓名,年龄,性别,班级学生成绩表的顺序为:学生号,科目,成绩;第一步:package com.shujia.hadoop;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.LongWritable;import or

2021-09-23 21:16:04 1317

原创 使用hadoop-MapReduce统计文件中单词个数(每行一个单词)

第一步:写一个类用来统计文件中的个数。第二步:重写、覆盖mapreduce框架中map()和reduce()方法。第三步:用main()方法当做mapreduce程序的入口,用来构建mapreduce框架,在main()方法中创建一个job任务。第四步:使用maven的打包程序将代码打包成一个jar包。第五步:将这个jar包传入到hadoop中使用,代码为:hadoop jar jar包名 代码路径(hadoop jar hadoop-1.0-SNAPSHOT.jar com.shu

2021-09-22 20:16:57 874

原创 redis笔记

Redis笔记Nosql概述NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。分类键值(Key-Value)存储数据库列存储数据库文档型数据库图形(Grap

2021-09-21 15:18:29 113

原创 hadoop之2.x搭建

1、关闭防火墙 所有节点service iptables stopchkconfig iptables off2、设置免密钥在master中生成密钥文件ssh-keygen -t rsa一直回车将密钥文件同步到所有节点ssh-copy-id masterssh-copy-id node1ssh-copy-id node23、上传hadoop安装包 上传到msater的/usr/local/soft/hadoop-2.7.6.tar.gz4、解压tar -zxv...

2021-09-17 17:02:24 56

原创 linux版本redis的单节点安装

配置阿里云yum源 下载配置文件 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 生成缓存 yum makecache安装redis1、安装依赖 yum install -y gcc-c++ gcc tcl2、上传压缩包并解压 tar -xvf redis-3.0.0.tar.gz -C /usr/local/...

2021-09-16 19:58:15 122

原创 maven的安装和使用

一、为什么要安装maven1、maven可以解决jar包的依赖问题a) Jar包,根据jar包的坐标去自动依赖/下载相关jarb) 统一管理jar,通过仓库去管理。2、多个项目jar包的冗余,项目团队jar包的一致性问题。maven可以使一个项目团队用的所有jar包一致3、屏蔽开发工具之间的差异,例如:IDE,Eclipse。maven项目可以无损导入其他编辑器二、如何安装maven1、首先得到官网上下载与idea相匹配的版本 官网地址:Maven – W...

2021-09-15 15:52:47 273

原创 详细介绍如何使用Mysql-JDBC

一、如何使用Mysql-JDBC1、导包最后找到mysql的jar包二、开始使用第一步:连接数据库 可以自定义一个类,以下通过代码体现package mysql.util;import java.io.InputStream;import java.sql.*;import java.util.Properties;public class MysqlUtil { static String DRI...

2021-09-15 14:57:50 136

原创 文件的切分和聚合,使用java模拟(Map-Reduce)

1、给一个有很大数据量的文本文件2、增大文本数据(代码)public static void main(String[] args) throws Exception { //字符缓冲流读取一个文件 BufferedReader br = new BufferedReader( new FileReader("D:\\bigdata\\ownbigdata\\data\\students.txt"));// Buffe

2021-09-15 11:02:38 182

原创 sql练习题

一 将下列数据插入mysql表。建表语句DROP TABLE IF EXISTS `emp`;CREATE TABLE `emp` (`EMPNO` int(4) NOT NULL,`ENAME` varchar(10) DEFAULT NULL,`JOB` varchar(9) DEFAULT NULL,`MGR` varchar(10) DEFAULT NULL,`HIREDATE` date DEFAULT NULL,`SAL` int(7...

2021-09-12 20:49:37 73

原创 shell和java操作Mysql的方法

shell操作mysql #!/bin/sh MYSQL="mysql -hmaster -uroot -p123456" sql="select * from shujia.student where sex='0'" result="$($MYSQL -e "$sql")" echo "$result"java操作mysql 导入第三方工具包 file->project structure->Modules->Dep...

2021-09-12 20:42:55 141

原创 Mysql常见命令03

连表联查 union:结果集进行合并(纵向合并) 格式: 查询语句 union 查询语句 注意: 查询列数必须相同 字段为第一个sql语句的字段 union默认去重 union all不去重 left join(以左表为基准关联右表中的数据) 格式: select * from 左表 left joi...

2021-09-12 20:41:28 44

原创 Mysql常见命令02

字段进行算术运算 格式: (字段 符号 字段) 例如: select (name+age) from students; 注意: 字符串参与运算字符串为0参与运算拼接: 格式: concat(str1,str2...) 例如:把name和age以-拼接显示 select concat(name,'-',age)from students; 格式: concat_...

2021-09-12 20:40:22 51

原创 Mysql常见命令01

熟悉命令后首先下载操作mysql的桥梁软件例如navicat使用navicat前先设置(重要)set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';然后关闭连接重新打开关系型:以行作为记录,列数相同非关系型:以列作为记录,行数随便服务器->数据库->

2021-09-12 20:39:05 38

原创 Mysql安装

一、安装mysql前需要做的事1、关闭防火墙systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动查看防火墙状态firewall-cmd --state启动防火墙systemctl start firewalld.service2、修改主机名第一种hostnamectl set-hostname base第二种vim /etc/hostnam

2021-09-12 20:35:17 267

原创 操作linux的桥梁xshell

作为一个操作linux的桥梁可连接linux在windows上操作linux常见的命令创建: 后缀为.sh的文件 编写: 头部注释为#!/bin/sh或者#!/bin/bash(注释可写可不写,建议写上) 运行: 1.通过sh命令执行 例如:sh helloworld.sh 2.通过bash命令执行 例如:bash helloworld.sh 3.通过把文件...

2021-09-12 20:30:01 76

原创 冒泡排序和选择排序的区别

一: 区别1.冒泡排序是比较相邻位置的两个数,而选择排序是按顺序比较,找最大值或者最小值;2.冒泡排序每一轮比较后,位置不对都需要换位置,选择排序每一轮比较都只需要换一次位置;3.冒泡排序是通过数去找位置,选择排序是给定位置去找数;二: 冒泡排序优缺点1.优点:比较简单,空间复杂度较低,是稳定的; 2.缺点:时间复杂度太高,效率慢;三: 选择排序优缺点1.优点:一轮比较只需要换一次位置;2.缺点:效率慢,不稳定(举个例子5,8,5,...

2021-09-01 20:17:20 25024

原创 linux软件安装和克隆虚拟机

软件包管理 rpm:查看 管理 删除软件 rpm -qa | grep jdk 格式: rpm [选项] [软件名称] [后缀] 选项: -q:查询 -a:所有 -qa:查询所有 -e:删除 后缀: --nodeps:无视依赖关系 注意:直接-e时,如果有依赖关系,不能直接删除 ...

2021-09-01 15:39:45 98

原创 linux系统常见命令(2)

一、用户和用户组使用 vim /etc/passwd命令查看用户使用 vim /etc/group命令查看用户组注意:在创建用户时,系统默认生成一个用户组(组名和用户名一致) 查看用户时它的格式为:cy:x:1000:1000:cy:/home/cy:/bin/bash cy:用户名 x:加密的用户码 1000:用户编号 1000:组编号 ...

2021-09-01 15:34:52 48

原创 linux操作系统、常见命令(1)

一、通过vmWare虚拟机安装CentOS,装好之后通过命令ifconfig查看ip地址,之后设置网络步骤如下图二、安装完之后认识一下1、linux的目录结构bin:存储普通命令sbin:存储超级命令home:存储普通用户root:存储超级用户usr /usr/local:下存储数据或软件tmp:临时目录 迎来存放临时数据2、常用命令1)、 ifconfig:查看网络 service network restart:重启网络 hostname:查看...

2021-08-30 20:28:15 81

空空如也

空空如也

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

TA关注的人

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