vegetable chicken01
码龄7年
关注
提问 私信
  • 博客:46,646
    46,646
    总访问量
  • 30
    原创
  • 1,675,362
    排名
  • 22
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2018-06-04
博客简介:

Jiangzhiqi4551的博客

查看详细资料
个人成就
  • 获得35次点赞
  • 内容获得17次评论
  • 获得181次收藏
  • 代码片获得439次分享
创作历程
  • 8篇
    2021年
  • 15篇
    2020年
  • 10篇
    2019年
成就勋章
TA的专栏
  • hive
    9篇
  • hadoop
    3篇
  • 数据仓库工具箱
    1篇
  • spark
    3篇
  • Java
    2篇
  • 数据库
    1篇
  • GeoHash
    1篇
兴趣领域 设置
  • 大数据
    mysqlhadoophiveredisstormsparketl
  • 服务器
    linux
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Hive中like与rlike的区别

Hive 中可以用 like 和 rlike 进行模糊匹配,like 采用的是 SQL 通配符,而 rlike 采用的是正则匹配。like% 代替 0 或多个字符_ 代替一个字符举个例子:-- 返回值为 TRUEselect 'aaa' like '%a%'-- 返回值为 TRUEselect 'aaa' like '_a_'rlikerlike 采用正则表达式,以下总结几个常用的****: 转义用,序列 \\ 匹配 \^: 匹配输入字符串开始的位
原创
发布博客 2021.09.07 ·
10154 阅读 ·
2 点赞 ·
0 评论 ·
16 收藏

Hadoop纠删码(Erasure Coding)简介

三副本机制1、什么是三副本默认情况下,HDFS会使用三副本机制来保证数据可用性,第一个副本存放在本地机架节点上,另一个副本存放在同一机架的另一个节点上,第三个副本存放在在不同机架的节点上。三副本机制可以减少机架间的数据传输,提高写操作的效率,保证数据的可用性,因为机架错误的概率要小于节点出错的概率2、三副本带来的问题三副本会造成存储空间200%的额外开销,还会在其他资源上造成浪费,比如在写数据时会造成额外的带宽消耗。尤其对于冷数据,因为查询的频率很低,第二个和第三个副本很少被访问,却依然占用了同样大
原创
发布博客 2021.08.17 ·
2505 阅读 ·
0 点赞 ·
2 评论 ·
13 收藏

Hive宏(Macro)简介

最近在开发中用到了宏,用起来的确很方便,大大简化了代码,提高了可读性和可维护性,在此记录下宏的用法,以后有机会多更新一些宏的复杂用法。什么是 Macro在进行 Hive SQL 开发的时候,有一些逻辑需要反复使用,如果代码中每次都把所需逻辑复制粘贴一遍,不仅会造成代码冗余,还会增加维护难度,这时使用 Hive宏 对逻辑进行提炼,可以起到简化代码,提高开发效率,提升程序可读性的效果。如何使用 Macro宏的使用主要分为:创建、使用、销毁这三步,其中最重要的是创建部分,定义好后可以将宏像函数一样使用,最
原创
发布博客 2021.08.10 ·
684 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据治理过程中的几种优化手段

当企业数仓发展到一定规模后,就会出现模型迭代速度远慢于业务发展速度的现象,为了满足业务需要,DE 往往会面向需求进行快速开发,由此造成了烟囱表、数据安全、计算冗余、存储浪费等各种各样的问题。为了解决这些问题,保持离线数仓长期向好的健康状态,需要开展数据治理工作。但在多数公司中,开展数据治理的原因往往是为了节约成本,减少计算开销和存储开销。。。下面总结一些可以优化计算和存储开销的常见方法。1. 删除 TOPk 存储的无下游,且近 N 天无更新的 ODS 表业务风险高,数据不可恢复,需要跟业务确认2.
原创
发布博客 2021.08.09 ·
538 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

将DB数据同步到数据仓库中的两种方法(简介)

在数据仓库中,ODS 层数据一般来源于客户端的日志和业务数据库中的数据,对于 MYSQL 等关系型数据库,我们需要将库中数据同步到 Hive 中进行查询与分析。这里简单介绍两种同步的方法。低性能同步法直连 MySQL 并 select 表中数据将 select 的结果存储到本地作为中间存储将中间存储的文件 load 进 Hive 表中这种方法实现起来比较简单,但也有较大的缺陷,主要有以下几点:随着业务规模不断扩大,每次 select 得到的数据量不断加大,将结果存本地再 load 进 H
原创
发布博客 2021.08.02 ·
884 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

