- 博客(62)
- 收藏
- 关注
转载 SQL JOIN语法及JOIN where 和and区别
语法join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。Join 和 Key有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join。数据库中的表可通过键将彼此联系起来。主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。请看 "Persons" 表:Id_P LastName FirstName
2022-05-10 17:49:01
1967
转载 数据中台简介
01什么是数据中台2015年,阿里正式数据中台的概念,并在集团战略的层面去推进,其来源于芬兰游戏公司supercell“大中台小前台的”组织特点。supercell人数不到200,在2015年成为全球营收最高的游戏公司,其推出的四款遊戲:《部落冲突》(Clash of Clans)、《海岛英雄》(Bomb Beach)、《卡通农场》(Hay Day)《皇室战争》(Clash Royale),总日活突破一亿。除了对于游戏本身的洞察,其组织上的特点是,不是自上而下的组织设计,而是由非常多的小团队(3
2022-05-09 20:08:42
733
转载 基于OneData的数据仓库建设
本文目录:一、指导思想二、数据调研三、架构设计四、指标体系搭建五、模型设计六、维度设计七、事实表设计八、其他规范OneData是阿里巴巴内部进行数据整合和管理方法体系和工具。一、指导思想首先,要进行充分的业务调研和需求分析。其次,进行数据总体架构设计,主要是根据数据域对数据进行划分;按照维度建模理论,构建总线矩阵,抽象出业务过程和维度。再次,对报表需求进行抽象整理出相关指标体系,使用OneData工具完成指标规范定义和模型设计。最后,是代码研发和运维。其实施流程主要
2022-05-04 22:02:47
605
转载 hadoop的架构思想和设计原理
1引子大数据就是将各种数据统一收集起来进行计算,发掘其中的价值。这些数据,既包括数据库的数据,也包括日志数据,还包括专门采集的用户行为数据;既包括企业内部自己产生的数据,也包括从第三方采购的数据,还包括使用网络爬虫获取的各种互联网公开数据 ...面对如此庞大的数据,如何存储、如何有效利用大规模的服务器集群处理计算才是大数据技术的核心。2HDFS 分布式文件存储架构我们知道,Google 大数据“三驾马车”的第一驾是 GFS(Google 文件系...
2022-05-02 22:27:42
1382
转载 ElasticSearch简介
目录 1. 定义 2. 与 Lucene 的关系 3. 优点 4. 缺点 5. 解决的问题 6. 应用场景 7. 倒排索引(摘自Elasticsearch权威指南)1. 定义Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎。它允许您快速,近实时地存储,搜索和分析大量数据。它通常用作底层引擎、技术,为具有复杂搜索功能和要求的应用程序提供支持。Elasticsearch 也使用 Java 开发并使用 Lucene 作为其核心来实现所有索引和搜索的功能...
2022-05-01 21:54:49
130
转载 JAVA的垃圾回收机制(GC)
我们在写C和C++代码的时候,需要自己去申请内存空间,并且管理好内存空间,一旦某些内存空间我们在使用结束后没有主动的去释放,就会造成内存泄漏的风险。但是在写java程序的时候我们不需关心主动去释放内存空间,这是因为java虚拟机有一套比较完善的垃圾回收机制又叫GC(garbage collection)机制1.什么是垃圾?object o = new object();o = null;首先我们可以看到我们new了一个object对象,并赋值给变量o,那么就称o持有这个new object(
2022-04-30 20:37:49
3020
1
转载 Maven依赖原则及如何解决依赖冲突
Maven虽然已经诞生多年,但仍然是当前最流行的Java系项目管理工具之一。在使用Maven的过程中,比较常见也相对难解决的问题就是依赖冲突,Gradle和sbt也同样存在此问题。本文先简述Maven中的依赖原则,然后通过两个例子讲述解决方法。Maven依赖原则Maven具有传递依赖(transitive dependency)的特性,即如果组件A依赖组件B,组件B依赖组件C,那么A就会自动产生对C的依赖,以此类推。这使我们不必再关心众多依赖背后的关系,只需要着眼于自己需要的组件,很方便。但是,传
2022-04-29 20:41:18
773
转载 为什么Kafka不支持读写分离
在 Kafka 中,生产者写入消息、消费者读取消息的操作都是与 leader 副本进行交互的,从而实现的是一种主写主读的生产消费模型。数据库、Redis 等都具备主写主读的功能,与此同时还支持主写从读的功能,主写从读也就是读写分离,为了与主写主读对应,这里就以主写从读来称呼。Kafka 并不支持主写从读,这是为什么呢?从代码层面上来说,虽然增加了代码复杂度,但在 Kafka 中这种功能完全可以支持。对于 这个问题,我们可以从“收益点”这个角度来做具体分析。主写从读可以让从节点去分担主节 点的负载压力,预
2022-04-26 19:36:13
496
转载 Flink发展
小米从 2019 年开始引入 Flink 并处理实时计算相关的需求,从第一个接入的版本 1.7 到最新的 1.14,累计已升级更新了 6 个大的版本,目前已接入包括数据采集、信息流广告、搜索推荐、用户画像、金融等在内的全集团所有业务线的 3000+ 任务,日均处理 10 万亿 + 的消息,并在国内外搭建了 10+ 集群。那么,小米在引入 Flink 后遇到了哪些挑战?又是如何解决的?Flink 最终又会走向哪里呢?基于对以上问题的好奇,我们找到了小米大数据部高级开发工程师张蛟,他是 Apache Fli
2022-04-24 22:29:57
1994
转载 数仓ODS层建设
一、ODS层辨析ODS全称是Operational Data Store,即操作数据存储。1. Inmon VS KimballBill.Inmon的定义:ODS是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的、集成的全体信息的需求。常常被作为数据仓库的过渡,也是数据仓库项目的可选项之一。而Kimball的定义:操作型系统的集成,用于当前、历史以及其它细节查询(业务系统的一部分);为决策支持提供当前细节数据(数据仓库的一部分)。2. ODS VS DB
2022-04-23 22:41:09
1547
转载 Spark内存管理详解
前言Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色。理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优。本文旨在梳理出 Spark 内存管理的脉络,抛砖引玉,引出读者对这个话题的深入探讨。本文中阐述的原理基于 Spark 2.1 版本,阅读本文需要读者有一定的 Spark 和 Java 基础,了解 RDD、Shuffle、JVM 等相关概念。在执行 Spark 的应用程序时,Spark 集群会启动 Driver 和
2022-04-22 22:14:13
4709
转载 数据架构简介
01数据架构的起源追根溯源是一个数据人的底层思维逻辑,因此,我们先说一说数据架构的起源(来源也行,一个意思)。其实,我们现在IT行业经常说的软件架构、系统架构、XX架构的核心思想都是从建筑行业学来的,架构的英文单词“Architecture”其本身就是“建筑学、建筑物、结构构造”的意思。在DAMA-DMBOK2中指出“数据架构”是“企业架构”的一个重要的组成部分。而提到企业架构,它是起源于IBM公司系统杂志的一篇文章“A framework for information systems .
2022-04-21 22:35:36
18031
转载 Hive中4个By的区别?
1、Sort By:分区内有序2、Order By:全局排序,只有一个Reducer3、Distrbute By:类似MR中的Partition,进行分区,结合sort by使用4、Cluster By:当Distrbute By和Sort By字段相同时,可以使用Cluster By方式。Cluster By除了具有Distrbute By的功能还有Sort By的功能。但是排序只能是升序排序,不能指定排序规则为ASC或者DESC。窗口函数:RANK()排序相同时会重复,总数不会变
2022-04-20 22:09:32
1350
转载 Flink checkpoint 执行流程及优化方案
今天为大家带来Flink checkpoint核心知识点以及优化方案,本文主要从以下几方面进行介绍:1 Checkpoint 执行流程2 checkpoint 执行失败问题分析3 非对齐checkpoint 优化方案4 动态调整 buffer 大小5 通用增量快照文章PDF版本已经整理好,扫描下方二维码,添加土哥微信,发你 PDF 版本。1 checkpoint 执行流程如上图所示,chechpoint 在执行过程中,可以简化为可以简化为以下四大步: 在...
2022-04-19 22:12:37
1668
转载 SQL优化
一、前言在日常开发中,我们经常遇到一些数据库相关的问题,比方说: SQL已经走了索引了,为什么还是会超时? 索引越建越多了,但是好像都是合理的,因为需求就是需要各种查询,但是索引过多又会降低写入的效率,怎么更加合理的建立索引? 为某个业务场景建立了某个索引,想当然的会生效,搞不清楚为啥没有完全覆盖? 索引包含了排序字段,为什么还是fileSort? 刷数据,批量处理大量数据如何优化 二、分析SQL的手段2.1 基于SQL执行计划通过explai
2022-04-18 22:29:12
215
转载 ClickHouse使用实践
随着公司业务数据量日益增长,数据处理场景日趋复杂,急需一种具有高可用性和高性能的数据库来支持业务发展,ClickHouse是俄罗斯的搜索公司Yandex开源的MPP架构的分析引擎,号称比事务数据库快100-1000倍,最大的特色是高性能的向量化执行引擎,而且功能丰富、可靠性高。在过去的一年中,杭研DBA团队已经支撑网易集团内部多个事业部上线使用,集群规模共计十几套,CPU近3000核,每日近千亿数据入库,千亿级别表查询可在秒级完成,大大提升了业务原有OLAP架构的效能,覆盖的业务场景包括:用户行为日志分
2022-04-17 20:38:31
2183
转载 Flink生产实时监控和预警配置解析
在实际的Flink 项目中,如何观察Flink的性能,如何监控Flink的运行状态,如何设置报警策略?下面简单讲下我的经验吧。一、Flink webUI首先聊下Flink webUI。如下图所示:如果是本地调试模式,默认是不开启webui的。StreamExecutionEnvironmentenv=StreamExecutionEnvironment.getExecutionEnvironment();上面的初始化方式,本地调试默认不开启webui。StreamEx...
2022-04-14 22:48:11
3172
转载 Flink 双流 Join 解决方案
1.前言本文主要是整理博主收集的 Flink 高频面试题。如果本文对你有所帮助,请点个喜欢 + 在看吧。这一期的面试题主要是介绍 Flink 面试中的高频面试题,Flink 流 Join 相关内容,相信大家在面试中遇到的太多了,本节包含的主要内容如下: ⭐ Join 的应用场景 ⭐ 为什么流式计算中提到 Join 小伙伴萌就怕呢? ⭐ 带大家看一遍本文思路 ⭐ Flink Join 解决方案:Flink Window Join ⭐ Flink Join
2022-04-13 22:45:08
3268
1
转载 hive留存率的统计
留存率:某日注册的用户,在之后几天是否活跃,一日留存率就是用户注册后第二天仍然活跃,以此类推,三日留存率,七日留存率。任务:计算所有用户注册后的一日留存率,三日留存率,七日留存率,14日留存率,30日留存率,60日留存率,90日留存率。建表use default;show tables;create table register_tbl(user_id string,register_date string)row format delimited fields terminated b
2022-04-12 21:56:43
1403
1
转载 指标和标签
指标1.指标是说明总体综合数量特征的概念,所有指标能用数值来表示,一个完整的统计指标,一定要讲时间、地点、范围(百度);2.指标的评价较易量化,通常有一定的标准和尺度;3.指标是生产性思维、拆解式思维,讲究的是化整为零,将事物分解开来进行多角度的描述,得到很多的指标;4.指标最擅长的应用是监测、分析、评价和建模;5.指标是业务管理导向的,需要提前规划,应用场景很多,战略目标、市场定位、业务监测、业绩考核、任务分解、数据分析、数据建模、BI应用等。标签1. 标签是对象的属性
2022-04-11 22:52:44
2325
转载 Kafka磁盘坏了怎么办?
当事人描述问题整理 Broker 1004 上面的一块磁盘坏掉了。 坏的透透的,也没有RAID,反正就是这块磁盘数据恢复不了了。 因为1004坏了,导致副本离线,如果副本刚好是Leader,则会触发Leader重选举。 然后刚好有一些分区中的ISR只有1004,这个时候1004副本下线,重选举的时候Leader选不出来,就变成了-1,这些分区此时为不可用状态,需要里面恢复。 如果直接停机1004更换磁盘重启,那么势必会造成数据全部丢失、 分...
2022-04-10 23:12:12
1108
转载 红黑树详解
红黑树,对很多童鞋来说,是既熟悉又陌生。学校中学过,只了解大概;工作中不怎么使用,但面试又是重点。每次需要查看红黑树内容时都很难以更生动形象的方式来理解其内容。没错,本文内容就是要解决这个问题,用简单的语言,搭配静图和动图(利用大脑图形记忆方式),让你对红黑树有更深入的了解和更清晰的记忆,希望小伙伴们再次遇到红黑树的问题不至于头大,建议读该文章姿势: 打开两个页面,一个页面看图片和内容,一个页面看公式,像玩魔方一样,多玩几次就明白了通过工具 (公众号回复「工具」—>那些可以提高效率的工具—>
2022-04-09 22:07:51
555
转载 java类加载机制
什么是类加载机制呢?java虚拟机将编译后的class文件加载到内存中,进行校验、转换、解析和初始化,到最终的使用。这就是java类加载机制;下面就开始今天的内容:1、类加载的生命周期:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸载(Unloading)等阶段,其中验证、准备、解析3阶段也可以称为连接(Lingking),如下图:类的生命周期2、类
2022-04-08 22:13:57
9495
转载 hive文件存储格式
在 HiveSQL 的 create table 语句中,可以使用 stored as ... 指定表的存储格式。Apache Hive支持 Apache Hadoop 中使用的几种熟悉的文件格式,比如TextFile、SequenceFile、RCFile、Avro、ORC、ParquetFile等。列式存储和行式存储TEXTFILE 和 SEQUENCEFILE 的存储格式都是基于行存储的,ORC 和 PARQUET 是基于列式存储的。第一种:TextFile1、存储方式:.
2022-04-07 21:46:44
6394
转载 Flink 的状态
1.前言 ⭐ 状态是什么东西?有了状态能做什么? ⭐ 为什么离线计算中不提状态,实时计算老是提到状态这个概念?状态到底在实时计算中解决了什么问题? ⭐ 有了状态、为什么又出现了状态管理的概念? ⭐ 怎么学习 Flink 中的状态、状态管理相关的概念呢? ⭐ Flink 中状态的分类? ⭐ Flink 中状态的使用方式? ⭐ Flink 状态后端的分类及使用建议? ⭐ Flink 中状态的能力扩展 - TTL? ⭐ Flin
2022-04-06 22:06:35
4585
2
转载 MySQL索引原理以及查询优化
一、介绍1.什么是索引?一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。2.为什么要有索引呢?索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引优化应该是对查询性能优化最有效的手段了。索引能..
2022-04-05 22:31:53
172
转载 数据中台、数据湖、数据集市和数仓简介
经常看到有人问这个问题,数据玩家也看过很多解释,感觉都不够直观,这里,我尝试用一个大家都理解的例子来说明。什么是数据仓库?大家都去宜家买过东西吧,还记得一楼的大仓库不,你如果看中了某个家具,想要自己去仓库提货,一般都会记下商品上的编码:这个编码对于顾客来说,肯定是没有任何含义的,看到这个编码,不可能知道他是一个什么商品。但是这个编码,对于仓库管理员来说是有含义的,他们可以清楚地知道,是哪一个货架,哪一个位置。当然,顾客到仓库里顺着货架和位置也可以找到商品,但是总归不太直观,挑选的过程
2022-04-04 21:00:45
1057
转载 SaaS、PaaS和IaaS
越来越多的企业选择云服务。如果不熟悉此主题,那么云计算就是通过互联网交付硬件(服务器,存储等)和软件的时候。与本地硬件和软件相比,基于云的解决方案(例如IaaS,PaaS和SaaS)具有几个主要优点。接下来将介绍一些优点,让我们了解为什么云计算在2020年如此受欢迎。可扩展性。本地解决方案很难扩展,因为所需的硬件类型取决于应用程序需求。如果应用程序遇到大量流量,则可能需要大量升级本地硬件。而云服务不存在此问题,只需单击几下即可快速放大或缩小。云服务是处理峰值负载的理想解决方案。借助基于云的服务,企业.
2022-04-03 21:58:52
402
转载 java和scala的区别和联系
scala语言来源于java,scala以java的虚拟机(JVM)为运行环境,scala源码(.scala)会编译成.class文件。两种语言之间有很多相似的地方,在一些语法上有些明显区别主要如下:1 beak和continue语言 break continue Scala 函数式分格 If else 或循环守卫 Java 关键字,break 关键字:continue 2 函数返回值形式语言 返回格式 Scala 返回第一..
2022-04-02 22:43:59
4224
转载 Flink 和 Spark区别
Flink 和 Spark 都是基于内存计算、支持实时/批处理等多种计算模式的统一框架1,技术理念不同Spark的技术理念是使用微批来模拟流的计算,基于Micro-batch,数据流以时间为单位被切分为一个个批次,通过分布式数据集RDD进行批量处理,是一种伪实时。而Flink是基于事件驱动的,它是一个面向流的处理框架, Flink基于每个事件一行一行地流式处理,是真正的流式计算. 另外他也可以基于流来模拟批进行计算实现批处理,所以他在技术上具有更好的扩展性,未来可能会成为一个统一的大数据处理引擎
2022-04-01 22:13:56
4855
转载 BI体系架构
一、BI介绍BI(Business Intelligence),中文译名是商务智能。较为严谨的定义:“商务智能是企业利用现代信息技术收集、管理和分析结构化和非结构化的商务数据和信息,创造和累计商务知识和见解,改善商务决策水平,采取有效的商务行动,完善各种商务流程,提升各方面商务绩效,增强综合竞争力的智慧和能力。”比较简洁的定义:商务智能好比“数据炼油厂”,即把商业活动中累积的数据加工成可用于支持商业决策的信息。二、BI架构1、场景需求一个BI系统为了满足企业管理者的需求,须做到如下几步:①整
2022-03-31 20:05:54
6145
1
转载 Hbase简介
特性Hbase是一种NoSQL数据库,这意味着它不像传统的RDBMS数据库那样支持SQL作为查询语言。Hbase是一种分布式存储的数据库,技术上来讲,它更像是分布式存储而不是分布式数据库,它缺少很多RDBMS系统的特性,比如列类型,辅助索引,触发器,和高级查询语言等待。那Hbase有什么特性呢?如下:强读写一致,但是不是“最终一致性”的数据存储,这使得它非常适合高速的计算聚合 自动分片,通过Region分散在集群中,当行数增长的时候,Region也会自动的切分和再分配 自动的故障转移 Hado
2022-03-30 22:30:36
963
转载 Linux命令
问题一:绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?答案:绝对路径:如/etc/init.d当前目录和上层目录:./ ../主目录:~/切换目录:cd问题二:怎么查看当前进程?怎么执行退出?怎么查看当前路径?答案:查看当前进程:ps执行退出:exit查看当前路径:pwd问题三:怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?答案:清屏:clear退出当前命令:ctrl+c 彻底退出
2022-03-29 21:49:57
166
转载 SparkSQL简介
写更少的代码 读更少的数据 提供更好的性能(字节码生成技术、SQL优化)SparkSQL数据抽象DataSet会逐步取代 RDD 和 DataFrame 成为唯一的API接口 DataFrame 前身是SchemaRDD。Spark1.3更名为DataFrame。不继承RDD,自己实现了RDD的大部分功能 与RDD类似,DataFrame也是一个分布式数据集: DataFrame可以看做分布式 Row 对象的集合,提供了由列组成的详细模式信息,使其可以得到优化。 DataFrame..
2022-03-27 21:19:04
114
转载 Hive分桶表
我们学习一下分桶表,其实分区和分桶这两个概念对于初学者来说是比较难理解的。但对于理解了的人来说,发现又是如此简单。我们先建立一个分桶表,并尝试直接上传一个数据create table student4(sno int,sname string,sex string,sage int, sdept string) clustered by(sno) into 3 buckets row format delimited fields terminated by ',';set hive.e..
2022-03-26 18:24:40
335
转载 Hive优化
1. 概述1.1 hive的特征:可以通过SQL轻松访问数据的工具,从而实现数据仓库任务,如提取/转换/加载(ETL),报告和数据分析; 它可以使已经存储的数据结构化; 可以直接访问存储在Apache HDFS或其他数据存储系统(如Apache HBase)中的文件; Hive除了支持MapReduce计算引擎,还支持Spark和Tez这两种分布式计算引擎; 它提供类似sql的查询语句HiveQL对数据进行分析处理; 数据的存储格式有多种,比如数据源是二进制格式,普通文本格式等等;1.2
2022-03-25 18:33:57
4226
转载 Git使用教程
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征。Git 与 SVN 区别..
2022-03-24 18:29:47
181
转载 Spark调优及数据倾斜
调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。数据倾斜发生时的现象 绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个task,997个task都在1分钟之内执行完了,但是剩余两三个task却要一两个小时。这种情况很常见。 原本能够正常执行的Spark作业,某天突然报出OOM(内存溢出)异常,观察异常
2022-03-23 18:26:43
182
转载 Flink的Watermark机制
0x00 摘要对于Flink来说,Watermark是个很难绕过去的概念。本文将从整体的思路上来说,运用感性直觉的思考来帮大家梳理Watermark概念。0x01 问题关于Watermark,很容易产生几个问题Flink 流处理应用中,常见的处理需求/应对方案是什么? Watermark究竟应该翻译成水印还是水位线? Watermark本质是什么? Watermark是如何解决问题?下面我们就来简要解答这些问题以给大家一个大致概念,在后文中,会再深入描述。问题1. Flink 流
2022-03-22 19:27:32
1175
转载 Hbase的Rowkey设计原则
一、Hbase介绍HBase -> Hadoop Database,HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式,主要用来存储非结构化和半结构化的松散数据(列存NoSQL数据库)二、设计原则 2.1Rowkey长度原则Rowkey是一个二进制码流,Rowkey的长度被很多开发者建议设计在10-100个字节,不过建议是越短越好,不要超过16个字节...
2022-03-21 18:32:23
818
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人