自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

迎难而上

热爱技术的IT人

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

转载 数仓设计_数仓中的三种事实表

事实表有三种类型 :

2023-08-28 13:44:22 290

转载 数据仓库_如何评价一个数据模型的好坏?

转载自 : 如何评价数据模型的好坏?_木东居士的博客-CSDN博客最常见提到的有四种:范式、维度、DataVault、Anchor。在传统行业中,范式很流行,在互联网行业中,维度很流行,另外两种就“只闻其名,不见其人”了。如果论这四种方法,在设计思路上的好坏,那么各有千秋。但如果问,那种模型最为成熟,那么恐怕范式和维度就胜出了,而互联网行业几乎只能选择维度建模,因为它的实践经验是最多的。这就有点像软件或者框架的比较,Hadoop就一定好吗?Java就一定优于Python吗?并不是。但Hadoop一定最成熟,

2023-08-27 12:26:24 177

转载 Spark_Spark3.0特性之动态分区裁剪

参考文章 :Spark 3.0 为我们带来了许多令人期待的特性。动态分区裁剪(dynamic partition pruning)就是其中之一。本文将通过图文的形式来带大家理解什么是动态分区裁剪。

2023-08-24 21:55:51 372

转载 Spark on Yarn 提交任务过程

来源 :这篇文章将从源码的角度向大家展示Spark是如何提交任务到Yarn上执行的,如有错误,还请各位指出。(基于Spark 3.0.0)Spark On Yarn有两种模式:Yarn Client和Yarn Cluster在这篇文章中,我们这里先讲Yarn ClusterCluster模式主要流程如上图所示,下面结合源码对这个过程进行详细的分析。

2023-08-23 22:46:05 1516

转载 Spark_Spark3.0功能特性

本文主要讲解一下Spark3.0中的功能特性,相对于老版本,表述不周的地方欢迎评论。2020年6月18日,开发了近两年(自2018年10月份至今)的Apache Spark 3.0.0正式发布!Apache Spark 3.0.0版本包含3400多个补丁,是开源社区做出巨大贡献的结晶,在Python和SQL功能方面带来了重大进展并且将重点聚焦在了开发和生产的易用性上。同时,今年也是Spark开源10周年,这些举措反映了Spark自开源以来,是如何不断的满足更广泛的受众需求以及更多的应用场景。

2023-08-23 01:44:13 369

原创 大数据_SLA,SLO,SLI 名词解读

简单说就是一切提供给客户的有用功能都可以称为服务。服务一般会由服务提供者提供,提供这个有用功能的组织被称为服务提供者,通常是人加上软件,软件的运行需要计算资源,为了能对外提供有用的功能软件可能会有对其他软件系统的依赖。客户是使用服务提供者提供的服务的人或公司。

2023-08-15 21:52:16 418

转载 Redis_Redis是单线程的为什么那么快

参考文章 :大家都知道Redis是单线程的,但是读写非常快,它QPS可达10万(每秒请求数)。这是什么原因呢?下面这篇文章对这个问题做一个总结。

2023-08-15 11:46:30 47

原创 Spark_Spark中 Stage, Job 划分依据 , Job, Stage, Task 高阶知识

Task内部有一个成员变量:preferredLocations表明了这个Task的位置偏好,这个变量的值是根据Task的数据的位置得到的,可以是一个hostName或者execotorId。例如,如果Task的数据是在192.168.5.101和192.168.5.102这两台机器上,那么:forExecutor是一个HashMap,key为executorId,value是preferredLocations为这个executor的所有task的taskId。

2023-08-15 10:55:29 2280

原创 Spark_RDD的容错机制_数据丢失恢复

我们都知道Spark是弹性分布式数据集,数据会存储在多台机器上,那么如何确保在分布式数据计算中,数据不丢失就是其中的关键的部分。本文主要讲解一下Spark中的容错机制。Spark 主要提供了2种数据。

2023-08-14 17:53:53 470

原创 SQL_分组求次大问题_一份登陆日志,查到今天每个人倒数第二次登陆的时间、地点、ip等信息?

一份登陆日志,查到今天每个人倒数第二次登陆的时间、地点、ip等信息?问题解法 :避免开窗函数导致的数据倾斜,先求最大,再求次大。

2023-08-14 13:17:28 93

原创 SQL_Hive_大表JOIN大表数据倾斜优化(事实表JOIN维度表)

如果Hive优化实战2中mapjoin中小表dim_seller很大呢?比如超过了1GB大小?这种就是大表join大表的问题。首先引入一个具体的问题场景,然后基于此介绍各自优化方案。

2023-08-14 12:07:24 408

原创 大数据_Hadoop_Parquet数据格式详解

之前有面试官问到了parquet的数据格式,下面对这种格式做一个详细的解读。

2023-07-31 19:33:19 1833

原创 Hadoop_HDFS_常见的文件组织格式与压缩格式

参考资料1.2.本文主要介绍下HDFS上的常见文件格式和压缩格式总结 :HDFS 中常见的文件存储格式HDFS中常见的文件压缩方式。

