自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 分组累加/级联求和

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 525

原创 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 4998

原创 数据分析笔试题_Hive&MySQL

目录在大数据领域或者是数据分析领域,SQL成为了一门重要的语言,在离线分析场景中起到了重大的作用;比如连续登录,高峰期、等等场景更是常用。有兴趣的赶快去练习吧,还有许多其他专题可以练习;练习的地址:sql练习地址1. 巩固基础-有趣的大数据扫黄聚合函数、去重计算和简单的过滤筛选分组计算和排序通配符,或与非逻辑运算日期时间处理、字符串类型和左连接窗口函数和综合应用2. 场景练习-热门出行目的地探索分析用车人数订单高峰期热门目的地车型单量热门路线3. 举一反三-高频考点之

2021-12-31 14:24:01 1920

原创 centOS7 & centOS6的区别

1、操作区别1.1 防火墙1.1.1 [CentOS6] iptables开启/重启防火墙service iptables start/restart查看防火墙的状态service iptables status临时关闭防火墙service iptables stop1.1.2 CentOS7] firewalld查看防火墙的状态systemctl status firewalld.service临时关闭防火墙systemctl stop fi

2021-12-29 21:43:58 577

原创 Kafka消息一致性

Kafka 是互联网行业内常用的一个消息中间,和RabbitMQ、RocketMQ的作用都是解耦生产端和消费端,缓存消息。优点:高吞吐,低延迟可扩展性持久性,可靠性容错性高并发Kafka是怎么保证端到端之间的消息一致性的呢?每一个环节都会可能导致数据丢失或者重复。1. 生产者生产者的职责就是,确保生产的消息能到达Kafka,这里一般可以通过ack机制(kafka中的参数)来确定消息是否到达kafka中。1.1 ack该参数表示有多少个分区副本收到消息,才认为本次发送是成功的.

2021-12-24 12:59:05 2353

原创 记录一个Hive的一个报错

hive return code 1报错

2021-12-15 14:40:36 2584 6

原创 大数据之项目需求及架构设计

大数据集群搭建相关注意事项

2021-12-09 23:18:19 3098

原创 大数据面试

1、数仓1.什么是数据仓库?如何构建数据仓库?2.数仓如何分层的?及每一层的作用?思考:为什么要这么分层?数据仓库一般分为三层,自上而下分别为数据贴源层(ODS,Operation Data Store)、数据公共层(CDM,Common Data Model)和数据应用层(ADS,Application Data Service)。2.1 ODS层贴源层,与业务库保持一致,不做任何处理2.2 CDM层数据公共层CDM(Common Data Model,又称通用数据模型层),包括DIM维度表

2021-10-08 14:09:26 117

原创 Hadoop中不起眼的小文件

在使用Hadoop过程中,小文件是一种比较常见的挑战,如果不小心处理,可能会带来一系列的问题。HDFS是为了存储和处理大数据集(M以上)而开发的,大量小文件会导致Namenode内存利用率和RPC调用效率低下,block扫描吞吐量下降,应用层性能降低。通过本文,我们将定义小文件存储的问题,并探讨如何对小文件进行治理。1 什么是小文件小文件是指比HDFS默认的block大小(默认配置为128MB,网易大数据集群配置为256M)明显小的文件。需要注意的是,在HDFS上有一些小文件是不可避免的。这些文件.

2021-05-26 23:25:52 322 4

原创 Hive常见优化

1 表连接优化将小表放在前面,Hive假定查询中最后的一个表是大表。它会将其它表缓存起来,然后扫描最后那个表。因此通常需要将小表放前面,或者标记哪张表是大表:/streamtable(table_name) /使用相同的连接键当对3个或者更多个表进行join连接时,如果每个on子句都使用相同的连接键的话,那么只会产生一个MapReduce job。尽量尽早地过滤数据减少每个阶段的数据量,对于分区表要加分区,同时只选择需要使用到的字段。尽量原子化操作尽量避免一个SQL包含复杂逻辑,可以使用中间

2021-05-17 20:42:55 660 8

原创 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 949 1

原创 MySql和hive的常用日期时间函数

