![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
文章平均质量分 75
xingchensuiyue
这个作者很懒,什么都没留下…
展开
-
分组累加/级联求和
1. 分组累加eg:select sum() over(partitionby...orderby...)select id,[group],num,sum(num) over(partition by [group] order by id) from testaagroup by id,[group],num2. 级联求和select A.username,A.month,max(A.access_time) access_time,sum(B.access_time) accum原创 2022-05-31 16:10:04 · 553 阅读 · 0 评论 -
sum over()用法,以及与group by的区别
1、sum over()使用方法sum(col1) over(partition by col2 order by col3 )以上的函数能够理解为:按col2 进行分组(partition ),每组以col3 进行排序(order),并进行 连续 加总(sum)表a,内容例如以下:B C D02 02 102 03 202 04 302 05 402 01 502 06 602 07 702 03 502 02 1202 01 202 01 23运行:SELECT原创 2022-04-24 15:28:51 · 5399 阅读 · 0 评论 -
数据分析笔试题_Hive&MySQL
目录在大数据领域或者是数据分析领域,SQL成为了一门重要的语言,在离线分析场景中起到了重大的作用;比如连续登录,高峰期、等等场景更是常用。有兴趣的赶快去练习吧,还有许多其他专题可以练习;练习的地址:sql练习地址1. 巩固基础-有趣的大数据扫黄聚合函数、去重计算和简单的过滤筛选分组计算和排序通配符,或与非逻辑运算日期时间处理、字符串类型和左连接窗口函数和综合应用2. 场景练习-热门出行目的地探索分析用车人数订单高峰期热门目的地车型单量热门路线3. 举一反三-高频考点之原创 2021-12-31 14:24:01 · 1997 阅读 · 0 评论 -
Kafka消息一致性
Kafka 是互联网行业内常用的一个消息中间,和RabbitMQ、RocketMQ的作用都是解耦生产端和消费端,缓存消息。优点:高吞吐,低延迟可扩展性持久性,可靠性容错性高并发Kafka是怎么保证端到端之间的消息一致性的呢?每一个环节都会可能导致数据丢失或者重复。1. 生产者生产者的职责就是,确保生产的消息能到达Kafka,这里一般可以通过ack机制(kafka中的参数)来确定消息是否到达kafka中。1.1 ack该参数表示有多少个分区副本收到消息,才认为本次发送是成功的.原创 2021-12-24 12:59:05 · 2416 阅读 · 0 评论 -
Hive常见优化
1 表连接优化将小表放在前面,Hive假定查询中最后的一个表是大表。它会将其它表缓存起来,然后扫描最后那个表。因此通常需要将小表放前面,或者标记哪张表是大表:/streamtable(table_name) /使用相同的连接键当对3个或者更多个表进行join连接时,如果每个on子句都使用相同的连接键的话,那么只会产生一个MapReduce job。尽量尽早地过滤数据减少每个阶段的数据量,对于分区表要加分区,同时只选择需要使用到的字段。尽量原子化操作尽量避免一个SQL包含复杂逻辑,可以使用中间原创 2021-05-17 20:42:55 · 713 阅读 · 8 评论 -
Hadoop中不起眼的小文件
在使用Hadoop过程中,小文件是一种比较常见的挑战,如果不小心处理,可能会带来一系列的问题。HDFS是为了存储和处理大数据集(M以上)而开发的,大量小文件会导致Namenode内存利用率和RPC调用效率低下,block扫描吞吐量下降,应用层性能降低。通过本文,我们将定义小文件存储的问题,并探讨如何对小文件进行治理。1 什么是小文件小文件是指比HDFS默认的block大小(默认配置为128MB,网易大数据集群配置为256M)明显小的文件。需要注意的是,在HDFS上有一些小文件是不可避免的。这些文件.原创 2021-05-26 23:25:52 · 342 阅读 · 4 评论 -
Hive数仓建表时选用ORC还是PARQUET,压缩选Lzo还是snappy?
目录1 文件存储格式1.1 ORC1.1.1 ORC的存储结构1.1.2 关于ORC的hive配置1.2 Parquet1.2.1 Parquet的存储结构1.2.2 Parquet的表配置属性1.3 ORC和Parquet对比2 压缩方式3 存储和压缩结合该如何选择?3.1 ORC格式存储,Snappy压缩3.2 Parquet格式存储,Lzo压缩3.3 Parquet格式存储,Snappy压缩1 文件存储格式从Hive官网得知,Apache Hive支持Apache Hadoop中使用的几种熟悉的文原创 2021-05-11 22:33:18 · 1024 阅读 · 1 评论 -
ElasticSearch0基础入门
1. LuceneLucene 是一个开源、免费、高性能、纯Java 编写的全文检索引擎,可以算作是开源领域最好的全文检索 工具包。2. ElasticSearchElasticSearch (以下简称es)是一个分布式、可扩展、近实时性的高性能搜索与数据分析引擎。ElasticSearch 基于 Java 编写,通过进一步封装 Lucene,将搜索的复杂性屏蔽起来,开发者只需要一套简单的 RESTful API 就可以操作全文检索。整体上来说,ElasticSearch 有三大功能:原创 2021-01-21 17:01:00 · 134 阅读 · 0 评论 -
Flink运行时架构
目录1Flink运行时的组件1.1 JobManager1.2 TaskManager1.3 ResourceManager1.4 Dispatcher2 任务提交流程2.1 通用版2.2 任务提交流程(YARN)3 任务调度原理1Flink运行时的组件1.1 JobManager1.2 TaskManagerFlink中的工作进程,通常在Flink中会有多个TaskManager运行,每一个TaskManager都包含了一定的数量的插槽(slots)。插槽的数量限制了Taskmanager能够原创 2020-12-27 22:31:36 · 65 阅读 · 0 评论 -
OLAP数仓入门:基础篇
文章目录一 、什么是OLAP,其与OLTP有什么区别?1.什么是OLAP,其与OLTP有什么区别?2.MySQL等OLTP数据库能处理OLAP业务吗?3.OLAP的查询跟OLTP查询具体有那些不一样?4. 是否有可能将OLAP和OLTP统一起来?5. 数仓有哪些基础知识和概念?二 、说说数仓中数据的前世今生?1. 数仓中的数据从何而来?2. 数仓的作用有哪些?3. 数据在数仓中是如何组织的?4. 什么是多维数据模型?5. 什么是事实表?6. 什么是维度表?7. 什么是数据立方体?8. 数据立方体有哪些常见操原创 2020-12-17 23:07:01 · 313 阅读 · 0 评论 -
什么是中台?
目录1 什么是中台?1 什么是中台?参考地址:什么是中台?转载 2020-12-10 15:44:52 · 281 阅读 · 0 评论 -
Spark数据倾斜及处理方法
目录1、什么是数据倾斜?2、 数据倾斜的需要及原因2.1 解决数据倾斜的需要2.2 数据倾斜是如何造成的3、导致Spark数据倾斜的本质4、定位最慢的Task所处的源码位置5、解决方案5.1 方案1:使用Hive ETL预处理5.2 方案2:过滤导致倾斜的key5.3 方案3:提高Shuffle操作并行度5.4 方案4:两阶段聚合(局部聚合+全局聚合)5.5 方案5:将reduce join转为map join5.6 方案6:采样倾斜key并分拆join操作5.7 方案7:用随机前缀和扩容RDD进行join原创 2020-11-30 22:54:32 · 284 阅读 · 0 评论 -
Spark SQL之JOIN实现
Join作为SQL中一个重要语法特性,几乎所有稍微复杂一点的数据分析场景都离不开Join,如今Spark SQL(Dataset/DataFrame)已经成为Spark应用程序开发的主流,作为开发者,我们有必要了解Join在Spark中是如何组织运行的。SparkSQL总体流程介绍在阐述Join实现之前,我们首先简单介绍SparkSQL的总体流程,一般地,我们有两种方式使用SparkSQL,一种是直接写sql语句,这个需要有元数据库支持,例如Hive等,另一种是通过Dataset/DataFrame编写原创 2020-11-25 22:24:11 · 302 阅读 · 0 评论 -
Hive 中常见的order by distribute by等区别详解
1 Order Byhive中的order by 和传统sql中的order by 一样,对数据做全局排序,加上排序,会新启动一个job进行排序,会把所有数据放到同一个reduce中进行处理,不管数据多少,不管文件多少,都启用一个reduce进行处理。如果指定了hive.mapred.mode=strict(默认值是nonstrict),这时就必须指定limit来限制输出条数,原因是:所有的数据都会在同一个reducer端进行,数据量大的情况下可能不能出结果,那么在这样的严格模式下,必须指定输出的条数。原创 2020-11-08 23:20:03 · 634 阅读 · 0 评论 -
数据倾斜
目录1 什么是数据倾斜?2 导致数据倾斜的原因2.1 单个值有大量记录2.2 唯一值较多1 什么是数据倾斜?如图所示:简单来说数据倾斜就是数据的key 的分化严重不均,造成一部分数据很多,一部分数据很少的局面。举个 word count 的入门例子: 它的map 阶段就是形成 (“aaa”,1)的形式,然后在reduce 阶段进行 value 相加,得出 “aaa” 出现的次数。若进行 word count 的文本有100G,其中 80G 全部是 “aaa” 剩下 20G 是其余单词,那就会形成原创 2020-11-07 15:55:36 · 227 阅读 · 0 评论 -
大数据框架之Spark详解
1 Spark是什么?原创 2020-11-05 22:53:44 · 3782 阅读 · 0 评论 -
数据仓库
目录1 概念2 数仓如何分层2.1 源数据层 ODS(Operational Data Store)2.2 数据仓库层 DW(Data Warehouse)2.2.1 数据明细层:DWD(Data Warehouse Detail)2.2.2 数据中间层:DWM(Data Warehouse Middle)2.2.3 数据服务层:DWS(Data Warehouse Service)2.3 数据应用层 ADS(Application Data Store)3 为什么要进行数据分层1 概念数据仓库,英文名原创 2020-11-05 17:36:35 · 199 阅读 · 0 评论 -
大数据框架之kafka详解
目录1 kafka介绍1.1 kalka是什么?1.2 为什么需要消息队列?2 Kafka 的消息系统语义3 扩展:纠删码技术1 kafka介绍1.1 kalka是什么?可以简单的将kafka看做是一种消息队列,启动生产者与消费者的解耦,此外也可以起到消峰限流(缓冲)的作用。并且kafka可以实现数据的容错(即数据丢失后,可以恢复)。kafka延迟低(即数据可以立即被消费者获取)1.2 为什么需要消息队列?1)解耦:允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。原创 2020-10-23 22:47:02 · 473 阅读 · 0 评论 -
大数据框架之Zookeeper详解
目录1 简介2 概念2.1 zookeeper特点2.2 zookeeper的角色3 特性总结3.1 数据一致性3.2 原子性3.3 可靠性3.4 实时性3.5 顺序性3.6 过半性4 选举机制4.1 选举机制4.2 PK原则4.3 过半性5 ZAB协议5.1 概述5.2 消息原子广播5.3 崩溃恢复6 脑裂6.1 什么是脑裂?6.2 Zookeeper集群中的脑裂场景6.3 过半机制1 简介1. Zookeeper是根据谷歌的论文《The Chubby Lock Service for Loosely原创 2020-10-20 19:11:02 · 386 阅读 · 0 评论 -
大数据框架之HBase详解
目录1 简介1.1 HBase是什么?1.2 HBase特点1.2.1 海量存储1.2.2 列式存储1.2.3 极易扩展1.2.4 高并发1.2.5 稀疏存储1.3 架构2 HBase 数据结构1 简介1.1 HBase是什么?HBase 的原型是 Google 的 BigTable 论文,受到了该论文思想的启发,目前作为 Hadoop的子项目来开发维护,用于支持结构化的数据存储。HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBASE 技术可在廉价 PC Server原创 2020-10-16 18:11:43 · 528 阅读 · 1 评论 -
大数据框架之Hive详解
目录1.Hive 的基本概念1.1 Hive是什么?1.2 Hive的优缺点1.2.1 优点1.2.2 缺点1.3 Hive 架构原理1.4 Hive 和数据库比较1.5 命令1.Hive 的基本概念1.1 Hive是什么?Hive:由 Facebook 开源用于解决海量结构化日志的数据统计。Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类 SQL 查询功能。本质是:将 HQL 转化成 MapReduce 程序1)Hive 处理的数据存储在 H原创 2020-10-12 19:20:22 · 728 阅读 · 0 评论 -
大数据面试积累
目录1 入门级1.1 您对“大数据”一词有何了解?1.2 大数据的五个V是什么?1.3 告诉我们大数据和Hadoop如何相互关联。1.4 大数据分析如何有助于增加业务收入?1.5 解释部署大数据解决方案时应遵循的步骤。Ⅰ、数据摄取1 入门级1.1 您对“大数据”一词有何了解?答: 大数据是与复杂和大型数据集相关的术语。关系数据库无法处理大数据,这就是使用特殊工具和方法对大量数据执行操作的原因。大数据使公司能够更好地了解其业务,并帮助他们从定期收集的非结构化和原始数据中获取有意义的信息。大数据还允许公司原创 2020-10-11 23:24:33 · 211 阅读 · 0 评论 -
大数据之Flume详解
目录1 Flume概述1.1 Flume定义1.2 为什么选用Flume?1.3 基本组件1.3.1 Flume Sources1.3.2 Flume Channels1.3.3 Flume Sinks1 Flume概述1.1 Flume定义Flume是Cloudera提供的一个高可用的、高可靠的、分布式的海量日志采集,聚盒和传输的系统,Flume基于流式架构,灵活简单。1.2 为什么选用Flume?Flume官网基础架构示意图:1.3 基本组件1.3.1 Flume Sourcesso原创 2020-10-10 23:33:33 · 370 阅读 · 0 评论