![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
文章平均质量分 77
和风与影
大数据程序员
展开
-
【闲聊】我用ChatGPT参加了大数据面试
ChatGPT与大数据原创 2023-02-14 11:54:42 · 1529 阅读 · 2 评论 -
docker 部署 Flink 和 Kafka
docker原创 2022-12-19 17:26:58 · 927 阅读 · 0 评论 -
【SQL】数据倾斜处理之加盐哈希
sql原创 2022-12-11 21:34:10 · 1278 阅读 · 3 评论 -
【调优】大数据常见 Join 的使用场景
join原创 2022-11-26 11:18:10 · 1177 阅读 · 0 评论 -
【场景】大数据面试场景题 - 堆
堆的应用原创 2022-11-19 16:21:19 · 791 阅读 · 0 评论 -
【数仓】数据质量监控
数据质量监控原创 2022-08-03 16:02:33 · 2342 阅读 · 0 评论 -
【面经】米哈游数据开发一面二面面经
米哈游数据开发面经原创 2022-08-01 10:30:12 · 2836 阅读 · 0 评论 -
【Hadoop】Hadoop 调优
Hadoop 常用调优手段原创 2022-07-31 11:02:16 · 667 阅读 · 0 评论 -
【Hadoop】HDFS 原理
HDFS 的原理原创 2022-07-31 11:00:40 · 718 阅读 · 2 评论 -
【Hadoop】MapReduce 原理
MapReduce 常考题原创 2022-07-30 21:31:07 · 488 阅读 · 0 评论 -
【Spark】Spark Web UI - Jobs
Spark Web UI 的用法原创 2022-06-11 22:07:13 · 744 阅读 · 0 评论 -
【闲聊】大数据开发工作内容之回溯
大数据开发工作内容之回溯。原创 2022-06-09 22:41:33 · 319 阅读 · 0 评论 -
【闲聊】大数据开发工作内容之新需求
大数据开发工作新需求怎么做。原创 2022-06-08 23:32:56 · 233 阅读 · 0 评论 -
【闲聊】大数据开发工作内容之迭代
大数据迭代需求注意点。原创 2022-06-07 21:32:09 · 266 阅读 · 0 评论 -
【Flink】Flink 介绍 & 找工作选实时还是离线
Flink 简介原创 2022-06-07 21:28:40 · 573 阅读 · 0 评论 -
【闲聊】大数据开发工作内容之重构
大数据重构原创 2022-06-03 11:00:01 · 222 阅读 · 0 评论 -
【闲聊】大数据开发工作内容之 ONCALL
大数据开发工作内容原创 2022-06-01 23:46:00 · 487 阅读 · 0 评论 -
【闲聊】大数据开发实习生每天在干什么
大数据开发实习在干什么原创 2022-05-31 22:30:48 · 1444 阅读 · 0 评论 -
【Spark】Spark SQL 执行全过程概述
目前还是在封闭中,只能继续在家学习工作。今天学习 Spark SQL 执行全过程概述,包括内部的一些基本概念和数据结构。1.SQL 到 RDD使用 Spark SQL 进行数据分析的一般步骤如下:// 第一步 初始化 SparkSessionval spark = SparkSession.builder() .appName("example") .master("local") .getOrCreate()// 第二步 创建数据表并读取spark.r原创 2022-05-29 23:13:20 · 2236 阅读 · 0 评论 -
【闲聊】大数据开发四种岗位观察
今天不学技术了,今天说一下最近一段时间对大数据的几种岗位的观察。希望通过这篇文章能让大家知道自己想去什么岗位,该准备什么,未来的工作是什么样。1.数仓开发数仓开发分离线和实时,大数据开发中最常见的岗位,具体工作可以看之前的文章。【数仓】大数据开发全流程 - 实习总结总结一下就是:熟悉业务逻辑;使用大数据组件;分层建模。需要的技能大概是:SQL;数仓建模;离线的话 Hive、Spark 的原理以及调优,数据倾斜处理;实时的话 Flink 的原理;MapReduce 原理。原创 2022-05-26 21:27:26 · 430 阅读 · 0 评论 -
【场景】大数据常考场景题 - Bitmap
大数据开发面试通常会问场景题,主要考察大数据中常用的数据结构,比如 Bitmap、Bloom Filter 等等。今天就说一个工作中碰到的。比如昨天说到的问题,用户要在自定义时间区间内查询,就需要快速响应,可能用到 ClickHouse。可以先看昨天的文章。欢迎关注公众号。大数据开发全流程那么为什么 ClickHouse 为什么快呢?这要归因于底层的数据结构。考虑这样一个场景:场景1:用户画像将消费者分为很多类,比如按购买力分为购买力低、购买力中、购买力高,按粉丝的忠实程度分为路人、普通粉丝、原创 2022-05-25 21:38:04 · 684 阅读 · 0 评论 -
【数仓】大数据开发全流程 - 实习总结
工作了快一个月了,今天简单说一下大数据开发的整个流程。假设就以自己这个公众号为例,这样不会抽象,比较直观。1.数据源前端会对用户行为进行埋点,并上报后端服务器。埋点会记录一些信息,比如:用户 id:标记一个用户,后面可以根据这个算一段时间的 UV(独立访客),也就是 selecct count(distinct uid) from table_name where date >= t1 and date <= t2,比如我的公众号阅读人数就是 UV,次数是 PV。渠道来源、用原创 2022-05-24 21:10:13 · 3081 阅读 · 3 评论 -
【Spark】Spark 内存管理 - 执行内存
今天继续学习 Spark 的内存管理。昨天学习的是储存内存的管理,没看过的可以学习昨天的文章。【Spark】Spark 内存管理 - 存储内存今天学习执行内存的管理。执行内存主要用来存储任务在执行 Shuffle 时占用的内存,Shuffle 是按照一定规则对 RDD 数据重新分区的过程,下面分析 Shuffle 的 Write 和 Read 两阶段对执行内存的使用。1.Shuffle Write根据 map 端选择的排序方式不同,内存管理也不相同:若在 map 端选择普通的排序方式,会采原创 2022-05-22 00:22:10 · 439 阅读 · 0 评论 -
【Spark】Spark 内存管理 - 存储内存
前两天的文章学习了堆内内存、堆外内存以及内存空间的分配,没看过的可以看前面的文章。【Spark】Spark 的堆内内存和堆外内存【Spark】Spark 内存分配今天学习 Spark 的内存管理。内存管理分为存储内存和执行内存。今天先学习存储内存。1.RDD 的持久化机制弹性分布式数据集(RDD)作为 Spark 最根本的数据抽象,其特点如下:是只读的分区记录(Partition)的集合,只能基于在稳定物理存储中的数据集上创建,或者在其他已有的 RDD 上执行转换(Transformati原创 2022-05-21 23:07:22 · 1143 阅读 · 0 评论 -
【Spark】Spark 内存分配
昨天学习了 Spark 堆外内存和堆内内存的概念。没看过的可以看前面的文章。【Spark】Spark 的堆内内存和堆外内存今天学习内存空间分配。1.静态内存管理早期采用静态管理,存储内存、执行内存和其他内存的大小在 Spark 应用程序运行期间均为固定的,但用户可以应用程序启动前进行配置。问题:如果用户不熟悉 Spark 的存储机制,或没有根据具体的数据规模和计算任务或做相应的配置,很容易造成存储内存和执行内存中的一方剩余大量的空间,而另一方却早早被占满,不得不淘汰或移出旧的内容以存储新的内容原创 2022-05-20 21:42:43 · 375 阅读 · 0 评论 -
【Spark】Spark 的堆内内存和堆外内存
今天是 520,祝大家 520 快乐。目前还是在封闭中,只能继续在家学习工作。今天学习 Spark 内存管理。欢迎关注公众号。作为一个 JVM 进程,Executor 的内存管理建立在 JVM 的内存管理之上,Spark 对内存的管理主要分为堆内和堆外:JVM 的堆内(On-heap)空间进行了更为详细的分配,以充分利用内存;Spark 引入了堆外(Off-heap)内存,使之可以直接在工作节点的系统内存中开辟空间,进一步优化了内存的使用;堆内内存受到 JVM 统一管理,堆外内存是直接向操作原创 2022-05-20 09:21:15 · 1701 阅读 · 1 评论 -
【Spark SQL】DataFrame 和 Dataset
从今天开始学习 Spark SQL。首先了解一下 Spark SQL。官网的描述如下:Spark SQL is Apache Spark’s module for working with structured data.翻译一下就是:Spark SQL是Spark用于结构化数据(structured data)处理的Spark模块。今天我们先学习一下 DataFrame 和 Dataset。学习之前可以点击下面链接回顾一下之前的文章,了解一下 RDD。Spark 的三大数据结构关注公众号原创 2022-05-18 20:11:33 · 550 阅读 · 0 评论 -
【ES】Elasticsearch 元数据
前几天写了文章介绍了 ES 的核心概念,没看过的可以看下面的文章。【ES】Elasticsearch 核心概念对应元数据,文中一笔带过了,没有说清楚。今天继续讲一下。比如我们查一个数据,如果是采用下面的方法:GET {这里填index}/_search{ "query": { "match_all": {} }}那么会返回 index 下所有数据。如果采用下面的方法:GET {这里填index}/{这里填type}/{这里填id}{ "query": {原创 2022-05-16 23:05:45 · 451 阅读 · 0 评论 -
【HQL】HiveQL 列转行
上周写了个 HiveQL 的行转列,这种来一个列转行吧。没看过的可以先看之前的文章。【HQL】HiveQL 行转列今天还是用上次的结果表,将他列转行转成原来的表,不过这次多加几行。# 先定义一张表WITH order_table AS ( SELECT * FROM( SELECT '123' as user_id, '202205010001' as order_id UNION SELECT '123' as u原创 2022-05-14 14:47:50 · 336 阅读 · 0 评论 -
【ES】Elasticsearch 操作(下)
今天继续学习 ES 的操作,书接上回。没看过的可以先看之前的文章。【ES】Elasticsearch 操作(上)回顾一些之前的操作,下面继续学习新的操作。9.高亮显示GET xxx/_search{ "query":{ "match":{ "name": "张三 李四" } }, "highlight": { "fields": { "name": {} }原创 2022-05-14 11:46:42 · 140 阅读 · 0 评论 -
【ES】Elasticsearch 操作(上)
昨天讲了 ES 的核心概念。今天学习如何操作 ES。没看过昨天文章的可以点击观看。【ES】Elasticsearch 核心概念ES 的接口语法遵循 RESTful 风格,基于 HTTP,可以使用 XML 或 JSON 格式定义:GET:获取资源;POST:新建资源;PUT:更新资源;DELETE:删除资源。1.操作索引添加索引:PUT http://ip:端口/索引名称查询索引:GET http://ip:端口/索引名称 # 查询单个索引GET http://ip:原创 2022-05-14 11:44:58 · 189 阅读 · 0 评论 -
【ES】Elasticsearch 核心概念
昨天学习了 Elasticsearch 是什么,没看过的可以阅读昨天的文章。【ES】Elasticsearch 简介了解了什么是 ES 之后,今天继续 ES 的核心概念。1.索引 index文档存储的地方,类似于 MySQL 的数据库。2.字段 field相当于数据表中的字段,在 ES 中可以理解为 JSON 数据的键。{ "name":"wind"}3.映射 mapping映射是对文档中每个字段的类型进行定义。在大多数使用场景中,我们并不需要显示的创建映射,因为 ES 中原创 2022-05-11 18:30:45 · 673 阅读 · 0 评论 -
【ES】Elasticsearch 简介
大数据开发经常用到 Elasticesearch,今天做一下介绍。1.Elasticsearch 简介Elaticsearch,简称为 ES, 是一个开源的高扩展的分布式全文检索引擎,特点:近乎实时的存储、检索数据;扩展性好,可以扩展到上百台服务器,处理PB级别的数据;使用 Java 开发并使用 Lucene 作为其核心来实现所有索引和搜索的功能;通过简单的 RESTful API 来隐藏 Lucene 的复杂性,从而让全文搜索变得简单。2.全文索引2.1 什么是全文索引对于非结构原创 2022-05-11 09:24:51 · 5232 阅读 · 1 评论 -
【Hive】GROUP BY 执行原理-大数据开发高频面试题
Hive 的执行原理是高频面试题。因为后面的调优或者数据倾斜的处理都是在对其执行原理清楚的基础上进行的。今天以 GROUP BY 为例讲解一下。1.直观的角度下表名叫 table1:idnamenumber1aaa22aaa33bbb44bbb55ccc66ddd77eee78bbb59ccc6如果执行下面的语句:SELECT nameFROM table1GROUP BY na原创 2022-05-10 23:15:45 · 723 阅读 · 0 评论 -
【Spark】Spark Shuffle 原理
今天学习 Spark Shuffle。昨天文章提到了 Spark 划分 stage 时,分为了 ShuffleMapStage 和 ResultStage。没看过的可以看昨天的文章。【Spark】Spark 任务调度在划分 stage 时:前面的所有 stage 被称为 ShuffleMapStage。ShuffleMapStage 的结束伴随着 shuffle 文件的写磁盘。最后一个 stage 称为 finalStage,它本质上是一个 ResultStage 对象,ResultStag原创 2022-05-08 17:40:22 · 1050 阅读 · 0 评论 -
【Spark】Spark 任务调度
干了一周的活,感想就是 SQL 能力要提高,原理要搞清楚。SQL 熟练才能快速写出业务代码。原理搞清楚才能调优。运行一次程序需要一两个小时,调优后可以大大缩短任务运行时间。所以基础很重要。今天继续学习 Spark 的基础——Spark 任务调度机制。 在生产环境下,Spark 集群的部署方式一般为 YARN-Cluster 模式,之后的内核分析内容就 基于 YARN-Cluster 模式。YARN-Cluster 模式以及任务提交流程可以看之前的文章。【Spark】Spark 的运行环境、运行架构原创 2022-05-08 12:04:04 · 2310 阅读 · 0 评论 -
【Spark】Spark 的三大数据结构
今天学习一下 Spark 的数据结构,分别是:RDD:弹性分布式数据集;累加器:分布式共享只写变量;广播变量:分布式共享只读变量。它们分别用于不同的场景解决不同的问题。1.RDDRDD(Resilient Distributed Dataset) 弹性分布式数据集,是 Spark 最基本的数据处理模型,它是代码中的抽象类。对弹性分布式数据集的解释如下:弹性:存储的弹性:内存与磁盘自动切换;容错的弹性:数据丢失可以自动恢复;计算的弹性:计算出错重试;分片的弹性:根据需要重新分原创 2022-05-04 11:14:41 · 1700 阅读 · 0 评论 -
【Spark】Spark 的运行环境、运行架构、提交流程
前几天大概了解了 Spark 是什么,没看过的可以点击下面的链接。今天开始正式学习 Spark。1.Spark 运行环境1.1 Local 模式本地执行 Spark 代码的环境。用于调试、练习。1.2 Standalone 模式独立部署模式。Spark 自身提供计算资源。Spark 是计算框架,但自身资源调度不是它的强项。整体是 master-slave 架构。1.3 Yarn 模式使用 Yarn 作为资源调度框架,工作中使用最多。可以先点击下面的链接阅读之前的文章了解什么是 Yarn。原创 2022-05-03 11:31:02 · 1488 阅读 · 0 评论 -
【数仓】存储和成本管理
今天学习第 14 章存储和成本管理。1.数据压缩分布式文件系统中数据一般会存储 3 份。一般会采用压缩。但压缩会使读性能损失。对于日志数据,超过时间期限后使用频率很低,可以考虑压缩。2.数据重分布大数据经常采用列示存储,由于每个表数据不同,插入数据的顺序不一样,导致压缩效果有很大差异,因此通过修改表的数据重分布,避免产生热点,会节省空间。主要修改 distribute by 和 sort by 字段的方法进行数据重分布。3.存储治理项优化定规则,对存储进行优化。比如:空表未管理表最近原创 2022-04-29 09:38:18 · 411 阅读 · 0 评论 -
【数仓】计算管理
这章主要是计算管理相关的内容。简单来说就是提高计算的效率,包括数据倾斜的处理。关注公众号回复 802 获取 pdf。1.系统优化1.1 重新排序 JoinJoin 的性能关系到整个 SQL 的性能。重新排序 Join 是 将 Join 所有不同输入进行全排序,找到代价最小的排序。1.2 自动 MapJoin自动评估是否采用 MapJoin。2.任务优化2.1 Map 倾斜由于读入文件大小不均匀,导致某些 Map Instance 读取的数据特别多,某些 Map Instance 读取的数原创 2022-04-28 22:55:03 · 699 阅读 · 0 评论