Spark
文章平均质量分 68
Spark
Yanko24
不知不若闻之,闻之不若见之,见之不若知之,知之不若行之,学止于行而至矣,行之,明也。
展开
-
Hadoop集群搭建之Hive on Spark
Hadoop集群搭建之Hive on Spark用到的各个组件的版本组件版本hadoop3.3.1hive3.1.2spark2.4.6scala2.12.101. 准备工作# 下载spark的源码wget https://downloads.apache.org/spark/spark-2.4.6/spark-2.4.6.tgz2. 编译spark源码# 解压源码到目录下tar -zvxf spark-2.4.6.tgz &&am原创 2021-12-05 14:59:37 · 2047 阅读 · 0 评论 -
Spark的运行环境_Yarn
Spark的运行环境_Yarn独立部署(Standalone)模式由Spark自身提供计算资源,无需其它框架提供资源。这种方式降低了和其它第三方资源框架的耦合性,独立性非常强。但是由于Spark本身是计算框架,所以本身提供的资源调度并不是它的强项。1. 解压缩文件将spark-2.4.6.tgz文件上传到CentOS并解压缩,放置在指定位置。2. 修改配置文件修改hadoop配置文件/opt/app/hadoop-2.7.7/etc/hadoop/yarn-site.xml,并分发 <原创 2021-06-03 10:05:51 · 174 阅读 · 0 评论 -
Spark的运行环境_Standalone
Spark的运行环境_Standalone只使用Spark自身节点运行的集群模式,也就是我们所谓的独立部署(Standalone)模式。Spark的Standalone模式体现了经典的master-slave模式。1. 解压缩文件将spark-2.4.6文件上传到CetnOS并解压在指定位置2. 修改配置文件进入解压缩后的路径的conf目录,修改slaves.template文件名为slavesmv slaves.template slaves修改salves文件,添加work节点原创 2021-06-03 10:05:18 · 179 阅读 · 0 评论 -
Spark的运行环境_Local
Spark的运行环境_LocalSpark作为一个数据处理框架和计算引擎,被设计在所有常见的集群环境中运行,在国内工作中主流的环境为Yarn。1. Local模式所谓的Local模式,就是不需要其他任何节点资源就可以在本地执行Spark代码的环境,一般用于教学、调试、演示等。1. 启动Local环境进入解压缩后的路径,执行如下命令bin/spark-shell启动成功后,可以输入网址进行Web UI监控页面访问http://虚拟机地址:40402. 命令行工具在原创 2021-06-03 10:04:45 · 432 阅读 · 2 评论 -
Spark核心编程_累加器和广播变量
Spark核心编程_累加器和广播变量1. 累加器累加器用来把Executor端变量信息聚合到Driver端。在Driver程序中定义的变量,在Executor端的每个Task都会得到这个变量的一份新的副本,每个task更新这些副本的值后,传回Driver端进行merge。1. 系统累加器// TODO 业务逻辑val rdd: RDD[Int] = sc.makeRDD(List(1, 2, 3, 4), 2)// Spark默认就提供了简单数据聚合的累加器val sumAcc: LongA原创 2021-06-02 09:21:52 · 169 阅读 · 0 评论 -
Spark核心编程_RDD
Spark核心编程_RDD1. RDD创建从集合(内存)中创建RDD从集合中创建RDD,Spark主要提供了两个方法:parallelize和makeRDDval sparkConf = new SparkConf().setMaster("local[*]").setAppName(this.getClass.getSimpleName.filter(!_.equals('$')))val sparkContext = new SparkContext(sparkConf)val rdd1原创 2021-06-02 09:21:03 · 262 阅读 · 0 评论 -
Spark核心编程
Spark核心编程Spark计算框架为了能够进行高并发和高吞吐的数据处理,封装了三大数据结构,用于处理不同的应用场景。三大数据结构分别是:RDD:弹性分布式数据集累加器:分布式共享只写变量广播变量:分布式共享只读变量1. RDD1. 什么是RDDRDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据处理模型。代码中是一个抽象类,它代表一个弹性的、不可变、可分区、里面的原宿可并行计算的集合。弹性存储的弹性:内存与磁盘的自动原创 2021-06-02 09:20:11 · 213 阅读 · 1 评论 -
Spark Streaming概述
Spark Streaming概述1. Spark StreamingSpark Streaming用于流式数据的处理。但是Spark Streaming本质上是准实时的,微批次的数据处理框架。Spark Streaming使用离散化流(discretized stream)作为抽象表示,叫做DStream。DStream是随着时间推移而收到的数据的序列。DStream就是对RDD在实时数据处理场景的一种封装。2. Spark Streaming的特点易用容错易整合到Spark体系3.原创 2021-04-04 18:11:15 · 404 阅读 · 4 评论 -
SparkSQL核心编程
SparkSQL核心编程1. 构建SparkSQL环境在老的版本中,SparkSQL提供了两种SQL查询起始点:一个SQLContext,用于Spark自己提供的SQL查询;一个HiveContext,用于连接Hive的查询。SparkSession是Spark最新的SQL查询起始点,实际上是SQLContext和HiveContext的组合。SparkSession内部封装了SparkContext,所以计算实际上由SparkContext完成的。当我们使用Spark-shell的时候,spark框原创 2021-04-01 22:25:39 · 223 阅读 · 0 评论 -
Spark的运行架构
Spark的运行架构1. 运行架构Spark框架的核心是一个计算引擎,整天来说,它使用了标准的master-slave的结构。图形中的Driver表示master,负责管理整个集群中的作业任务调度。图形中的Executor则是salve,负责实际执行任务。2. 核心组件1. DriverSpark驱动器节点,用于执行Spark任务中的main方法,负责实际代码的执行工作。Driver在Spark作业执行时主要负责:将用户程序转化为作业(job)在Executor之间调度任务(task)根原创 2021-03-28 16:13:07 · 1828 阅读 · 0 评论 -
Spark简介
Spark简介1. 什么是SparkSpark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎2. Spark和Hadoop- Hadoop - Hadoop是由Java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架 - 作为Hadoop分布式文件系统,HDFS处于Hadoop生态圈的最底层,存储着所有的数据,支持着Hadoop的所有服务。它的理论基础源于Google的《TheGoogleFileSystem》这篇论文,是GFS的开源实现 - MapRedu原创 2021-03-28 16:12:26 · 142 阅读 · 0 评论 -
SparkSQL概述
SparkSQL概述1. SparkSQL是什么SparkSQL是Spark用于结构化数据(structured data)处理的Spark模块。2. SparkSQL的发展数据兼容方面:SparkSQL不但兼容Hive,还可以从RDD、parquet文件、JSON文件中获取数据,未来版甚至支持获取RDBMS数据以及cassandra等NOSQL数据性能优化方面:出来才去In-Memory Columnar Storage、byte-code generation等优化技术外、将会引进Cost原创 2021-03-28 16:10:16 · 760 阅读 · 0 评论 -
Spark常见的Transformation算子(四)
Spark常见的Transformation算子(四)原始数据println("======================= 原始数据 ===========================")val data1: RDD[String] = sc.parallelize(List("hello", "world", "spark", "hello", "spark", "hello", ...原创 2020-01-14 15:44:38 · 295 阅读 · 0 评论 -
Spark常见的Transformation算子(三)
Spark常见的Transformation算子(三)初始化数据println("======================= 原始数据 ===========================")val data1: RDD[Int] = sc.parallelize(1 to 10, 3)println(s"原始数据为:${data1.collect.toBuffer}")val d...原创 2020-01-13 15:39:42 · 236 阅读 · 0 评论 -
Spark常见的Transformation算子(二)
Spark常见的Transformation算子(二)初始化数据println("======================= 原始数组 ===========================")val data: RDD[String] = sc.textFile("src/main/data/test.txt")println(s"原始数据为:${data.collect.toBuf...原创 2020-01-13 13:25:27 · 214 阅读 · 0 评论 -
Spark常见的Transformation算子(一)
Spark常见的Transformation算子(一)parallelize将一个存在的集合,转换成一个RDD/** Distribute a local Scala collection to form an RDD. * * @note Parallelize acts lazily. If `seq` is a mutable collection and is altered a...原创 2020-01-13 10:47:51 · 451 阅读 · 0 评论 -
Spark的分区器(Partitioner)
Spark的分区器(Partitioner)HashPartitioner(默认的分区器) HashPartitioner分区原理是对于给定的key,计算其hashCode,并除以分区的个数取余,如果余数小于0,则余数+分区的个数,最后返回的值就是这个key所属的分区ID,当key为null值是返回0。源码在org.apache.spark包下,实现如下:class HashPartiti...原创 2020-01-12 14:49:23 · 1434 阅读 · 0 评论 -
使用IDEA和SBT构建Spark程序
使用IDEA和SBT构建Spark程序1. 打开IDEA创建一个Scala项目,选择sbt2. 选择合适的sbt版本和scala版本3. 创建完成之后会从远程服务器拉取一些项目的信息,可能比较慢4. 完成后的项目结构如图所示5. 编辑build.sbt文件,导入spark-core依赖// 可以直接去maven的中央仓库去找,选择sbt复制即可// https://mvnre...原创 2020-01-08 13:11:02 · 2166 阅读 · 1 评论