2023-07-27 13:58:29 3071

原创 数据仓库_LT,留存,回访的设计思路

今天面试问到了一个问题,假设我们的用户信息是天级别统计的,那么如果计算多天的留存与回访就需要扫描多个分区,这样计算资源比较多,如何进行优化。首先要介绍一下,留存,回访,lt 这3个基本概念。

2023-07-26 11:03:18 700

转载 Elasticsearch_布尔表达式在计算广告中的作用

本文主要讲解的是通过流量的上下文如何在广告投放系统中找到合适的广告位。Elasticsearch 在竞价广告中的检索使用。

2023-07-25 20:00:20 123

原创 广告_广告业务中的常用名词

广告中的常用名词解释。

2023-07-25 18:43:47 101

转载 广告_广告中的流量预估实现思路

在展示量合约广告中,流量预测[98]是一项支撑技术,它对于在线分配的效果至关重要。除此以外,在广告网络中,一般来说也需要根据定向条件和出价估计广告展示量,以辅助广告主进行决策。因此,流量预测是一项在计算广告中广泛使用的技术。流量预测的问题可以描述为:给定一组受众标签组合以及一个eCPM的阈值,估算在将来某个时间段内符合这些受众标签组合的条件并且市场价在该eCPM阈值以下的广告展示量。这里的eCPM阈值主要用于竞价广告系统中,目的是了解在某出价水平下的流量情形。

2023-07-25 17:46:15 439

转载 SQL_Hive_数据倾斜优化大全

有一些算法基础的同学都知道排序操作在软件领域是开销非常大的操作,目前大规模应用的几大排序算法的时间复杂度中最好的也是O(nlogn),即随着数据量的增长而非线性的增长。通常这个条件都会满足的,因为如果不满足的话,说明key值非常多,非常稀疏,也不会产生倾斜的困境了。在优化战略生态部门的任务dwd_ocloud_dau_info_d任务的时候,我们发现任务的运行时间一直在增长,一度达到7个小时,直到8月1号便再也跑不成功,总是OOM(内存不够),即使将executor的内存调高到10G依然解决不了问题。

2023-07-25 12:26:24 210

原创 SQL_求店铺的topN && 开窗函数数据倾斜

有50W个 店铺,每个顾客访客访问任何一个店铺的任何一个商品时都会产生一条访问日志,(2)每个店铺访问次数top3的访客信息。输出店铺名称、访客id、访问次数。某互联网大厂的一道比较有深度的面试题。(1)每个店铺的UV(访客数)

2023-07-25 09:49:39 462

原创 大数据_结构化数据与非结构化数据

结构化数据对于所有数据值拥有相同的属性。例如,每个预订记录都可以拥有这些属性:预订名称、活动名称、活动日期和预订金额。结构化数据的另一个特点是可以存储在关系数据库中,可以使用结构化的查询语言SQL进行管理。结构化数据是具有标准化格式的数据,可供软件和人类高效访问。它通常以表格形式呈现,其中行和列清楚地定义数据属性。由于结构化数据的定量性质,计算机可以有效地处理结构化数据以获得洞见。例如,一个包含名称、地址和电话号码等列的结构化客户数据表,可以提供诸如客户总数和客户数量最多的地区等洞见。

2023-07-24 14:41:44 454

转载 SQL_SQL_求连续登录天数

【代码】SQL_SQL_求连续登录天数。

2023-07-21 00:16:24 187

原创 SQL_SQL_常见面试问题

问题类型 :窗口函数使用。

2023-07-20 17:33:00 199

原创 大数据_面试_Java基础

java map的结构, hashmap是否是线程安全的?线程安全的map如何选择?

2023-07-19 15:43:54 187

原创 大数据_面试_数据仓库基础概念

实时数仓与离线数仓的主要区别,应用场景?kimball,维度,范式建模?雪花模型,星型模型,星座模型?数仓的主题与主题域?缓慢变化维与拉链表?

2023-07-19 15:41:49 171

原创 大数据_面试_OLAP&数据存储

hbase的数据倾斜,rowkey分布导致的。hdfs文件的常见压缩算法。

2023-07-19 15:34:21 61

原创 大数据_面试_ETL组件常见问题_spark&flink

通过webui定位那个表以及jobid,jobid找对应的执行计划。spark数据处理得数据倾斜与解决方案 aqe。flink cdc如何确保幂等与一致性。spark 3.0 AQE动态优化。spark与flink的主要区别。sparksql如何调优。hdfs的常见的压缩算法。spark sql调优。hbase的数据倾斜。

2023-07-19 15:19:26 763

原创 大数据_大数据常见面试问题

下面分为几个方向罗列一下最近遇到的大数据面试问题。

2023-07-19 15:16:20 319

原创 Excel_excel vlookup 使用指南

vlookup的简要介绍

2023-07-14 17:00:51 169

原创 Hive_Hive中的Json数据解析函数 get_json_object & json_tuple

Hive 基础用法

2021-07-22 00:57:14 5629

