自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Together

促使自己工作、学习多总结,记录点滴,抗遗忘,仅此而已咯~

  • 博客(72)
  • 收藏
  • 关注

原创 【MySQL】MySQL基础架构

MySQL基础架构

2022-07-16 11:25:42 260 1

原创 【常用操作】Hive权限控制

说明认证(authentication):验证用户所用的身份是否是对的授权(authorization):验证用户所用身份操作是否有权限目前hive(版本0.12.0)支持简单的权限管理,默认情况下是不开启,这样所有的用户都具有相同的权限,同时也是超级管理员,也就对hive中的所有表都有查看和改动的权利,这样是不符合一般数据仓库的安全原则的。Hive可以是基于元数据的权限管理,也可以基于文件存储级别的权限管理,此次以介绍MetaData权限管理为主。通过以下配置开启Hive身份认证功能进行

2021-08-29 13:08:07 1123

原创 【常用操作】高阶聚合函数

⌘ 总结cube的分组组合最全,是各个维度值的笛卡尔(包含null)组合;rollup的各维度组合应满足,前一维度为null后一位维度必须为null,前一维度取非null时,下一维度随意;grouping sets则为自定义维度,根据需要分组即可。PS:通过grouping sets的使用可以简化SQL,比group by单维度进行union all性能更好。⌘ 数据准备⌘⌘ 表结构CREATE TABLE test (f1 string, f2 st

2021-08-29 12:48:39 395

原创 【MySQL】MySQL学习进阶

MySQL简介:1) MySQL是一个关系型数据库管理系统,由瑞典公司开发,目前属于Oracle公司。2) Mysql是开源的,可以定制的,可以修改源码来开发自己的Mysql系统。3) Mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java等。4) MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。基础架构:MySQL的基本架构示意图,可以清楚地看到SQL语句在MySQL的

2021-01-15 17:43:00 217

原创 【Flink】浅析Flink运行架构

文章目录一、Flink运行时的组件1.1作业管理器(JobManager)1.2资源管理器(ResourceManager)1.3任务管理器(TaskManager)1.4分发器(Dispatcher)二、任务提交流程2.1任务提交和组件交互流程2.2Yarn模式任务提交流程三、任务调度原理3.1TaskManger与Slots3.2 程序与数据流(DataFlow)3.3 执行图(ExecutionGraph)3.4 并行度(Parallelism)3.5 任务链(Operator Chains)一、F

2020-12-22 00:13:21 204

原创 【Spark】超详细的Spark任务提交流程图

2020-11-28 19:25:29 515

原创 【Hive】公司数据仓库字典/元数据库应用案例

文章目录⌘ 常用SQL应用案例:数据仓库授权信息字典表-- 通过字段名注释找表名-- 查询指定库中的分区表-- 查询指定库中某种存储类型的分区表⌘ 元数据库常用表-- DBS-- TBLS-- TABLE_PARAMS-- TBL_PRIVS-- COLUMNS_V2-- SDS-- SD_PARAMS:-- PARTITIONS-- PARTITION_KEYS-- PARTITION_PARAMS-- VERSION⌘ 常用SQL应用案例:常用表的ER图如下:数据仓库授权信息字典表– 通过字段

2020-11-27 00:26:18 919

原创 【Hive】深入理解Hive的优缺点以及架构原理

文章目录一、 什么是Hive二、 Hive的优缺点2.1 优点2.2 缺点三、 Hive架构原理3.1 用户接口:Client3.2 元数据:Metastore3.3 结合Hadoop3.4 驱动器:Driver四、 Hive和数据库比较4.1 查询语言4.2 数据更新4.3 执行延迟4.4 数据规模一、 什么是HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。本质是:将HQL转化成MapReduce程序:(1)Hive处理的数据存储在

2020-11-16 21:10:14 6047 8

原创 【Sqoop】Oracle/MySQL中Schame、Database的区别

在关系型数据库中,分三级:database.schema.table。一个数据库下面可以包含多个schema,可以给不同的用户创建不同的schema,并且他们都是在同一数据库实例下面。一个schema下可以包含多个数据库的对象:表、存储过程、触发器等。不是所有数据库都实现了schema这一层,Mysql则直接把schema和database等效了,...

