自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Nice的博客

本博客主要用来记录自己的学习心得,如有不正确的地方,请不吝赐教。

  • 博客(239)
  • 资源 (3)
  • 收藏
  • 关注

原创 SparkLaunch提交Spark任务到Yarn集群

SparkLaunch提交Spark任务到Yarn集群

2023-01-02 17:43:52 2575

原创 Git Stash、Git Merge、Git Rebase、Git Revert

Git 常用操作汇总,Git Merge、Git Rebase

2023-01-01 19:36:25 1469 1

原创 Kubernets 安装和工作原理

Kubernets 学习环境搭建

2022-08-28 22:23:32 669

原创 Apache Atlas 安装部署

atlas 安装部署采坑记录

2022-07-17 11:00:40 3419 2

原创 MySQL存储引擎浅析

MySQL存储引擎及底层索引存储结构浅析

2022-05-03 16:49:17 510

原创 Spark动态资源池

动态资源分配Spark提供了一种机制,可以根据工作负载动态调整应用程序占用的资源。这意味着,如果不再使用资源,您的应用程序可以将资源返还给群集,并在以后有需求时再次请求它们。如果多个应用程序共享您的Spark集群中的资源,则此功能特别有用。官方文档地址:http://spark.apache.org/docs/latest/job-scheduling.html默认情况下,此功能是禁用的,并且在所有ClusterManager上都可用,即StandAlone模式,YARN模式和 Mesos粗粒度模

2022-04-07 19:59:41 1197

转载 深入理解分布式CAP原理

深入理解分布式CAP原理

2022-04-07 14:05:32 857

原创 Apache Livy 安装部署使用示例

Apache Livy 安装部署使用探索

2022-03-29 15:18:25 5377

原创 SpringMVC原理及实践

SpringMVC 原理理解及基础实践

2022-02-07 23:48:14 486

原创 Spark 内存管理 :Spark如何高效利用有限的内存空间?

Spark内存的管理模式在管理方式上,Spark 会区分堆内内存(On-heap Memory)和堆外内存(Off-heap Memory)。这里的“堆”指的是 JVM Heap,因此堆内内存实际上就是 Executor JVM 的堆内存;堆外内存指的是通过 Java Unsafe API,像 C++ 那样直接从操作系统中申请和释放内存空间。其中,堆内内存的申请与释放统一由 JVM 代劳。堆外内存则不同,Spark 通过调用 Unsafe 的 allocateMemory 和 freeMemory 方法

2021-12-04 22:31:22 1814

转载 Java 反射机制详解

前置知识参考:Java虚拟机:对象创建过程与类加载机制、双亲委派模型一、什么是反射:1)Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。本质是JVM得到class对象之后,再通过class对象进行反编译,从而获取对象的各种信息。(2)Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了,而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性,不需要提前在编译期

2021-11-21 21:48:27 438

原创 LATERAL VIEW EXPLODE函数详解及应用

在进行统计分析的时候有时候会有类似这样的需求 比如求某个平台某一天所有的订单总和,或者淘宝所有pc 端的交易总和,这个时候我们可以基于原本基础的数据进行炸裂处理之后得出结结果值,方便后续进行查询,这种提前进行预聚合的思想长用于即席查询分析的场景中,比如为了适用于某张报表的多条件查询可以采用此种方式结合预聚合的方式进行操作。

2021-10-31 13:28:17 8712 2

原创 Hive 常用函数总结