数据仓库工具箱笔记 - 第一章

第一章为什么使用维度建模不使用ER模型规范化的模型主要用于操作型过程中,因为对事物的更新和插入仅触及数据库单一的地方。对BI查询来说,规范化的模型太复杂,用户难以理解和检索,复杂查询时将耗尽数据库的优化器性能,严重影响查询的性能,不能高性能检索。度建模的核心原则建立事实表时使用统一的细节级别(粒度),可以避免出现重复计算度量的问题。(事实表中每一行对应一个度量事件)文本数据应尽量放在维表中,尽量不冗余到事实表。总线矩阵存在的意义多数情况下,用户获得有限的数据源,并用于解决特定的问题,输出
原创
发布博客 2021.06.28 ·
180 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

使用VuePress搭建一个简洁的技术文档

长期搬砖难免遇到各种各样的问题,新人入职后也需要一份完整、清晰的文档指导其展开工作,而Hexo更适合做个人博客,因此这里选用 VuePress 来构建。1、安装Node.jsNode.js安装教程此处不再赘述。2、创建并进入目录mkdir vuepress-starter && cd vuepress-starter3、初始化npm init4、安装依赖npm install -D vuepress5、创建文档mkdir docs && echo
原创
发布博客 2021.05.17 ·
428 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

mac下Homebrew安装Fetching /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask failed报错解决方法

在安装 Homebrew 时发现了如下报错Error: Fetching /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask failed!fatal: Could not resolve HEAD to a revisionFailed during: /usr/local/bin/brew update --force --quiet尝试了一些方法都没解决,最后采用如下方法完美解决。1、卸载之前安装的 Homebrew/usr/b
原创
发布博客 2021.04.26 ·
9663 阅读 ·
18 点赞 ·
7 评论 ·
22 收藏

字节抖音大数据开发校招面经总结

翻了一些牛客上的字节面经,对常见面试题做了下总结~Spark部分1、Spark中Stage、Executor、Task都是干嘛的?2、Spark 数据倾斜3、spark为什么比mr快?4、Spark的stage的划分是怎么划分的?5、介绍一下 Spark RDD、DataFrame、DataSet6、Spark的窄依赖和宽依赖7、DAG Scheduler作用8、Spark中有哪些算子会进行shuffle,有哪些不会进行shuffle9、union可以形成宽依赖吗?10、Spark 作业调度11、Spark
原创
发布博客 2020.11.04 ·
2541 阅读 ·
4 点赞 ·
3 评论 ·
55 收藏

Hive中的Sort Merge Bucket Join

最近学习时发现 Hive 中还有一种 SMB Join,即 Sort Merge Bucket Join ,赶紧找资料学习了一波。。map join我们知道在 Hive 中当小表 join 大表时可以通过 map join 将小表中的数据读入内存,在 map 端 join 大表,从而省略 reduce 过程,大大加快连接的速度,但是当小表数据量过大内存放不下时就无法使用 map join 了,由此引出了 Sort Merge Bucket Join。SMB join要使用 SMB Join,所有的表
原创
发布博客 2020.11.02 ·
1071 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

大数据岗位校招Hadoop面试总结

继上一篇Spark相关的面试问题,本篇总结一下Hadoop相关的面试问题,由于Hadoop相关的问题大多涉及到原理及运行流程,内容较多较复杂,因此本篇以罗列问题为主,详细答案参考各种工具书和大佬们的博客~HDFS 默认的副本数?如果想修改副本数怎么修改HDFS 的文件结构租约管理第一关系管理及第二关系管理NameNode中的集中式缓存管理HDFS 写文件如何保证正确性及零拷贝模式HDFS读取、写入过程checkpoint流程HDFS的各节点之间如何通信MapReduce过程MapReduce1工作机制、比较
原创
发布博客 2020.11.01 ·
764 阅读 ·
1 点赞 ·
1 评论 ·
15 收藏

大数据岗位校招Spark面试总结