2020-11-05 01:04:17 1212

原创 【Scala】Scala知识点总结之流程控制

文章目录⌘ 分支控制-- 单分支-- 双分支-- 多分支⌘ 循环控制-- for循环--- 基本语法--- 循环守卫--- 循环步长--- 循环嵌套--- 引入变量--- 循环返回值-- while循环--- 基本语法--- while循环--- do...while循环-- 循环中断Scala程序代码和所有编程语言代码一样,都会有特定的执行流程顺序,默认情况下是顺序执行,上一条逻辑执行完成后才会执行下一条逻辑,执行期间也可以根据某些条件执行不同的分支逻辑代码。⌘ 分支控制让程序有选择的的执行,

2020-11-03 23:48:23 271

原创 【Linux】问题记录:sudo设了nopasswd,但是不起作用

有的时候你的将用户设了nopasswd,但是不起作用,原因是被后面的group的设置覆盖了,需要把group的设置也改为nopasswd。解决办法:visudo 或者 vi /etc/sudoers加入:atguigu ALL=(ALL) NOPASSWD: ALL%admin ALL=(ALL) NOPASSWD: ALL比如:...

2020-11-03 23:46:07 2478 2

原创 【MapReduce】浅谈MR Shuffle流程

MapReduce shuffle:Map方法之后,Reduce方法之前的数据处理过程称之为Shuffle。在shuffle之前,MapReduce通过InputFormat接口中的getSplit()方法,对要当前要处理的HDFS块数据进行逻辑上的分片(split)操作,进而确定MapTask的个数// 分片不会超过blockSize的大小,取goalSize和minSize的最大值finalSplitSize=max(minSize,min(goalSize,blockSize))

2020-07-27 20:33:05 399

原创 【Azkaban】实现 自定义电话/微信/钉钉 报警

默认邮件报警Azkaban默认支持通过邮件对任务进行报警,配置方法如下:先把web服务关闭:[atguigu@hadoop102 azkaban-web-server-3.84.4]$ pwd/opt/module/azkaban/azkaban-web-server-3.84.4[atguigu@hadoop102 azkaban-web-server-3.84.4]$ bin/shutdown-web.sh Killing web-server. [pid: 1383], attem

2020-07-27 13:12:25 2537 8

原创 【Presto】问题记录:Presto无法查询经过(LZO)压缩的表

在/opt/module/presto/plugin/hive-hadoop2目录下添加压缩格式相应的jar包:

2020-07-08 16:12:44 860 5

原创 【JAVA】对象数组的浅拷贝和深拷贝

1、浅拷贝const _ = require('lodash');let one_brand = [ {name: 'A', count: 1, value: Infinity}, {name: 'B', count: 2},]// 浅拷贝// 方法一let two_brand = one_brand.slice(0);// 方法二(推荐)let two_brand = _.clone(one_brand) console.log("改变前:")console.lo

2020-07-05 10:06:17 448

转载 【Hadoop】大数据集群常用框架通信端口号汇总

 常见端口汇总:Hadoop:        50070:HDFS WEB UI端口    8020 : 高可用的HDFS RPC端口    9000 : 非高可用的HDFS RPC端口    8088 : Yarn 的WEB UI 接口    8485 ...

2020-06-29 10:58:00 878

原创 【Java】String、StringBuffer以及StringBuilder的区别?