1. MySQL-- 获取当前日期时间SELECT NOW();eg: 2021-02-08 14:21:10SELECT CURRENT_TIMESTAMP(); eg: 2021-02-08 14:21:10SELECT SYSDATE(); eg: 2021-02-08 14:21:10SELECT FROM_UNIXTIME(unix_timestamp()) eg: 2021-02-08 16:43:53SELECT FROM_UNIXTIME(unix_timesta

2021-02-08 17:29:40 404

原创 ElasticSearch0基础入门

1. LuceneLucene 是一个开源、免费、高性能、纯Java 编写的全文检索引擎,可以算作是开源领域最好的全文检索 工具包。2. ElasticSearchElasticSearch (以下简称es)是一个分布式、可扩展、近实时性的高性能搜索与数据分析引擎。ElasticSearch 基于 Java 编写,通过进一步封装 Lucene,将搜索的复杂性屏蔽起来,开发者只需要一套简单的 RESTful API 就可以操作全文检索。整体上来说,ElasticSearch 有三大功能:

2021-01-21 17:01:00 126

原创 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 57

原创 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 283

转载 什么是中台?

目录1 什么是中台?1 什么是中台?参考地址:什么是中台?

2020-12-10 15:44:52 266

原创 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 228

原创 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 292

原创 SQL优化

目录1)可以考虑在where及order by设计的列上建立索引。2)避免where子句中进行null值判断select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后select id from t where num =0in和not in也要慎用,否则就会导致全表扫描select id from t where num in(1,2,3)对于连续的数值,能用between 就不要用in了select i

2020-11-12 12:03:31 106

原创 Kettle连接HiveServer2配置和常见问题解决

Kettle版本:pdi-ce-8.2.0.0-342.zipHive版本:apache-hive-2.3.0-bin.tar.gzHadoop版本:hadoop-2.7.3.tar.gzKettle关于Hadoop生态圈组件连接配置基本都在data-integration\plugins\pentaho-big-data-plugin目录下,如图:其中plugin.properties配置文件中有两个主要参数:(1)active.hadoop.configuration# The Hadoo

2020-11-10 20:38:25 1177

原创 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 605

原创 数据倾斜

目录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 195

原创 图解堆排序

堆排序堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子该数组从逻辑上讲就是一个堆结构,我们用简单的公式来描述一下堆的定义就是:大顶堆:arr[i]

2020-11-06 17:24:42 171

原创 大数据框架之Spark详解

1 Spark是什么?

2020-11-05 22:53:44 3430

原创 数据仓库

目录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 187

原创 大数据框架之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 413

原创 大数据框架之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 363

原创 大数据框架之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 503 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 663

原创 大数据面试积累

目录1 入门级1.1 您对“大数据”一词有何了解?1.2 大数据的五个V是什么?1.3 告诉我们大数据和Hadoop如何相互关联。1.4 大数据分析如何有助于增加业务收入?1.5 解释部署大数据解决方案时应遵循的步骤。Ⅰ、数据摄取1 入门级1.1 您对“大数据”一词有何了解?答: 大数据是与复杂和大型数据集相关的术语。关系数据库无法处理大数据,这就是使用特殊工具和方法对大量数据执行操作的原因。大数据使公司能够更好地了解其业务,并帮助他们从定期收集的非结构化和原始数据中获取有意义的信息。大数据还允许公司

2020-10-11 23:24:33 202

原创 大数据之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 318

原创 Java中常见的各种锁(非常全)

这里写自定义目录标题乐观锁悲观锁自旋锁原理自旋锁优缺点优点缺点自旋锁时间阈值(1.6 引入了适应性自旋锁)自旋锁的开启Synchronized 同步锁Synchronized作用范围Synchronized实现JDK1.6后的优化ReentrantLockLock接口主要方法tryLock 和 lock 和 lockInterruptiblyReentrantLock 与 synchronized非公平锁公平锁可重入锁(递归锁)读写锁独占锁共享锁独占锁共享锁锁状态重量级锁(Mutex Lock)轻量级锁偏向

2020-09-21 19:36:30 9325 1

原创 常见算法的时间复杂度

图片来源:https://www.bigocheatsheet.com/1. 大O复杂度图表2.常见数据结构操作翻译之后的3.数组排序算法

2020-09-18 20:07:26 181

原创 如何更好的理解SQL窗口函数

