本章为推荐引擎 本章为基于电影内容的推荐,假设输入为<用户,电影,评分>,输入为<电影1,电影2><三种算法的相似度>。 本章实现方式 基于传统spark来实现 基于传统Scala来实…
标签:key
Spark RDD分区策略
RDD的数据分区策略由Partitioner数据分区器控制,Spark提供两个类型分片函数,如下: Partitioner类的代码依赖结构 Partitioner Partitioner numPartitions:返回…
spark shuffle和Hadoop shuffle区别
本文来源于知乎上一大牛的回答作者:Lijie Xu 1. 是否需要对key提前进行排序。 从逻辑角度来讲,Shuffle 过程就是一个 GroupByKey 的过程,两者没有本质区别。只是 MapReduce 为了方便 …
【Spark】Job触发流程原理
1.通过例子分析下: val lines = sc.textFile() 首先,hadoopFile()方法的调用,会创建一个HadoopRDD,其中的…
Spark数据倾斜
常见的数据倾斜是怎么造成的? Shuffle的时候,将各个节点上相同的key拉取到某个节点的一个task进行处理,比如按照key进行聚合或join等操作,如果某个key对应的数据量特别大的话,就会发生数据倾斜现象。数据倾…
Spark中的combineByKey
在数据分析中,处理Key,Value的Pair数据是极为常见的场景。譬如说,对Pair数据按照key分组、聚合,又或者更抽象的,则是根据key对value进行fold运算。 如果我们对编码的态度有些敷衍,大约会将其分别定…
第十一节、索引
什么是索引? 索引的出现就是为了提高数据查询的效率。 索引的常见模型 索引的出现时为了提高查询效率,但是实现索引的方式却又很多种,其中常见的有:哈希表、有序数组和搜索树。 哈希表: 一种以键-…
大数据Hive 面试以及知识点
1 hive表关联查询,如何解决数据倾斜的问题? 倾斜原因: map输出数据按key Hash的分配到reduce中,由于key分布不均匀、业务数据本身的特、建表时考虑不周、等原因造成的reduce 上的数据量差异过大。…
hive 查询性能优化总结
一、join优化 ** Join查找操作的基本原则:** 应该将条目少的表/子查询放在 Join 操作符的左边。 原因是在 Join 操作的 Reduce 阶段,位于 Join 操作符左边的表的内容会被加载进内存,将条目…
hive-数据倾斜解决详解
hive在跑数据时经常会出现数据倾斜的情况。使的作业经常reduce时卡住较长时间,有时完成任务的百分百比甚至会回退,如果你碰到这种情况,”恭喜“你,你遇到数据倾斜了。 以下是几种常见的数据倾斜场景: 1、join的ke…
Hive的优化问题
总结: 一:key分布不均匀 1)key为null或异常值 对key进行打散 通过rand函数将为null的值分散到不同的值上; 对异常值赋一个随机值来分散key 2)key为正常值 1:设置reducer参数值,使用这…
Redis数据读写入门
Redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。 进入redis-client: (windows)打开redis-cli.exe 数据类型1:strings(字…