摘要:在执行Spark的应用程序时,Spark集群会启动Driver和Executor两种JVM进程,前者为主控进程,后者负责执行具体的计算任务。 由于Driver的内存管理相对简单,本文主要对Executor的内存管理进行分析,下文中的Spark内存均特指Executor的内存。 1.堆内存和堆外内存
阅读全文
摘要:1.Shuffle简介 Shuffle描述着数据从map task输出到reduce task输入的这段过程。shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过shuffle这个环节,shuffle的性能高低直接影响了整个程序的性能和吞吐量。 因为在分布式情
阅读全文
摘要:1.任务调度 (1)在使用spark-summit或者spark-shell提交spark程序后,根据提交时指定(deploy-mode)的位置,创建driver进程,driver进程根据sparkconf中的配置,初始化sparkcontext。Sparkcontext的启动后,创建DAG Sch
阅读全文
摘要:Spark 内核泛指 Spark 的核心运行机制,包括 Spark 核心组件的运行机制、Spark 任务调度机制、Spark 内存管理机制、Spark 核心功能的运行原理。 1、Spark核心组件 1.1 Driver Spark 驱动器节点,用于执行 Spark 任务中的 main 方法,负责实际
阅读全文
摘要:checkpoint 检查点是很多分布式系统的常用容错容灾机制,其本质就是将系统运行时的内存数据结构和状态持久化到磁盘上,在需要的时候对这些数据进行读取,然后重新构造出运行时的状态。 在Spark中使用检查点就是为了将RDD的状态保存下来,在重新执行时就不需要计算,直接从检查点读取即可 1.什么时候
阅读全文
摘要:1.1. RDD的缓存 Spark速度非常快的原因之一,就是在不同操作中可以在内存中持久化或缓存数据集。 当持久化某个RDD后,每一个节点都将把计算的分片结果保存在内存中,并在对此RDD或衍生出的RDD进行的其他动作中重用。这使得后续的动作变得更加迅速。 RDD相关的持久化和缓存,是Spark最重要
阅读全文
摘要:1.RDD 1.1定义 1.1.1 数据集 存储数据的计算逻辑 1.1.2 分布式 数据得来源,数据得存储 1.1.3 弹性 (1)血缘(依赖关系):spark可以通过特殊的处理方案简化依赖关系(2)计算:Spark是基于内存的,性能特别高,可以和键盘灵活切换(3)分区:Spark在创建默认分区后,
阅读全文
摘要:package spark2020 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object RddCreate { def main(args:Array[String]):Un
阅读全文
摘要:1.fetch抓取 全局查找,字段查找,limit查找都不走mapreduceset hive.fetch.task.conversion=more; 2.本地模式 小数据集查询,为查询触发执行任务消耗的时间可能会比实际job执行时间大得多set hive.exec.mode.local.auto=
阅读全文
摘要:1.本地目录 hadoop jar /home/kg/phone_local.jar corina.wordCount.wordLocal.WordcountDriver /home/kg/hello.txt /home/kg/result package corina.wordCount.word
阅读全文
摘要:1.UDF(user-defined function) 一进一出(一行数据) 1.1 定义函数 (1)继承 org.apache.hadoop.hive.ql.exec.UDF (2)需要实现evaluate函数,evaluate()支持重载 (3)UDF必须有返回值类型,可以返回null,但不能
阅读全文
摘要:1.concat:将同一行数据拼接 drop table student; create table if not exists student ( name string, orderdate string, cost int, sex string, dep string, class stri
阅读全文
摘要:1、over()窗口函数的语法结构 分析函数 over(partition by 列名 order by 列名 rows between 开始位置 and 结束位置) 分析函数 over(distribute by 列名 sort by 列名 rows between 开始位置 and 结束位置)
阅读全文
摘要:1.insert 将查询结果直接导出到本地 insert overwrite local directory "kg/qiaoruihua/hive/emp" select * from student; insert overwrite local directory "kg/qiaoruihua
阅读全文
摘要:1.从外部文件系统向表中加载数据 load [overwrite] into load data [local] inpath "" [overwrite] into table table_name [partition(col_name="")] local:表示从本地加载数据到HIVE表,否则
阅读全文
摘要:1.创建表 create [external] table [if not exists] table_name (col_name data_type) [partitioned by col_name data_type] [clustered by col_name,col_name] [so
阅读全文
摘要:1. 分区表 静态分区(Static Partitioning)动态分区(Dynamic Partitioning) 分区创建 数据插入分区之前,需要手动创建每个分区 根据表的输入数据动态创建分区 适用场景 需要提前知道所有分区。适用于分区定义得早且数量少的用例 有很多分区,无法提前预估新分区,动态
阅读全文
摘要:1. 内部表(管理表): 默认是内部表,数据存储默认在配置项hive.metastore.warehouse.dir(/user/hive/warehouse)数据由Hive管理,drop删除时,元数据和实际数据都会被删除 2. 外部表 数据不由Hive管理,drop删除时,只删除元数据,不删除实际
阅读全文
摘要:1.创建数据库 --创建数据库 create database db_hive; --避免已存在 create database if not exists db_hive; --指定HDFS位置,默认"/user/hive/warehouse" create database db_hive lo
阅读全文
摘要:Hive支持两种数据类型,一类叫原子数据类型,一类叫复杂数据类型。 1. 基本数据类型 hive不支持日期类型,在hive里日期都是用字符串来表示的,而常用的日期格式转化操作则是通过自定义函数进行操作。 2. 复杂数据类型 复杂数据类型包括数组(ARRAY)、映射(MAP)和结构体(STRUCT)
阅读全文
摘要:1.安装hive 1.1 修改文件 mv apache-hive-2.3.0-bin hive-2.3.0 1.2 修改/opt/module/hive-2.3.0/conf目录下的hive-env.sh.template为hive-env.sh HADOOP_HOME=/opt/module/ha
阅读全文
摘要:1.基本概念 hive是由facebook开源用于解决海量结构化日志的数据统计 hive是基于Hadoop得一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类sql查询功能 本质:将HQL转化为mapreduce程序 (1)hive处理的数据存储在HDFS (2)hive分析数据的底层的
阅读全文
摘要:1.缺失值处理 1.1 删除:样本存在大量缺失值,直接删除样本,如物业管理费 1.2 填充:全局常量,统计方法(平均数,中位数,众数),机器学习模型 电梯:六楼及以下的没有电梯,六楼以上的有电梯 修建年份:经纬度相同的数据进行中位数填充 绿化率:众数填充 1.3 不处理 2.异常值处理 简单统计法,
阅读全文