摘要: RDD的缓存机制(★★★★★) 什么是rdd的缓存 spark可以把一个rdd的数据缓存起来,后续有其他的job需要用到该rdd的结果数据,可以直接从缓存中获取得到,避免了重复计算。缓存是加快后续对该数据的访问操作。 如何对rdd设置缓存 可以通过persist方法或cache方法将前面的RDD的数 阅读全文
posted @ 2020-08-24 03:25 Whatever_It_Takes 阅读(1026) 评论(0) 推荐(1)
摘要: RDD的依赖关系 依赖类型 RDD根据依赖关系,可以分为父RDD和子RDD,父RDD就是被子RDD依赖的RDD。 而父RDD与子RDD的依赖关系,可以分为两种类型: 窄依赖(narrow dependency) 宽依赖(wide dependency) 窄依赖 窄依赖:指的是每一个父RDD的Part 阅读全文
posted @ 2020-08-24 03:22 Whatever_It_Takes 阅读(629) 评论(0) 推荐(0)
摘要: 数据倾斜原理和现象分析 数据倾斜概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。 数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。 数据倾斜发生时的现象 1、绝大多数task执行得都非常快,但个 阅读全文
posted @ 2020-08-24 03:20 Whatever_It_Takes 阅读(904) 评论(0) 推荐(0)
摘要: spark的shuffle原理分析 shuffle概述 Shuffle就是对数据进行重组,由于分布式计算的特性和要求,在实现细节上更加繁琐和复杂。 在MapReduce框架,Shuffle是连接Map和Reduce之间的桥梁,Map阶段通过shuffle读取数据并输出到对应的Reduce;而Redu 阅读全文
posted @ 2020-08-24 03:17 Whatever_It_Takes 阅读(981) 评论(0) 推荐(0)
摘要: spark任务中资源参数剖析 通过开发工具开发好spark程序后达成jar包最后提交到集群中运行 提交任务脚本如下 spark-submit \ --master spark://node01:7077,node02:7077 \ --class com.kaikeba.WordCountOnSpa 阅读全文
posted @ 2020-08-24 03:15 Whatever_It_Takes 阅读(344) 评论(0) 推荐(0)
摘要: collect 算子操作剖析 collect算子操作的作用: 它是一个action操作,会触发任务的运行 它会把RDD的数据进行收集之后,以数组的形式返回给Driver端 总结: 默认Driver端的内存大小为1G,由参数 spark.driver.memory 设置。 如果某个rdd的数据量超过了 阅读全文
posted @ 2020-08-24 03:13 Whatever_It_Takes 阅读(897) 评论(0) 推荐(0)
摘要: spark on yarn spark程序可以提交到yarn中去运行,此时spark任务所需要的计算资源由yarn中的老大ResourceManager去分配 官网资料地址: http://spark.apache.org/docs/2.3.3/running-on-yarn.html 环境准备 安 阅读全文
posted @ 2020-08-24 03:09 Whatever_It_Takes 阅读(273) 评论(0) 推荐(0)
摘要: spark程序的序列化问题 transformation操作为什么需要序列化 spark是分布式执行引擎,其核心抽象是弹性分布式数据集RDD,其代表了分布在不同节点的数据。Spark的计算是在executor上分布式执行的,所以用户执行RDD的map,flatMap,reduceByKey等tran 阅读全文
posted @ 2020-08-24 03:06 Whatever_It_Takes 阅读(3113) 评论(0) 推荐(0)
摘要: 案例1:使用Java实现spark的wordCount 案例需求: 单词计数 第一步:创建maven工程,引入依赖 <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11< 阅读全文
posted @ 2020-08-24 03:00 Whatever_It_Takes 阅读(355) 评论(0) 推荐(0)
摘要: 🌈RDD的算子 算子可以理解成RDD的一些方法。 RDD的算子可以分为2类: 1、transformation(转换) 根据已经存在的rdd转换生成一个新的rdd, 它是延迟加载,它不会立即执行 例如: map / flatMap / reduceByKey 等 2、action (动作) 它会真 阅读全文
posted @ 2020-08-24 02:56 Whatever_It_Takes 阅读(988) 评论(0) 推荐(0)
摘要: 🌈RDD RDD是什么 RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD是spark core的底层核心。 Dataset:就是一个集合,存储很多数据. Distr 阅读全文
posted @ 2020-08-24 02:49 Whatever_It_Takes 阅读(1190) 评论(0) 推荐(1)
摘要: 通过IDEA开发spark程序 构建maven工程 创建src/main/scala 和 src/test/scala 目录 添加pom依赖 说明: 创建maven工程后,设定maven为自己安装的maven,并在确保settings.xml里面设置了镜像地址为阿里云 如果下载不下来scala-ma 阅读全文
posted @ 2020-08-24 02:44 Whatever_It_Takes 阅读(256) 评论(0) 推荐(0)
摘要: spark-shell使用 运行spark-shell --master local[N] 读取本地文件 选项说明: local 表示程序在本地进行计算,跟spark集群目前没有任何关系 N 它是一个正整数,表示使用N个线程参与任务计算 local[N] 表示本地采用N个线程计算任务 spark-s 阅读全文
posted @ 2020-08-24 01:48 Whatever_It_Takes 阅读(427) 评论(0) 推荐(0)
摘要: 初识spark程序 普通模式提交 (指定活着的master地址) 指定的必须是alive状态的Master地址,否则会执行失败。 cd /kkb/install/spark bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ 阅读全文
posted @ 2020-08-24 01:46 Whatever_It_Takes 阅读(208) 评论(0) 推荐(0)
摘要: spark集群安装部署 搭建spark集群要事先搭建好zookeeper集群,spark会依赖zookeeper集群来实现Master的高可用。 第一步:下载安装包 下载安装包:spark-2.3.3-bin-hadoop2.7.tgz 下载地址: https://archive.apache.or 阅读全文
posted @ 2020-08-24 01:42 Whatever_It_Takes 阅读(942) 评论(0) 推荐(0)
摘要: spark是什么 "Apache Spark" is a unified analytics engine for large-scale data processing. spark是针对于大规模数据处理的统一分析引擎 spark是在Hadoop基础上的改进,是UC Berkeley AMP la 阅读全文
posted @ 2020-08-24 01:37 Whatever_It_Takes 阅读(1521) 评论(0) 推荐(0)
摘要: hive的综合案例实战 案例需求 统计youtube影音视频网站的常规指标,各种TopN指标: --统计视频观看数Top10 --统计视频类别热度Top10 --统计视频观看数Top20所属类别 --统计视频观看数Top50所关联视频的所属类别Rank --统计每个类别中的视频热度Top10 --统 阅读全文
posted @ 2020-08-24 00:56 Whatever_It_Takes 阅读(2007) 评论(0) 推荐(0)
摘要: hive的企业级调优 1、Fetch抓取 Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。 例如:select * from score; 在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台 在hive-defaul 阅读全文
posted @ 2020-08-24 00:46 Whatever_It_Takes 阅读(265) 评论(0) 推荐(0)
摘要: Hive表的数据压缩 数据的压缩说明 可使用以下三种标准对压缩方式进行评价 1、压缩比:压缩比越高,压缩后文件越小,所以压缩比越高越好 2、压缩时间:越快越好 3、已经压缩的格式文件是否可以再分割:可以分割的格式允许单一文件由多个Mapper程序处理,可以更好的并行化。比如说,一个300M的压缩文件 阅读全文
posted @ 2020-08-24 00:43 Whatever_It_Takes 阅读(1497) 评论(0) 推荐(1)
摘要: hive自定义函数 1、自定义函数的基本介绍 Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展。 当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function) 根据用户自 阅读全文
posted @ 2020-08-24 00:36 Whatever_It_Takes 阅读(305) 评论(0) 推荐(0)
摘要: Hive的常用函数 系统内置函数 #1.查看系统自带的函数 show functions; #2.显示自带的函数的用法 desc function upper; #3.详细显示自带的函数的用法 desc function extended upper; 取整函数 四舍五入round函数 语法: ro 阅读全文
posted @ 2020-08-24 00:33 Whatever_It_Takes 阅读(437) 评论(0) 推荐(0)
摘要: Hive的参数传递 查看hive的命令的参数 [hadoop@node03 ~]$ hive -help usage: hive -d,--define <key=value> Variable subsitution to apply to hive commands. e.g. -d A=B o 阅读全文
posted @ 2020-08-24 00:29 Whatever_It_Takes 阅读(1387) 评论(0) 推荐(0)
摘要: Hive可视化工具dbeaver dbeaver基本介绍 dbeaver是一个图形化的界面工具,专门用于与各种数据库的集成,通过dbeaver我们可以与各种数据库进行集成 通过图形化界面的方式来操作我们的数据库与数据库表,类似于我们的sqlyog或者navicat。 下载dbeaver 我们可以直接 阅读全文
posted @ 2020-08-24 00:27 Whatever_It_Takes 阅读(1254) 评论(0) 推荐(0)
摘要: Hive查询语法 基本查询 注意 SQL 语言大小写不敏感 SQL 可以写在一行或者多行 关键字不能被缩写也不能分行 各子句一般要分行写 使用缩进提高语句的可读性 5.1.1 查询全表和特定列 全表查询 select * from stu; 选择特定列查询 select id,name from s 阅读全文
posted @ 2020-08-24 00:26 Whatever_It_Takes 阅读(1378) 评论(0) 推荐(0)
摘要: Hive修改表结构 修改表的名称 -- 修改表名称语法: alter table old_table_name rename to new_table_name; alter table stu3 rename to stu4; 增加/修改/替换列 查看表结构 desc stu4; desc for 阅读全文
posted @ 2020-08-24 00:21 Whatever_It_Takes 阅读(577) 评论(0) 推荐(0)
摘要: Hive静态分区 表的分区字段的值需要开发人员手动给定 创建分区表 use db1; create table order_partition( order_number string, order_price double, order_time string ) partitioned BY(m 阅读全文
posted @ 2020-08-24 00:20 Whatever_It_Takes 阅读(134) 评论(0) 推荐(0)
摘要: Hive数据导入 1、直接向表中插入数据(强烈不推荐使用) insert into table score3 partition(month ='201807') values ('001','002','100'); 2、通过load加载数据(必须掌握) load data [local] inp 阅读全文
posted @ 2020-08-24 00:15 Whatever_It_Takes 阅读(252) 评论(0) 推荐(0)
摘要: hive的复合类型使用说明和实战 1、参数说明 #创建表的时候可以指定每行数据的格式,如果使用的是复合数据类型,还需要指定复合数据类型中的元素分割符 ROW FORMAT DELIMITED [FIELDS TERMINATED BY char [ESCAPED BY char]] [COLLECT 阅读全文
posted @ 2020-08-24 00:12 Whatever_It_Takes 阅读(174) 评论(0) 推荐(0)
摘要: hive的分区表 分区表的理解 如果hive当中所有的数据都存入到一个文件夹下面,那么在使用MR计算程序的时候,读取一整个目录下面的所有文件来进行计算(全表扫描),就会变得特别慢,因为数据量太大了 实际工作当中一般都是计算前一天的数据,所以我们只需要将前一天的数据挑出来放到一个文件夹下面即可,专门去 阅读全文
posted @ 2020-08-24 00:10 Whatever_It_Takes 阅读(621) 评论(0) 推荐(0)
摘要: Hive的DDL操作--数据库 下列的所有操作默认使用beeline方式。 创建数据库 create database db1; # 或者 create database if not exists db1; 显示所有数据库 0: jdbc:hive2://node03:10000> show da 阅读全文
posted @ 2020-08-24 00:07 Whatever_It_Takes 阅读(276) 评论(0) 推荐(1)
摘要: Hive的数据类型 基本数据类型 类型名称 描述 举例 boolean true/false true tinyint 1字节的有符号整数 1 smallint 2字节的有符号整数 1 int 4字节的有符号整数 1 bigint 8字节的有符号整数 1 float 4字节单精度浮点数 1.0 do 阅读全文
posted @ 2020-08-24 00:04 Whatever_It_Takes 阅读(315) 评论(0) 推荐(0)