Hive 常用函数总结数学函数日期函数条件函数字符串函数聚合函数表生成函数行列转换窗口函数进阶函数数学函数round(double d, int n):返回保留n位小数的近似d值hive (default)> select round(3.1415,2) round from dual;3.14floor(double d): 返回小于d的最大整值hive (default)> select floor(3.1415) round from dual;3ceil(dou.

2021-09-05 16:34:28 992

原创 数据仓库模型

数据仓库模型事实表与维度表事实表分类星型模型雪花模型事实星座事实表与维度表在数据仓库中,保存度量值的详细值或事实的表称为事实表。事实数据表通常包含大量的行。事实数据表的主要特点是包含数字数据(事实),并且这些数字信息可以汇总,以提供有关单位作为历史的数据。事实表的粒度决定了数据仓库中数据的详细程度。常见事实表:订单事实表事实表的特点:表多(各种各样的事实表);数据量大事实表根据数据的粒度可以分为:事务事实表、周期快照事实表、累计快照事实表维度表(维表)可以看作是用来分析数据的角度,纬度表中包

2021-08-29 10:03:39 892

原创 Spark DataSet 常用Api 汇总

Spark DataSet Api 整合dtypes : 每一列信息 /** * Returns all column names and their data types as an array. * * @group basic * @since 1.6.0 */ def dtypes: Array[(String, String)] = schema.fields.map { field => (field.name, field.dataType

2021-08-15 23:11:48 1345

原创 Spark Core 实现求共同好友

数据样本:第一列为people,冒号后面为对应的好友按照逗号分割A:B,D,E,H,I,O,CB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:B,C,D,E,O,M需求:求出有共同好友的所有情况比如:A和B 的共同好友为C E那么,展示形式即为A-B:C,E思路分析:1.先将好友对应的People 转换格式比如:A:B,D转换成为如下形式(B,List(A)) (D,List(A))2.按照Key进行聚合得到聚合之后的结果数据(D,List(

2021-08-08 13:38:12 523

原创 PSQLException: ERROR: permission denied: no privilege to create a readable gpfdist(s) external table

Spark 使用GSC 连接Gp 写入数据时候报错:PSQLException: ERROR: permission denied: no privilege to create a readable gpfdist(s) external table错误原因:当前用户没有权限创建外部表完整错误如下:21/07/01 10:04:24 WARN scheduler.TaskSetManager: Lost task 0.0 in stage 7.0 (TID 8, hddatanode01, ex

2021-07-01 10:29:28 2428

原创 Redis-Cluster 搭建实践

Redis-Cluster 搭建实践1.创建文件夹配置文件2.编辑启动脚本3. 启动redis 集群4.创建Redis集群5.向集群中添加节点6.向集群添加从节点Redis 集群模式搭建,并向集群中添加主从节点,重新分配solt1.创建文件夹配置文件创建redis-cluster 目录,并配置master1(7001) master2(7002) master3(7003) slave1(7004) slave2(7005) slave3(7006)[root@bigdata01 redis

2021-06-03 22:46:48 712

原创 Redis sentinel 模式安装实践

哨兵模式哨兵(sentinel)是Redis的高可用性(High Availability)的解决方案:由一个或多个sentinel实例组成sentinel集群可以监视一个或多个主服务器和多个从服务器。当主服务器进入下线状态时,sentinel可以将该主服务器下的某一从服务器升级为主服务器继续提供服务,从而保证redis的高可用性。部署方案配置详情在一台机器上采用伪分布式的方式部署。(生产环境应该是多台机器)根据上面的部署方案搭建如下:Redis-Master :127.

2021-06-02 23:06:11 410

原创 CDH 集群Impala-Shell 获取不到数据及相关问题

错误描述:在CDH 界面安装Impala 服务之后,进入到服务器的Impala-shell中运行查询语句获取不到数据控制台运行查询打印信息如下:[hddatanode02:21000] test> select * from test.ods_cdp_data_explore;Query: select * from test.ods_cdp_data_exploreQuery submitted at: 2021-05-11 12:37:59 (Coordinator: http://hdd

2021-05-11 13:13:54 1144 2

原创 Hive 商品案例

Hive指标案例准备数据表结构指标计算准备数据先创建txt表导入数据,然后将表数据导入ORC表中-- createtable.hqldrop database sale cascade;create database if not exists sale;create table sale.dimdate_ori(dt date,yearmonth int,year smallint,month tinyint,day tinyint,week tinyint,weeks tin

2021-05-08 21:51:42 843 1

原创 Hive 优化实践 -- 执行计划

目录数据准备执行计划问题分析SQL优化最后小结数据准备-- 创建数据库create database tuning;use tuning;-- 创建表create table if not exists tuning.student_txt(s_no string comment '学号',s_name string comment '姓名',s_birth string comment '出生日期',s_age int comment '年龄',s_sex string comme

2021-05-08 17:23:41 995

原创 Hive 中容易忽略的点

1.查看所有设置hive (bigdata)>set;2.查看HDFS 路径信息hive (bigdata)> dfs -ls /user/hive/warehouse;内部表转外部表alter table t1 set tblproperties('EXTERNAL'='TRUE');4.查看分区信息hive (bigdata)> show partitions ods_score;5.增加分区alter table t3 add partition(dt=

2021-04-27 23:04:07 374

原创 Spark性能调优实战-02

Spark 性能调优的本质先入为主的反例性能调优的本质定位性能瓶颈的途径有哪些?性能调优的方法与手段性能调优的终结小结先入为主的反例在典型的 ETL 场景中,我们经常需要对数据进行各式各样的转换,有的时候,因为业务需求太复杂,我们往往还需要自定义 UDF(User Defined Functions)来实现特定的转换逻辑。但是,无论是 Databricks 的官方博客,还是网上浩如烟海的 Spark 技术文章,都警告我们尽量不要自定义 UDF 来实现业务逻辑,要尽可能地使用 Spark 内置的 SQL

2021-04-09 13:11:16 491

原创 Spark性能调优实战-01

在日常的开发工作中,我发现有个现象很普遍。很多开发者都认为 Spark 的执行性能已经非常强了,实际工作中只要按部就班地实现业务功能就可以了,没有必要进行性能调优。你是不是也这么认为呢?确实,Spark 的核心竞争力就是它的执行性能,这主要得益于 Spark 基于内存计算的运行模式和钨丝计划的锦上添花,以及 Spark SQL 上的专注与发力。但是,真如大家所说,开发者只要把业务逻辑实现了就万事大吉了吗?这样,咱们先不急于得出结论,你先跟着我一起看两个日常开发中常见的例子,最后我们再来回答这个问题。.

2021-03-30 22:35:11 813 4

原创 学会这21条,你离 Vim 大神就不远了!

目录1、vim模式2、打开文件3、插入命令4、查找命令5、替换命令6、撤销与重做7、删除命令8、复制粘贴9、剪切粘贴10、退出保存11、移动命令12、排版功能13、注释命令14、调整视野15、区域选择16、窗口控制17、文档加密18、录制宏19、执行命令20、帮助命令21、配置命令1、vim模式正常模式(按Esc或Ctrl+[进入) 左下角显示文件名或为空插入模式(按i进入) 左下角显示--INSERT--可视模式(按v进入) 左下角显示--VISUAL--2、打开文件# 打开单个文件v

2021-03-21 21:57:11 241

原创 链表反转递归方式分析及实现

链表反转递归方式实现: private ListNode reverse(ListNode head){ if (head == null || head.next == null) return head; ListNode temp = head.next;//保存下一个节点 ListNode newHead = reverse(head.next);//整体思维,宏观语义 temp.next =

2021-03-13 17:42:06 325

原创 HDFS Block 损坏解决方案

背景描述:机房断电重启后发现HDFS服务不正常发现步骤:检查HDFS文件系统健康 通过命令的方式查看或者web ui 信息进行查看hdfs fsck /检查对应哪些Block发生了损坏(显示具体的块信息和文件路径信息)hdfs fsck -list-corruptfileblocks数据处理流程:MySQL-----> Hadoop,解决方式只需要重新同步一份该表的数据即可深层次的思考:如何获取文件块的具体信息?1个文件对应多个块,每个块分布在不同的机器上面?

2021-03-06 13:15:40 1829 2

原创 Hive小文件合并与数据压缩

Hive仓库表数据最终是存储在HDFS上,由于Hadoop的特性,对大文件的处理非常高效。而且大文件可以减少文件元数据信息,减轻NameNode的存储压力。但是在数据仓库中,越是上层的表汇总程度就越高,数据量也就越小,而且这些表通常会有日期分区,随着时间的推移,HDFS的文件数目就会逐步增加。小文件合并与数据压缩一、小文件带来的问题二、Hive小文件产生的原因三、配置Map输入合并四、配置hive结果合并五、压缩文件的处理六、使用HAR归档文件七、文件格式和压缩TextFileSequenceFil.

2021-03-06 11:28:12 860

原创 Redis 哨兵模式安装部署

Redis 哨兵模式安装部署什么是哨兵?Sentinel 其实也是一个 redis 的服务端程序,它也会定时执行 serverCron 函数,只是里面其他的程序用不到,用到的是对普通 redis 节点的监控以及故障转移模块。Sentinel 初始化的时候会清空原来的命令表,写入自己独有的命令进去,所以普通 redis 节点支持的数据读写命令,对 Sentinel 来说都是找不到命令,因为它根本就没有初始化这些命令的执行器。Sentinel 会定时的对自己监控的 master 执行 info 命令,获

2021-03-02 17:29:17 1112 3

原创 Apache DolphinSchedule 安装部署踩坑

Apache DS 安装部署@Author:Michealkz镜像下载地址官方下载地址:https://dolphinscheduler.apache.org/zh-cn/download/download.html国内镜像下载地址:# 清华源下载地址https://mirrors.tuna.tsinghua.edu.cn/apache/incubator/dolphinscheduler/1.3.5/apache-dolphinscheduler-incubating-1.3.5-dolphi

2021-02-28 09:32:21 6711

原创 CDH 6.3.1 添加 Hue 服务并解决报错

1.添加服务数据库校验失败2.去查看Cloudera-manager-server的log定位错误/var/log/cloudera-scm-servertail -f cloudera-scm-server.log3.发现错误信息为:+ '[' ldaptest = is_db_alive ']'+ exec /opt/cloudera/parcels/CDH-6.3.1-1.cdh6.3.1.p0.1470567/lib/hue/build/env/bin/hue is_db_aliv

2021-02-26 14:55:39 1837

原创 二叉树相关概念及前中后层序遍历

二叉树二叉树:二叉树是每个节点最多有两个子树的树结构;是n(n>=0)个结点的有限集合,它或者是空树(n=0),或者是由一个根结点及两颗互不相交的、分别称为左子树和右子树的二叉树所组成。完全二叉树完全二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点;满二叉树满二叉树:除最后一层外,每一层上的所有结点都有两个子结点;满二叉树是一种特殊的完全二叉树;二叉排序树(二叉搜索树)二叉搜索树是二叉树的一种,是应用非常广泛的一种二叉树,英文简称为 BST 又被

2021-02-17 20:57:10 290

原创 树、二叉树、完全二叉树、满二叉树

数据结构 - 树树的基本概念:节点、根节点、父节点、子节点、兄弟节点一棵树可以没有任何节点,称为空树一棵树可以只有一个节点,也就是根节点子树、左子树、右子树树的度:节点的度:子树的个数树的度:所有节点度中最大值叶子节点:度为0 的叶子节点非叶子节点:度不为0 的节点树的深度高度:层数:根节点在第一层,根节点的子节点在第二层,以此类推节点的深度:从根节点到当前节点的唯一路径上的节点总数(根节点-----> 当前节点)节点的高度:从当前节点到最远叶子节点的路径上的节点

2021-02-08 17:14:48 1222

转载 Spark 3.0 Adaptive Query Execution

Spark3.0已经发布半年之久,这次大版本的升级主要是集中在性能优化和文档丰富上,其中46%的优化都集中在Spark SQL上,SQL优化里最引人注意的非Adaptive Query Execution莫属了。Adaptive Query Execution(AQE)是英特尔大数据技术团队和百度大数据基础架构部工程师在Spark 社区版本的基础上,改进并实现的自适应执行引擎。近些年来,Spark SQL 一直在针对CBO 特性进行优化,而且做得十分成功。CBO基本原理在介绍CBO前,我们.

2021-01-22 18:17:46 820

原创 HBase进阶篇

RegionServer 架构RegionServer 架构HBase写流程HBase读流程MemStore FlushStoreFile CompactionRegion SplitRegionServer 架构RegionServer 详细架构:StoreFile保存实际数据的物理文件,StoreFile以Hfile的形式存储在HDFS上。每个Store会有一个或多个StoreFile(HFile),数据在每个StoreFile中都是有序的。MemStore写缓存,由于HFile中的.

2021-01-17 15:53:49 332

转载 CDH动态资源池配置

动态资源池配置Yarn默认有三种调度器——FIFO、Capacity以及Fair Scheduler,CDH推荐使用Fair Scheduler。通过动态资源池的Web UI,我们可以十分方便的配置Fair Scheduler。1)点击群集→动态资源池配置进入动态资源池的配置界面2)动态资源池配置——资源池动态资源池采用树形结构,与Fair Scheduler的队列保持一致,任务只能提交到子池。用户可自定义动态资源池,以将不同任务提交到不同的资源池中。每一个资源池都有一个权重 (weight)的

2021-01-10 14:08:00 1069

转载 Flink流量控制与反压机制总结

笔者最近回顾自己对Flink技术栈细节的理解,发现对Flink的网络栈、流控与反压这一套机制存在比较大的盲区。虽然平时多次处理过作业反压的问题,但是不完全理解背后的实现显然说不过去。于是专门写一篇总结,站在大佬们的肩膀上彻底搞清楚Flink是怎么做流控与处理反压的。Flink网络传输的数据流向Flink网络传输的数据流向如下图所示:Sender在发送数据时,首先写入TaskManager内部的网络缓存,利用Netty进行传输——将待发送的数据存入Netty的ChannelOutboundBuff.

2021-01-09 20:37:26 519

转载 Flink 调优总结

在大数据领域我们都知道,开发是最简单,任务的合理调优、问题排查才是最重要的作者结合线上出现的一些问题,总结了一些任务调优需要注意的点。Flink任务延迟高,想解决这个问题,你会如何入手?在Flink的后台任务管理中,我们可以看到Flink的哪个算子和task出现了反压。最主要的手段是资源调优和算子调优。资源调优即是对作业中的Operator的并发数(parallelism)、CPU(core)、堆内存(heap_memory)等参数进行调优。作业参数调优包括:并行度的设置,State的设置,che.

2021-01-09 20:23:04 1963

转载 TypeError: Object of type bytes is not JSON serializable

笔者将mat文件用python读取数据之后,得到一个字典数组,笔者想将这个字典数组储存到json文件中,因此应该先编码json数据,因此用到了json.dumps函数进行编码,但是我使用json.dumps函数时发现有会出现问题:TypeError: Object of type 'bytes' is not JSON serializable后来查阅相关资料才发现,默认的编码函数很多数据类型都不能编码,因此可以自己写一个encoder去继承jsonencoder ,这样就能够进行编码了。clas.

2021-01-07 22:08:42 1353

Redis哨兵模式配置文件.zip

哨兵模式三台一主一从一哨兵

2021-06-16

db.properties

从0 到1 搭建CDH6.3.1 集群

2021-04-08

kafka-manager-2.0.0.2.zip

从github上下载源码在本地进行编译的kafka-manager,用于kafka集群的监控。

2019-10-24

空空如也

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

TA关注的人

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