String、StringBuffer以及StringBuilder的区别?既然在Java中已经存在了String类,那为什么还需要StringBuilder和StringBuffer类呢?一起来看下面的代码 public class Main { public static void main(String[] args) { String string = ""; for(int i=0;i<10000;i+..

2020-06-27 13:34:54 139

原创 【HBase】HBase读流程,为什么不把META表信息直接保存在ZK中?

主要是为了保存的数据量考虑,ZK中不宜保存大量数据,而META表主要是保存Region和RegionServer的映射信息,Region的数量没有具体约束,只要在内存允许的范围内,Region数量可以有很多,如果保存在ZK中,ZK的压力会很大。所以,通过一个-ROOT-表来转存到RegionServer中是一个比较理想的方案,相比直接保存在ZK中,也就多了一层-ROOT-表的查询,对性能来说影响不大。...

2020-06-25 15:15:17 500

原创 【HBase】问题记录:ERROR:org.apache.hadoop.hbase.PleaseHoldException:Master is initializing

问题描述:ERROR:org.apache.hadoop.hbase.PleaseHoldException:Master is initializing原因分析:初始化HBase后,修改过系统时间或者多台节点的时间不同步所导致。解决办法:停止Hbase进程stop-hbase删除Zookeeper中的删除hbase文件夹deleteall /hbase删除HDFS中Hbase的数据信息同步系统时间至网络sudo ntpdate 0.cn.pool.ntp.o

2020-06-23 21:17:36 256

原创 【Linux】一行命令使集群时间与网络同步

很多框架会因为节点之间的连接时间超时出现各种问题,这时只需要通过 ntpdate 0.cn.pool.ntp.org 命令使各个节点的时间跟网络时间同步即可。

2020-06-23 19:56:24 190

原创 【Kafka】Kafka基于磁盘却这么快的原因在哪?

首先,Kafka 作为一个消息系统,通过 topic 的方式来管理 message,把这些消息都顺序写入磁盘文件来提高写入速度,其实这些消息并没有实时写入磁盘,而是充分利用了现代操作系统分页存储来利用内存提高IO效率。其次,它的工作原理是直接利用操作系统的 page 来实现文件到物理内存的直接映射。完成映射之后你对物理内存的操作会被同步到硬盘上(操作系统在适当的时候)。再次,Kafka 也基于 sendfile 实现 zero copy,简化网络上和两个本地文件之间的数据传输,sendfile 的引入.

2020-06-19 00:04:09 268

原创 【MySQL】你真的懂MySQL中char与varchar类型区别吗

CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。区别一,定长和变长 char表示定长,长度固定,varchar表示变长,即长度可变。char如果插入的长度小于定义长度时,这种存储方式会造成磁盘空间的浪费。这里需要提醒的一点是,当字符位数不足时,系统并不会采用空格来填充。相反,如果在保存CHAR值的时候,如果其后面有空值,系统还会自动过滤其空格。而在进行数据比较时,系统又会将空格填充到字符串的末尾..

2020-06-16 00:55:16 417

原创 【Scala】Scala核心知识点总结之函数式编程

文章目录⌘ 基础函数编程-- 基本语法-- 函数&方法-- 函数定义-- 函数参数--- 函数参数的个数--- 可变参数--- 参数默认值,--- 带名参数-- 函数至简原则--- 省略return关键字--- 省略花括号--- 省略返回值类型--- 省略参数列表--- 省略等号--- 省略名称和关键字⌘ 高阶函数编程-- 函数作为值-- 函数作为参数-- 函数作为返回值-- 匿名函数-- 闭包-- 函数柯里化-- 控制抽象-- 递归函数-- 惰性函数在之前Java课程的学习中,我们一直学习的就

2020-06-01 01:02:34 485

原创 【Kafka】Kafka如何保证消息的有序性

前提条件:生产者生产的消息是有序的,为了保证有序性,生产者采用了双端队列,保证最新消息发送失败也能最先发出。两种方案: 方案一,kafka topic 只设置一个partition分区 方案二,producer将消息发送到指定同一个partition分区解析: 方案一:kafka默认保证同一个partition分区内的消息是有序的,则可以设置topic只使用一个分区,这样消息就是全局有序,缺点是只能被consumergroup里的一个消费者消费,降低了性能,不适用高并发的情况 方案二:既然.

2020-05-31 00:21:59 4805 1

原创 【Java】说HashMap链表长度超过8就会转换成红黑树的出来挨打!

先上结论:在极限情况下,某一个位置链表长度达到11时,才会转换成红黑二叉树结构。这个极限情况指的是每次都是因为某个位置链表长度而导致的数组扩容,比如说数据只向数组中一个位置添加数据。网上很多人说jdk1.8后HashMap链表长度超过8就会转换成红黑树,通过源码阅读和测试后已经可以确定并不是超过8个就变红黑树,链表长度超过8,只是会尝试转换为二叉树,转换前,首先判断数组容量是否足够大,如果不够大,则进行扩容,发现长度小(未达到64),则扩容为原来的2倍,如果达到64,假设数组某个位置链表长度已经为10.

2020-05-30 15:05:17 3177 8

原创 【Hadoop】Hadoop 3.x 和2.x主要区别总结

⌘ 最低Java版本从7升级到8⌘ 引入纠删码(Erasure Coding),未来趋势主要解决数据量大到一定程度磁盘空间存储能力不足的问题.HDFS中的默认3副本方案在存储空间中具有200%的额外开销。但是,对于I/O活动相对较少冷数据集,在正常操作期间很少访问其他块副本,但仍然会消耗与第一个副本相同的资源量。纠删码能勾在不到50%数据冗余的情况下提供和3副本相同的容错能力,因此,冷数据可以使用纠删码作为副本机制的改进是自然而然,也是未来的趋势.本来默认是128M为一个块,纠删码可以将其打散成1

2020-05-29 22:08:55 1951

原创 【Linux&Shell】学习笔记之Shell命令

文章目录> 帮助命令-- man 获得帮助信息-- help 获得shell内置命令的帮助信息-- 常用快捷键> 文件目录类-- pwd 显示当前工作目录的绝对路径-- ls 列出目录的内容-- cd 切换目录-- mkdir 创建一个新的目录-- rmdir 删除一个空的目录-- touch 创建空文件-- cp 复制文件或目录-- rm 移除文件或目录-- mv 移动文件与目录或重命名-- cat 查看文件内容-- more 文件内容分屏查看器-- less 分屏显示文件内容-- ech

2020-05-29 14:15:38 501

原创 【MySQL】还记不住索引失效场景的来打我!

文章目录> 全值匹配我最爱> 最佳左前缀法则> 索引列上做计算> 索引列上进行范围查询> 使用覆盖索引> 使用不等于(!= 或者<>)> is not null 和 is null> like的前后模糊匹配> 使用or> 总结> 口诀> 全值匹配我最爱建立索引CREATE INDEX idx_age_deptid_name ON emp(age,deptid,NAME);查看下列sql的Explian

2020-05-29 00:24:01 496

原创 【Java】你真的理解父子类的含义吗? protected关键字你真的会用吗?

如题,User05 的对象user,为什么不能直接调用clone()方法呢?package com.atguigu.bigdata.java.chapter06;;/** * @author Nien * @create 2020-05-25 */public class Java05_Access { public static void main(String[] args) throws Exception { User05 user = new User05(

2020-05-25 12:31:40 222

原创 【Scala】反编译轻松看懂Scala中==、equals、eq的区别

eq其实就是Java中的==,比较对象的内存地址==,比较地址中的内容,类似于equals方法,并进行了非空判断,防止空指针异常。a.equals(b),相比==,少了非空判断,很少使用通过反编译后清晰明了:// 用eq其实才是Java中的==,比较对象的内存地址public void main(final String[] args) { String a = new String("abc"); String b = new String("abc"); .M..

2020-05-24 20:01:19 574

原创 【Java】sleep方法究竟是让哪个线程睡眠?main方法中不能将所指定线程休眠?

sleep最好使用在run方法的内部,因为写在run方法内部可以让该线程休眠.既然在main方法中不能将本指定线程休眠,那sleep一般怎么用呢?1.一般在想要睡眠线程的run()方法中让当前线程休眠,因为之所以会有线程,就是多个线程操作同一资源,只要在资源操作的run( )方法中使用sleep比较有意义。2.如果是想交替使用,那么使用wait + notify 结合使用3.如果是等待线程的结果,那么就使用join的方式sleep究竟是让哪一个线程休眠?1.调用某一个线程类的对象t...

2020-05-24 18:36:15 2481 1

原创 【Flume】Flume中的HDFS Sink配置项详解

    Flume中的HDFS Sink应该是非常常用的,其中的配置参数也比较多,在这里记录备忘一下:typehdfspath写入hdfs的路径,需要包含文件系统标识,比如:hdfs://namenode/flume/webdata/可以使用flume提供的日期及%{host}表达式。filePrefix默认值:FlumeData写入hdfs的文件名前缀,可以使用flume提供的日期及%{host}表达式。fileSuffix写入hdfs的文件名后缀,比如:

2020-05-23 21:12:43 694

原创 【Maven】问题记录:Maven导入依赖疑难杂症解决办法

1、问题描述Maven导入依赖报红,但是可以正常打包2、解决办法设置maven添加依赖忽略ssl 验证-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true...

2020-05-14 20:23:25 724

原创 【Java】问题记录:fastjson中JSON.isValid()方法校验JSON合法性的BUG

1.问题描述JSON.isValid(); JSON.isValidobject(); JSON.isValidArray();经过debug源码发现isValid0方法只要字符串开头是“{”结尾是“}”就都返回true,中间skipObject和skipArray直接跳过了,并没有校验每一个字符的合法性。2.解决办法package com.atguigu.flume.interceptor;import com.alibaba.fastjson.JSON;import com.alib

2020-05-14 20:06:20 12620 3

原创 【Secondary Namenode】问题记录:Hadoop查看Secondary Namenode Web端无信息的解决办法

1、问题描述 打开SecondaryNamenode information管理页面,没有任何信息提示 打开浏览器的开发者工具的Console,发现如下错误:dfs-dust.js:61 Uncaught ReferenceError: moment is not defined at Object.date_tostring (dfs-dust.js:61) at Object.dust.filter (dust-full-2.0.0.min.js:1) at Chunk.

2020-05-14 19:50:15 1573 4

原创 【Azkaban】问题记录:Azkaban Execute Flow一直PREPARING状态

问题描述:web服务端启动闪退,即使后面成功启动会导致Execute Flow一直PREPARING,查看日志后发现连接执行器时全部被拒原因分析:由于非正常启动、关闭服务/异常关机,导致数据库里面executors信息混乱:正常情况:解决办法:删除表里内容mysql> use azkaban;truncate table executors;按照官方SQL脚本重新初始化mysql> use azkaban;mysql> source /opt/module/az

2020-05-14 19:04:29 2521

原创 【MySQL】学习笔记之MySQL基础

文档:10. 数据库总结(基础).note点击链接:笔记原文(同步更新)笔记目录:-数据库概述 --数据库的特点和好处 --数据库软件-DML——数据查询 --基本查询 --条件查询 ---between……and关键字 ---or关键字 ---and关键字 ---in关键字 ---like关键字 ---转义字符——escape关键字 ---not关键字...

2020-05-02 11:53:04 429

原创 【Hive】临时修改Hive计算引擎与Yarn队列

配置mapreduce计算引擎set hive.execution.engine=mr;set hive.execution.engine=spark;set hive.execution.engine=tez;

2020-04-27 12:38:00 786

转载 【Java基础】乐观锁和悲观锁

前言关于线程安全一提到可能就是加锁,在面试中也是面试官百问不厌的考察点,往往能看出面试者的基本功和是否对线程安全有自己的思考。那锁本身是怎么去实现的呢?又有哪些加锁的方式呢?我今天就简单聊一下乐观锁和悲观锁,他们对应的实现 CAS ,Synchronized,ReentrantLock正文 一个120斤一身黑的小伙子走了进来,看到他微微发福的面容,看来是最近疫情伙食好运动少的结果,他...

2020-04-23 20:25:18 172

原创 【Java】彻底解决Error:java: Compilation failed: internal java compiler error

1.Error:java: Compilation failed: internal java compiler error问题描述:IDEA里面改了版本还是不行原因分析:maven的编译版本问题解决方法:pom.xml添加如下内容<properties> <project.build.sourceEncoding>UTF-8</...

2020-04-23 20:15:13 404

空空如也

空空如也

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

TA关注的人

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