自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 问答 (2)
  • 收藏
  • 关注

原创 Spark Sql之扁平化嵌套结构列

因为有她,所有我要走的更远,更久前言:之前的博客中也有一些关于嵌套列的讲解。不过当时的嵌套列普遍只嵌套了一列。但是解决的做法是什么?数据集中含有一层嵌套列,通过StructType创建schema映射。创建dataFrame的时候将数据集和schema字段映射一起创建。就是上面的流程,不过在创建schema字段映射的时候,对于之前的嵌套字段,也仅仅只是多了一个new StructType().add就可以将嵌套的一级字段...

2022-03-10 22:16:37 3230 4

原创 Spark Sql中的Map和flatMap

和她在一起的每一天都很快乐map() 将一个函数应用于DataFrame和DataSet中的每一行并返回新的转换后的DataSet。并不会返回DataFrame,返回的是DataSet[类型].flatMap()在对每个元素应用函数之后,flatMap会将数据转换成数据帧/数据集展平,并且返回一个新的数据集。关键点1.map()和flatMap()返回的都是DataSet(DataFrame=DataSet[Row])2...

2022-03-08 22:23:24 7045 4

原创 Spark Sql中的group by语句

每天都在和你在一起Spark Group By函数将相同的数据收集到DataFrame/DataSet上的组,并对分组后的数据执行聚合函数。count() 返回每个组的行数 mean() 返回每个组的平均值 max() 返回每个组的最大值 min() 返回每个组的最小值 sum() 返回每个组的值的总计 avg() 返回每个组的平均值使用agg函数,可以一次进行多次聚合运算创建DataFrameval data = Seq(("Ja...

2022-03-07 22:08:19 5694

原创 Spark SQL中collect对数据的检索

每天都在努力的我,每天都在努力的你,总有一天我们会相见Spark collect和collectAsList是用于将RDD/DataFrame/DataSet的所有元素检索到驱动程序节点的操作。如果数据集较大,使用collect之后可能会导致内存不足val data = Seq(Row(Row("James","","Smith"),"36636","M",3000), Row(Row("Michael","Rose",""),"40288","M",4000), Ro...

2022-03-06 18:05:50 2293

原创 Spark SQL中的条件筛选以及case when表达

Spark SQL中的过滤以及case when的用法

2022-03-06 15:36:38 7694

原创 基于Spark的音乐专辑数据分析

基于Spark的音乐专辑大数据分析

2022-03-04 21:29:24 5367 33

原创 基于Scala版本的TMDB大数据电影分析项目

tmdb大数据电影分析

2022-03-03 12:04:44 1653 5

原创 Spark Sql对列的操作

SQL写得好,工作随便找本篇博客讲的是关于Spark SQL中对于列的操作。在SQL中对列的操作有起别名,转化类型等在Spark SQL中同样也支持,下面来看一看把Spark withColumn()语法和用法withColumn用于操作DataFrame上所有行或选定行的列值withCplumn执行之后,会产生一个新的DataFrametips:如果用withColumn同时更新多个列的情况下,可能会有性能问题...

2022-03-01 15:27:11 5754 2

原创 Spark SQL中StructField和StructType

Spark SQL中的StructType以及StructField

2022-02-28 15:42:36 7801

原创 SparkSQL 选择列

Spark SQL中对列的选择

2022-02-28 10:28:44 1575 1

原创 Spark SQL学习第二弹

Spark SQL的第二弹知识点来啦

2022-02-13 20:00:53 1071 1

原创 Spark SQL追妻系列(初了解)

Spark Sql学习路上的灯塔

2022-02-12 20:10:21 838

原创 Spark追妻系列(TopN案例和动作算子)

Spark中的TopN案例

2022-02-06 20:04:48 2635 1

原创 Spark追妻系列(Pair RDD下集)

Spark中k v 类型的算子

2022-02-05 20:25:52 2433 4

原创 Spark追妻系列(Pair类型算子)

Spark中的key value类型的算子

2022-02-04 21:29:19 2263 1

原创 Spark追妻系列(Value类型的RDD)

Spark中的单Value类型的算子

2022-02-03 17:26:14 695

原创 Spark追妻系列(RDD的映射)

Spark中的一些算子

2022-02-02 20:09:56 825

原创 Spark追妻系列(默认分区规则)

Spark的默认分区规则

2022-01-31 16:07:36 1386 1

原创 快学Scala之函数式编程

Scala中的函数式编程

2022-01-30 15:10:18 884

原创 快学Scala之Map集

学习是个反人类的过程列表:列表和数组一样,都有不可变长的和可变长的。列表中的一些apiisEmpty 判断列表是否为空 ++ 拼接两个列表 head 获取列表的首个元素 tail 获取除列表的收个元素外的其他元素 reverse 对列表进行反转 take 获取列表的前缀元素 返回一个新的列表 drop 获取列表的后缀元素扁平化(flatten)扁平化就是将嵌套列表中的所有具体元素单独的放在一个新列表中...

2022-01-30 13:52:11 954

原创 快学Scala(数组和元组)

快要过年了呀,大家冲冲冲数组在Scala中数组下标是从0开始的。定长数组的特点长度不允许改变数组的内容可以改变通过指定长度定义数组val 变量名 = new Array[元素类型](数组长度)通过指定元素定义数组val 变量名 = Array(元素1,元素2,元素3)变长数组:数组的长度和内容是可变的,可以往数组中添加和减少元素创建空的ArrayBuf...

2022-01-29 20:00:05 946

原创 Spark追妻系列(RDD编程)

不问你为何流眼泪,再多的苦,我也愿意背RDD编程上文说到创建RDD有两种方式,读取外部文件value = sc.textFile()2.读取数据集合value = sc.makeRDD(List(1,2,3,4)) value = sc.parallelize(List(1,2,3,4))通过上面两种方式就可以创建RDD。RDD的转换操作RDD的转换操作是返回新的RDD的操作,RDD转换算子是惰性的,在只有行...

2022-01-29 13:06:43 862

原创 Spark追妻系列(Spark初了解)

感觉每天又有了希望,又有动力,感觉学习尽头十足Spark是什么Spark是一个用来实现快速而通用的集群计算的平台。在之前,学习了MR,学习了hadoop,用mapreduce来对数据进行处理,但是hadoop是用批处理的,而且还有延迟,况且,出来了Hive,Hive将sql转化为mr算子。可以不用去写mr代码就可以对数据进行分析。Spark是集群计算,是在hadoop集群中进行的,Spark的一个主要特点就是能够在内存中进行计算,在内存中计...

2022-01-28 20:12:59 937 5

原创 快学Scala系列(特质)

SCALA特质的学习

2022-01-28 14:52:08 878

原创 离线数仓之业务数据的导入和处理

讲的好不好不知道,尽最大努力去讲数据的同步上篇讲过使用Sqoop将Mysql和Hdfs的数据进行互导。本篇是离线数仓的第二篇。讲的是业务数据的处理。离线数仓基本业务数据都存储在Mysql中,然后再将Mysql中的数据通过Sqoop进行数据传输到Hdfs上面。在Hive里面创建相应的表,加载对应目录的数据到Hive表中。这仅仅只是ODS层的操作。ODS层的数据基本上都是源数据,没有经...

2022-01-27 20:53:18 1582

原创 快学Scala系列(继承)

快学Scala

2022-01-27 14:01:48 493

原创 快学Scala系列(类和对象)

Scala中的对象和类

2022-01-26 17:06:10 347

原创 快学Scala系列(方法和函数)

Scala中的方法和函数

2022-01-26 12:41:48 308

原创 快学Scala系列(条件语句和循环语句)

本篇是快学Scala的第二篇,讲的是条件语句流程控制和我们学习完Java一样,学习完基本的变量之后就要开始学习条件语句。本篇博客将讲解条件语句和循环语句。顺序结构所谓的顺序结构,Scala和Java是一样的,都是按照从上到下,从左到右的顺序,依次执行,中间没有任何执行和跳转先来一个大家习以为常的普通代码,这就是顺序结构那么所谓的从左往右的顺序是什么?这条语句的结果就是 20我爱...

2022-01-25 20:28:50 657

原创 快学Scala第一天

以前都是只学习Hive和数仓的基本知识,却忘记了数仓的另一个重要的利器Spark.工欲善其事必先利其器,为了学好spark,我们先要学习好scalaScala中的常量:学习scala也是为了我们日后学习spark打好基础,今天开始就跟着我来学习scala吧。scala中的常量:整型,浮点型,字符串型,布尔,空//输出整形 print(2)//输出字符串类型 print("i love you") //输出字符类型 print('a') //输...

2022-01-25 12:59:04 346

原创 离线数仓第一步:学会Mysql和HDFS数据的互导

Sqoop完成mysql和hdfs数据之间的导入导出

2022-01-24 17:44:49 3101

原创 室友不会Hive中的分桶表,我给室友讲

hive中分桶操作以及陷阱讲解

2022-01-22 17:17:09 941 3

原创 Hive的表连接之讲了一半累了不讲了

事情糟糟,感觉自己没有处理好连接模式:Hive中根据数据连接发生的地方将连接模式分为两种。第一种是Repartition连接,发生在Shuffle和Reduce阶段,我们一般上说的表连接指的是Repartition连接。另外一种连接是Map join.就是所谓的大表Join小标普通的表连接Map的任务读取A,B两个表的数据,按照连接条件发往相同的Reduce。并在Reduce中计算结果。什么是普通的...

2022-01-21 20:22:32 437

原创 HIve的聚合模式室友不知道,我学会了给他们讲

只要我以为,这不是误会,谁会是宝贝小谈:今天没有摆烂,今天大早上起来在学校用土豆做的服务器上面选课,说实话奥,分批次选课,顶多不到8000多人、就卡的不得了,咱Java学的不精,看到各个微信公众号推送的高并发变成广告,建议学校的领导去学学高并发。而且也不是同时在线八千人。估计顶多两三千人,最多四五千人把。我的评价是不如原神Hive中的聚合模式什么是聚合?聚合就是将多行的数据缩减成一行或者是少数几行的计算模式。其实在我们刚开始学习mr的时...

2022-01-21 13:11:02 902

原创 室友不知道Hive中的过滤多样性,我靠一本书给他讲的明明白白

hive中的各种过滤大甩卖,讲解到位

2022-01-20 21:48:20 3016 1

原创 Hive数据倾斜不学好,数据倾斜少不了

hive数据倾斜的类型以及处理办法

2022-01-20 11:18:51 301

原创 Hive中的Distribute by 搭配sort by

今天不学习,明天不学习,后天就习惯不学习了小谈:上次讲了sort by和order by的区别,order by 进行全局排序,此时的reduce只有1个。sort by分情况。情况一:一个reduce。相当于order by 会进行全局排序,因为全局就只有那一个reduce情况二:多个reduce。sort by 会在多个reduce里面。对每一个reduce进行内部的排序。就是每个re...

2022-01-19 12:30:24 1119

原创 Hive中你知道的Join小技巧

hive中的Join 和mysql中的Join基本上大差不差。但是还是有一些区别。

2022-01-18 20:10:49 584

原创 在室友偷偷玩云顶之奕的时候我学会数仓的基础概念

数据仓库的基本概念和相关术语

2022-01-18 09:48:40 955

原创 hive中explode配合lateral view

hive中使用explode 搭配lateral view进行炸裂

2022-01-16 13:57:30 929

空空如也

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

TA关注的人

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