文章目录1 窗口函数有什么用?2 什么是窗口函数?3 如何使用?3.1 专用窗口函数rank3.2 其他专业窗口函数3.3 聚合函数作为窗口函数4 注意事项5 总结5.1 窗口函数语法5.2 窗口函数有以下功能:5.3 注意事项5.4 窗口函数使用场景1 窗口函数有什么用?在日常工作中,经常会遇到需要在每组内排名,比如下面的业务需求:排名问题:每个部门按业绩来排名topN问题:找出每个部门排名前N的员工进行奖励面对这类需求,就需要使用sql的高级功能窗口函数了。2 什么是窗口函数?窗口函数,也

2020-09-12 10:27:05 396

原创 SQL -- distinct 函数的用法

文章目录1 SQL中distinct的用法1.1 作用于单列1.2 作用于多列1.3 COUNT统计1 SQL中distinct的用法先准备一张具有重复分数的单表 scoresidnamescore1张三882李四913王二884赵五945周一916吴八961.1 作用于单列# DISTINCT 查询单个字段SELECT DISTINCT score FROM `scores`;查询结果:score8891

2020-09-12 00:29:28 13478

原创 数据库基础操作命令之MySQL

文章目录1 SQL查询语句分类2 DDL在这一篇文章中已经介绍了MySQL数据库的基本知识,文章链接:MySQL数据库基础知识1 SQL查询语句分类主要分为以下五类DDL(Data Definition Language): 数据定义语言,这些语句定义不同的数据段、数据库、表、列、索引等数据库对象。常用语句关键字主要包括 CREATE、DROP、ALTER等DQL(Data QueryLanguage): 关键字:SELECT … FROM … WHERE。DML(Data Manipu

2020-09-10 16:39:53 179

原创 图解SQL

这里写自定义目录标题1 SQL 是什么?1.1 关系模型1.2 面向集合查询1.2.1集合操作:**SELECT****WHERE****ORDER BY****GROUP BY**1.2.2 连接查询**UNION****INTERSECT****EXCEPT** **MINUS****JOIN**Inner Join**Left Outer Join****Right OuterJoIn****Full Outer Join****Cartesian Product**1 SQL 是什么?SQL:

2020-09-10 12:51:10 430

原创 Docker的基本介绍

这里写自定义目录标题1 Docker的概念1.1 Docker与VMware的区别2 镜像与容器2.1 镜像(Image)2.2 容器(Container)1 Docker的概念Docker是一款轻量的虚拟机。1.1 Docker与VMware的区别VMware需要完整的虚拟机计算机的硬件,完整的操作系统底层资源,启动速度慢。Docker充分利用宿主机的硬件资源,操作系统的底层资源,占用资源少,启动速度快。Docker的轻量虚拟机,也可以叫做“容器”,及容器<==>虚拟机。左边

2020-09-08 19:49:02 97

原创 Spring Cloud微服务详细介绍

这里写自定义目录标题1 Spring Cloud是什么?2 Spring Cloud五大组件2.1 Eureka(注册中心)2.2 Ribbon(负载均衡)2.3 Zuul(服务网关)2.4​ Config(配置中心)2.5​ Hystrix(熔断器)3 Spring Cloud 技术组成脑图3.1 Spring Cloud 其他组件3.1.1Feign(声明式客户端)3.1.2 hystrix dashboard(断路器仪表盘)3.1.3 Turbine(聚合监控)3.1.4 sluenth+zipkin

2020-09-06 13:10:38 183

原创 内部类(四)----局部内部类

内部类(一) 成员内部类:成员内部类内部类(二) 静态内部类:静态内部类内部类(三) 匿名内部类:匿名内部类这一章节来介绍局部内部类:1.局部内部类1.1 概念在外部类的方法中,定义的非静态的命名的内部类,叫做局部内部类。(因为该内部类可以访问外部类方法的形参和局部变量而得此名)可以分为:在外部类的实例方法内部的局部内部类;在外部类的静态方法内部的局部内部类。提示:在实际开发中很少使用局部内部类,只是因为局部内部类的作用域很小,只能在当前方法中使用。1.2 调用局部内部类中的方法1

2020-09-03 11:44:53 223

空空如也

空空如也

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

TA关注的人

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