这里写目录标题1、Spark基本概念2、Spark运行架构特点3、Spark运行流程4、Spark on yarn—cilent 和 on yarn—cluster 的区别5、Spark 怎样划分stage和task6、stage的调度与task的调度7、静态资源申请与动态资源申请8、Spark内存管理机制9、Spark standalone模型10、Spark开发调优11、Spark数据倾斜及调优12、Spark里面有哪些参数可以设置,有什么用13、Spark shuffle参数调优14、Spark 持
原创
发布博客 2020.11.01 ·
487 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

大数据岗位校招Hive面试总结

秋招结束,拿到了比较满意的大厂offer,在这里把复习时刷过的面经以及面试时遇到的问题总结一下~1、Hive的SQL语句如何转换为MR任务?2、Hive中有哪些文件类型3、几种join的区别4、order by和sort by的区别5、drop delete turncate区别6、where和having有什么区别7、select、from、where、group by、order by在一个Hive语句中,这些执行的顺序8、join的表中筛选和where中筛选有什么区别9、分区和分桶具体怎么实现的10、
原创
发布博客 2020.10.30 ·
759 阅读 ·
2 点赞 ·
1 评论 ·
14 收藏

Windows下搭建大数据开发环境ERROR Shell: Failed to locate the winutils binary in the hadoop binary path解决方法

在 https://github.com/steveloughran/winutils 找到自己对应的 Hadoop 版本,下载解压在用户变量中添加 HADOOP_HOME ,值为解压的路径配置系统变量中的 Path ,添加 $HADOOP_HOME\bin需要重启 IDEA ,即可正常运行。...
原创
发布博客 2020.04.29 ·
379 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Hadoop archive归档命令的使用

archive 命令有什么用archive 可以用来解决 Hadoop 中的小文件问题,当存在大量小文件时,会产生如下影响:HDFS 中,小文件过多会占用大量内存,NameNode 内存容量最终会成为限制集群扩展的瓶颈。HDFS 读写小文件更加耗时,因为每次都需要从 NameNode 获取元信息,并与对应的 DataNode 建立连接。小文件过多会开很多 map,一个 map 启动一个 ...
原创
发布博客 2020.04.28 ·
611 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

git commit 时提示please tell me who you are解决方法

先是按照git的提示git config --global user.email “you@example.com”git config --global user.name “Your Name”进行设置,结果发现还是报错,最后找到解决方案如下:git initgit config user.name “Your Name”git config user.email “you@exa...
原创
发布博客 2020.04.27 ·
807 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

详解TCP/IP协议栈

之前对网络各层作用的了解一直都比较模糊,对各个协议的作用也不甚清楚,最近看到了一篇对TCP/IP协议栈讲解比较清晰的博文,特地转载过来。什么是TCP/IP协议栈TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构,分别是应用层、传输层、网络层和链路层,每一层都呼叫它的下一层所提供的协...
转载
发布博客 2020.04.04 ·
378 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Hive中的Skew Join

看文档的时候突然发现Skew Join,之前只知道有内外连接,半开连接,全外连接,笛卡尔积,于是赶紧学习了下Skew Join,在这里做个总结。首先简单介绍下什么是数据倾斜比如我们有10000条数据,有10个reducer来处理数据,在这10000条数据中有9000条的key是相同的,这样经过hash之后,就会出现有一个reducer要自己处理9000条数据,而剩下的9个reducer可能每个...
原创
发布博客 2020.03.29 ·
3017 阅读 ·
5 点赞 ·
2 评论 ·
12 收藏

Spark算子之foldByKey

在学习foldByKey这个算子的时候,发现网上好多文章的内容相互冲突,于是决定自己实践一边,以理解这个算子是怎么运行的。foldByKeydef foldByKey(zeroValue: V, numPartitions: Int)(func: (V, V) => V): RDD[(K, V)] = self.withScope { foldByKey(zeroValue, n...
原创
发布博客 2020.02.22 ·
385 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Scala与Java的区别

两种不同的语言,两种不同的编程思想,真比起来的话肯定需要一大片长文来写,自己也没这个水平。。在此简单的罗列一些基本的差别。Scala不需要分号结尾Scala函数式编程语言,在scala世界里,函数才是一等公民;函数可以作为参数进行传递,可以赋值给变量,可以作为返回值进行返回Scala类型定义开头需大写Scala函数定义需 def 开头,Scala函数没有返回值用Unit,相当于java的...
原创
发布博客 2020.02.20 ·
468 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多