自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实战项目之离线数仓开发

项目一共有有31张表,其中包含8张维度表,23张业务核心表。

2023-11-29 16:40:18 704

原创 笔记二十三:Structured Streaming基础

【代码】笔记二十三:Structured Streaming基础。

2023-11-28 20:14:04 383

原创 笔记二十二:Kafka基础

Apache Kafka是一款消息队列的中间件的产品特点:- 可靠性: 整个服务器不容易发生宕机的风险,以及数据也不容易丢失- 可扩展性: Kafka集群可以很方便的进行扩容,不需要停机- 耐用性: 存储在kakfa数据,可以持久化的保存到磁盘上- 性能: Kafka具有高吞吐高并发,整个效率是非常快,可以保证零停机,零数据丢失。

2023-11-28 11:52:13 349

原创 笔记二十一:Spark基础_07

import os# 1.构建SparkSession# 建造者模式:类名.builder.配置…….getOrCreate()# 自动帮你构建一个SparkConf对象,只要指定你需要哪些配置就可.builder \# 2.数据输入# 3.数据处理:把name字段后拼接一个"_itcast"#自定义Python函数#参数一:返回值类型#register的三个参数:#参数一:SQL中可以使用的自定义函数,只能在SQL用#参数二:需要把那个Python函数注册到Spark中。

2023-11-27 20:40:45 386

原创 笔记二十:Spark基础_06

step1: 读取数据# a.读取数据放入RDD中# step2: 处理数据# b.转换为DataFrame"""自定义Schema:构建一个元素或者列表类型的RDD,自定义一个Schema对象StructType,将RDD和Schema对象合并"""# 先构建元组类型的RDD# 将一行一个字符串转换成一个列表# 将一行一个列表转换成一个元组对象# 自定义一个Schema对象])# 将RDD和Schema合并,转换为DataFrame# step3: 保存结果。

2023-11-27 18:08:01 413

原创 笔记十九:Spark基础_05

Sort Shuffle中,有两种Shuffle机制,一种是普通机制,一种是ByPass机制。广播变量是把小的数据集广播到各个Executor节点上,接上网络数据传输。Spark Shuffle过程也叫作宽依赖过程。在分布式计算场景下实现累加计算,且只能做累加。累加器一般用于黑名单、特殊词等统计中。

2023-11-25 20:42:57 350

原创 笔记十八:Spark基础_04

将RDD进行缓存, 如果需要用到多次,将这个RDD存储起来,下次用到直接读取我们存储的RDD,不用再重新构建了。问题:RDD依赖血缘机制保证数据安全,那每调用一次RDD都要重新构建一次,调用多次时性能就特别差,怎么办?Spark就是通过RDD之间的依赖关系来进行容错的,即。persist和checkpoint有什么区别。【不包含RDD依赖关系】存储在HDFS上。数据:tianchi_user.csv。数据文件:Sogou.tsv。

2023-11-25 19:59:39 295

原创 笔记十七:Spark基础_03

RDD是一个可分布式、可容错的数据集合RDD提供了一种抽象的方式来处理大规模数据集RDD可以在内存中进行高效的并行计算。

2023-11-25 14:36:53 338

原创 笔记十六:Spark基础_02

把Spark程序提交到Yarn上来运行,使用Yarn的分布式资源管理给Spark程序分配资源。Standalone模式,就是Spark实现了一套自己的分布式资源管理和任务调度。

2023-11-25 09:46:29 327

原创 笔记十五:Spark基础_01

Apache Spark是用于大规模数据分析的统一引擎。是一个。2009在加州大学伯克利分校(UC Berkeley)AMP实验室被创建,作为伯克利大学的研究性项目。历史。

2023-11-24 20:21:21 279 1

原创 笔记十四:YARN原理、ZooKeeper

YARN是Hadoop核心组件之一,用于提供分布式资源调度服务,而且专注于资源调度简单地说,就是:以分布式技术完成资源的合理分配,让MapReduce能高效完成计算任务。

2023-11-24 12:00:27 375 1

原创 笔记十三:HDFS、MapReduce原理

分别从NameNode、Secondary NameNode两个方面。

2023-11-22 17:38:19 33

原创 笔记十二:Hive调优

map join可以有效解决数据倾斜的作用,但小表数据需要存储在内存中, 随着mapTask越多, 存储在内存的小表数据份数也会越多当这个小表数据比较大的, 可能无法放置到内存中。优点:查询时,只有涉及到的列才会被查询,不会把所有列都查询出来,即可以跳过不必要的列查询。缺点:如果查询只涉及某几个列,它会把整行数据都读取出来,不能跳过不必要的列读取。当然数据比较少,一般没啥问题,如果数据量比较大就比较影响性能。优点:相关的数据是保存在一起,比较符合面向对象的思维,因为一行数据就是一条记录。

2023-11-22 16:37:37 20

原创 笔记十一:Hive函数

1)内置函数(Built-in Functions)数学函数日期函数字符串函数条件函数类型转换函数数据脱敏函数2)用户定义函数(User-Defined Functions)UDF(User Defined Functions)用户定义功能函数UDAF(User Defined Aggregate Functions)用户定义聚合函数UDTF(User Defined Table-generating Functions)用户定义表生成函数。

2023-11-21 15:28:26 13 1

原创 笔记十:SQL查询入门

(2)where条件查询。

2023-11-21 12:11:38 28 1

原创 笔记九:分区表、分桶表