转载 Spark_调优_Spark3.0之SparkSQL_AQE( adaptive query execution)自适应查询_参数讲解

参考文章:https://blog.csdn.net/jiangshouzhuang/article/details/104453937在本篇文章中,笔者将给大家带来 Spark SQL 中关于自适应执行引擎(Spark Adaptive Execution)的内容。在之前的文章中,笔者介绍过 Flink SQL,目前 Flink 社区在积极地更新迭代 Flink SQL 功能和优化性能,尤其 Flink 1.10.0 版本的发布,在增强流式 SQL 处理能力的同时也具备了成熟的批处理能力。但.

2020-12-19 17:23:48 2695 3

原创 设计模式_单例模式的几种实现方式

单例模式是一个老生常谈的问题,这里对单例模式的实现做一下总结分类懒汉模式 饿汉模式1.2.3.

2020-06-27 15:05:21 1143

原创 Zookeeper_Zookeeper客户端连接(含集群方式)

zookeeper 连接地址,zookeeper 的连接方式多种多样,这里展示3种连接方式1.命令行连接2.jar程序连接3.IDE 插件一、zkCli.sh / zookeeper-client 连接方式命令行连接zookeeper-client -server cdh-manager:2181,cdh-node1:2181,cdh-node2:2181连接后的信息[root@cdh-manager /]# zookeeper-client -serve...

2020-06-27 12:40:23 8366

原创 Kafka_ERROR org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 1

报错信息详细报错信息ERROR admin.TopicCommand$: org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 1 larger than available brokers: 0.创建 Topic 的命令:kafka-topics --create --zookeeper cdh-manager:2181,cdh-node1:2181,cdh..

2020-06-25 12:18:12 6885

原创 Leetcode_NO215_数组中的第K个最大元素

题目描述:在未排序的数组中找到第k个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4 这道题,转化下思路,第K个最大的元素就是前K个元素中最小的元素。构建一个小根堆,堆的大小为K 1)当堆的大小小于K的时候,依次向其中加入新元素 2)当堆的大小=k 时,...

2020-06-22 11:16:33 583

原创 数据结构_堆_Java中的实现类

1.数据结构:堆(Heap)https://www.jianshu.com/p/6b526aa481b12.Java实现最大堆https://www.jianshu.com/p/257820688bf13.java借助PriorityQueue实现小根堆和大根堆https://blog.csdn.net/zcf1784266476/article/details/68961473我们先来了解下堆的基本概念:基本概念堆就是用数组实现的二叉树,所有它...

2020-06-21 16:52:58 2946

原创 数据结构_栈_Java中的实现类

相关文章:1.栈的特点https://www.php.cn/faq/421530.html 栈是日常常用的数据结构,栈(Stack)是一种线性存储结构,有如下特点: 栈中的数据元素遵守”后进先出”(First In Last Out)的原则,简称FILO结构,限定只能在栈顶进行插入和删除操作。栈的相关概念 :栈顶与栈底:允许元素插入与删除的一端称为栈顶,另一端称为栈底。压栈:push 栈的插入操作,叫做进栈,也称压栈、入栈。...

2020-06-21 16:11:35 3686

原创 数据结构_队列_Java中的实现类

我们对基础的数据结构队列都非常的熟悉,这里回顾下队列是一种先进先出(First in First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头它有两个基本操作:offer在队列尾部加人一个元素poll从队列头部移除一个元素Java 中的队列可以利用实现 Deque 接口的类作为实现类,Deque 的实现类主要分为两种场景:一般场景 LinkedList 大小可变的链表双端队列,允许元素为 nu...

2020-06-21 15:42:41 3137 1

转载 MySQL_MySQL引擎_MyISAM与InnoDB 的区别(9个不同点)

区别1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务;2. InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败;3. InnoDB是聚集索引,使用B+Tree作为索引结构,数据文件是和(主键)索引绑在一起的(表数据文件本身就是按B+Tree组织的一个索引结构),必须要有主键,通过主键索引效...

2020-06-18 09:47:44 261

原创 MySQL_基础结构_B(B-)/B+ 树

参考文章:1.B+树总结https://www.jianshu.com/p/71700a464e972.B-Tree Hash b+Tree三种索引特点对比https://blog.csdn.net/weixin_42540340/article/details/888350233.MySQL索引的原理,B+树、聚集索引和二级索引的结构分析https://www.cnblogs.com/yuanrw/p/10225659.html4.MySQL数据库中索引...

2020-06-17 23:08:02 615

原创 MySQL_Innodb引擎_聚集索引,B+ 索引

1.mysql关于聚集索引、非聚集索引的总结http://blog.itpub.net/30126024/viewspace-2221485/2.mysql-聚集索引https://www.cnblogs.com/happyflyingpig/p/7652553.htmlB+ 索引MySQL 的 innodb 引擎使用的是 B+ 树作为索引的组织结构什么是B+树,B+树与B树之间有什么差异,请参考我的博文 :以上图片就是一颗B+树,通过以上B+树的截图...

2020-06-17 22:15:07 320

空空如也

空空如也

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

TA关注的人

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