(1)partition表示给数据表分区处理,但后面字段有多个时,表示多分区表;分桶表是将表的数据按照哈希函数对某个列的值进行分桶,将数据均匀地分布到不同的桶中。分区表是将表的数据按照某个列的值进行逻辑上的划分,将数据分散存储在不同的分区中。(2)分区列名不允许与表字段同名,要单独命名,一般以年、月、日分区;以某列作为分组时,可减少全表扫描,进入到分桶表中处理,效率高一些。当数据量特别大时,对全体数据进行处理存在困难,抽样就显得尤其重要。基于分桶字段的where过滤查询时,可减少全表扫描。

2023-11-21 10:50:50 32 1

原创 笔记八:内部表、外部表

说明:1)当删除内部表时,会从Metastore中删除表元数据,还会从HDFS中删除其所有数据和文件;2)删除外部表,只会从Metastore中删除表的元数据(表信息),并保持HDFS位置中的实际数据不变。3)Hive拥有对内部表的绝对管理权,而仅对外部表有操作表的权力。内部表:管理表外部表:关联表1)内部表适合数据临时处理、转换等操作,及对数据进行清洗、统计分析、计算等需求。因为内部表可以提供更好的数据管理和查询性能;2)外部表适用于数据的长期存储、备份和共享等需求。

2023-11-21 09:25:17 269 1

原创 笔记七:Hive入门

Hive是由Facebook开源用于解决海量结构化日志的数据统计 ,它是基于大数据生态圈Hadoop的一个数据仓库工具。Hive的本质是将SQL转化成MapReduce程序。

2023-11-20 20:35:33 19 1

原创 笔记六:HDFS入门

在存入数据文件到HDFS时,会发现每个小文件单独存放到HDFS都会占用一个block块,那么HDFS就需要依次存储每个小文件的元数据信息,浪费资源。在HDFS中,文件是被划分了一堆堆的block块,如果文件很大且很多,那么NameNode主节点就会负责处理这些问题即: 记录及整理文件和block块的关系。在存储数据时,HDFS将每个文件以128MB形式存储成一系列的block(数据块),除最后一个外,其他数据块都是128MB。HDFS的安全模式指的是:不允许HDFS客户端进行任何修改文件或目录的操作。

2023-09-21 20:43:59 31

原创 笔记五:Hadoop入门

a) NameNode(NN):处理客户端读写请求,存储文件的元数据,以及每个文件的块列表、数据块DataNode等;a)ResourceManager(RM,资源管理器):集群资源(cpu,内存等)管理者;c)ApplicationMaster(AM,任务管理器):单个任务运行的管理者;b)DataNode(DN):存储实际的数据块,并执行数据块的读写操作;b)NodeManager(DM,节点管理器):单个节点资源的管理者;c)YARN(作业调度和集群资源管理的框架):解决资源任务调度。

2023-09-21 18:17:42 29

原创 笔记四:窗口函数

窗口函数是类似于可以返回聚合值的函数,例如sum()、count()、max()等。(1)ranking函数名()可以是row_number()、rank()、dense_rank()这三个函数中的某一个,都用于返回结果集的分组内每行排名;(1)窗口函数名可以是聚合函数,例如sum()、count()、avg()等,也可以是分析函数;(3)rank()是当排名相同时,名次一样,且同一排名有几个,后面排名就会跳过几次;(2)聚合函数有count()、sum()、avg()、min()、max();

2023-09-21 17:42:26 25

原创 笔记三:Linux进阶

作用: 将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可。(1)使用yum命令时要联网,即需要root权限,或可以用su切换到root,或使用sudo提升权限;命令:yum [-y] [install | remove | search] 软件名称。(3)install表示安装,remove表示卸载,search表示搜索。(2)格式化字符串可以使用%Y、%m、%d表示年、月、日。

2023-09-20 17:25:25 22 1

原创 笔记二:Linux基本命令

4.复制文件或目录:cp [-选项] 原路径 目标路径 所有文件或子目录都复制,需要把[-选项]设定为-r。6.创建目录:mkdir [-选项] [参数] 建立多级目录时,需要把选项设定为-p。[-选项] [参数] -name<字符串>/-size<文件大小>/-type<文件类型>6.删除文件或目录:rm [参数] [文件名或目录名] [参数]=>通常表示为-rf。5.对文件或目录进行打包或解包:tar [-选项] 待打包文件名 [-选项2] 目录名。

2023-09-20 16:46:54 23 1

原创 笔记一:Linux基础知识点

简述:Linux泛指一个整体Linux操作系统,包括Linux内核、系统库和系统程序,而Linux系统内核是最基础的部分。Linux结构:目录结构是一个树型结构,并且Linux没有磁盘盘符这个概念,只有一个根目录/。开创者:Linus Torvalds(林纳斯 · 托瓦兹)(2)相对路径:表示从当前位置开始描述的路径名称。(1)绝对路径:从/目录开始描述的完整路径名称;

2023-09-20 16:12:23 23

原创 通过窗口函数实现分组后排序

over([partition by 字段名1(分组)] order by 字段名 [asc | desc](排序)) [as 别。总结:正常分组后只能通过聚合函数取值,且只取到一个,无法完成位列2及以上的排序,而窗口函数解决分组后无法排序的问题.通过分组后对成绩进行排序取前3未。查询各科成绩前三名的记录。多说无益,直接上例题。

2023-09-13 21:07:54 29

空空如也

空空如也

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

TA关注的人

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