
Spark
文章平均质量分 81
SparkSparkSparkSpark
风情客家__
简述需要300字以内_(¦3」∠)_
展开
-
在k8s环境下部署Spark分布式计算平台
Spark是分布式计算平台,是一个用scala语言编写的计算框架,基于内存的快速、通用、可扩展的大数据分析引擎。转载 2023-01-06 13:45:47 · 1470 阅读 · 0 评论 -
Debezium简介
参考:Debezium是一个开源项目,为捕获数据更改(change data capture,CDC)提供了一个低延迟的流式处理平台。你可以安装并且配置Debezium去监控你的数据库,然后你的应用就可以消费对数据库的每一个行级别(row-level)的更改。只有已提交的更改才是可见的,所以你的应用不用担心事务(transaction)或者更改被回滚(roll back)。Debezium为所有的数据库更改事件提供了一个统一的模型,所以你的应用不用担心每一种数据库管理系统的错综复杂性。转载 2022-09-15 16:08:35 · 2958 阅读 · 0 评论 -
Windows(Win10)搭建Spark开发环境
参考文章:本地Spark连接服务器hive测试HADOOP_HOME and hadoop.home.dir are unset 报错处理1. 官网下载spark下载地址(目前最新版本3.1.4):Downloads | Apache Spark下载完成后,spark目录下运行下面spark example时会报错:报错如下:HADOOP_HOME and hadoop.home.dir are unset...2. 问题解决第一步:下载winutils-mas.原创 2021-10-14 14:54:36 · 761 阅读 · 0 评论 -
Spark-Coalesce()方法和rePartition()方法
参考文章:Spark学习-Coalesce()方法和rePartition()方法最近使用spark中遇到了重分区的问题,本文对下面三篇文章内容按照自己逻辑进行整理,mark下!!https://www.cnblogs.com/fillPv/p/5392186.html https://blog.csdn.net/do_yourself_go_on/article/details/74315834 https://blog.csdn.net/u011981433/article/details/转载 2021-08-05 11:27:33 · 1165 阅读 · 0 评论 -
Spark面试题
参考文章:聊聊Spark中的宽依赖和窄依赖1. 关于"宽依赖"和"窄依赖"判断窄依赖的依据:父类分区内的数据,会被子类RDD中的指定的唯一一个分区所消费。错误观点:子RDD一个partition内的数据依赖于父类RDD的所有分区,则为宽依赖。原因:reduceTask只有一个的时候,只有一个分区,这个分区内的数据,肯定依赖于所有的父类RDD,但这是个窄依赖。宽依赖:父类RDD一个分区内的数据,会被子RDD内的多个分区消费,需要自行判断分区,来实现数据发送的效果。总...原创 2021-08-05 10:42:15 · 178 阅读 · 0 评论 -
Spark API 详解/大白话解释 之 map、mapPartitions、mapValues、mapWith、flatMap、flatMapWith、flatMapValues
参考文章:Spark API 详解/大白话解释 之 map、mapPartitions、mapValues、mapWith、flatMap、flatMapWith、flatMapValuesmap(function)map是对RDD中的每个元素都执行一个指定的函数来产生一个新的RDD。任何原RDD中的元素在新RDD中都有且只有一个元素与之对应。举例:val a = sc.parallelize(1 to 9, 3)val b = a.map(x => x*2)//x =>转载 2021-04-25 11:30:32 · 893 阅读 · 0 评论 -
Hive,Hive on Spark&Spark on Hive 和SparkSQL简介及区别分析
参考文章:Spark on Hive & Hive on Spark,傻傻分不清楚Hive,Hive on Spark和SparkSQL区别1. Hive on MapreduceHive的原理大家可以参考这篇大数据时代的技术hive:hive介绍,实际的一些操作可以看这篇笔记:新手的Hive指南,至于还有兴趣看Hive优化方法可以看看我总结的这篇Hive性能优化上的一些总结1.2 Hive on Mapreduce执行流程执行流程详细解析Step 1:UI(use原创 2021-04-16 16:42:36 · 523 阅读 · 0 评论 -
Spark TaskSet提交及执行准备
参考文章:Spark TaskSet提交及执行准备一个stage是由一组相同运算的task组成,他们分别计算不同的partition,stage的提交实际是向调度器提交一组包含相同计算的task,这里调度器的名字是TaskScheduler,其调度单位是taskset,stage在提交时使用了递归算法,会先提交没有parent stage的stage,代码如下: private def submitStage(stage: Stage) { val jobId = activeJobFo原创 2021-04-02 15:35:42 · 378 阅读 · 0 评论 -
Spark--什么是宽窄依赖,及特殊join算子,join时何时产生shuffle,何时不产生shuffle
参考文章:什么是宽窄依赖,及特殊join算子,join时何时产生shuffle,何时不产生shuffle1 什么是宽窄依赖宽依赖: 发生shuffle时,一定会产生宽依赖,宽依赖是一个RDD中的一个Partition被多个子Partition所依赖(一个父亲多有儿子),也就是说每一个父RDD的Partition中的数据,都可能传输一部分到下一个RDD的多个partition中,此时一定会发生shuffle 窄依赖: 一个RDD中的一个 Partition最多 被一个 子 Partition所依赖转载 2021-03-12 17:42:33 · 1102 阅读 · 0 评论 -
Spark宽依赖和窄依赖深度剖析
参考文章:Spark宽依赖和窄依赖深度剖析宽依赖和窄依赖深度剖析.pngRDD依赖关系与stage划分Spark中RDD的高效与DAG图有着莫大的关系,在DAG调度中需要对计算过程划分stage,而划分依据就是RDD之间的依赖关系,产生宽依赖时就会产生新的stage。1. 窄依赖与宽依赖针对不同的转换函数,RDD之间的依赖关系分为窄依赖(narrow dependency)和宽依赖(wide dependency,也成shuffle dependency)。1.1 窄依赖窄依转载 2021-03-12 15:12:09 · 1806 阅读 · 0 评论 -
Spark序列化简介
参考文章:Spark序列化Java序列化有关Java对象的序列化和反序列化也算是Java基础的一部分,首先对Java序列化的机制和原理进行一些介绍。Java序列化算法Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。为什么要进行序列化?Java中,一切都是对象,在分布式环境中经常需要将Object从这一端网络或设备传递到另一端。这就原创 2021-03-12 10:18:47 · 2533 阅读 · 0 评论 -
Spark 协同过滤(CF)如何将一直为Long类型的user转换为Rating中要求的int类型
参考文章:Spark 协同过滤(CF)如何将一直为Long类型的user转换为Rating中要求的int类型 (测试通过)/*** 问题:* 在对数据进行训练时,Rating要求的是int,int,double,但是现有的数据是long,string,double类 型,使用toInt进行转换时依然会报错,这是因为long类型转换成int类型已经超出了int的最大值。** 解决思路:* 创建两张映射表,将long类型的字段映射成int类型(使用row_num...转载 2021-01-25 10:52:35 · 472 阅读 · 0 评论 -
Spark Dataset (DataFrame) 常见操作
参考文章:Spark学习之Dataset (DataFrame) 的基础操作Spark创建DataFrame的三种方法一. 有类型操作1.转换类型的操作转换类型的操作主要包含:flatMap、map、mapPartitions、transform、as(1)flatMap方法描述:通过flatMap可以将一条数据转为一个数组, 后再展开这个数组放入 Datasetval ds: Dataset[String] = Seq("hello spark","hello hadoo..转载 2021-01-25 09:25:03 · 4085 阅读 · 0 评论 -
SPARK-SQL内置函数之时间日期类
参考文章:SPARK-SQL内置函数之时间日期类一、获取当前时间1.current_date获取当前日期2018-04-092.current_timestamp/now()获取当前时间2018-04-09 15:20:49.247二、从日期时间中提取字段1.year,month,day/dayofmonth,hour,minute,secondExamples:>SELECT day('2009-07-30');302.dayofweek(1 ...转载 2021-01-22 13:42:57 · 2705 阅读 · 0 评论 -
Spark中ml和mllib的区别
参考文章:Spark中ml和mllib的区别Spark中ml和mllib的主要区别和联系如下:ml和mllib都是Spark中的机器学习库,目前常用的机器学习功能2个库都能满足需求。 spark官方推荐使用ml, 因为ml功能更全面更灵活,未来会主要支持ml,mllib很有可能会被废弃(据说可能是在spark3.0中deprecated)。 ml主要操作的是DataFrame, 而mllib操作的是RDD,也就是说二者面向的数据集不一样。相比于mllib在RDD提供的基础操作,ml在DataF转载 2021-01-21 09:38:29 · 893 阅读 · 0 评论 -
Spark ML 协同过滤算法
参考文章:Spark ML 协同过滤算法1 什么是协同过滤协同过滤是利用集体智慧的一个典型方法。要理解什么是协同过滤 (Collaborative Filtering, 简称 CF),首先想一个简单的问题,如果你现在想看个电影,但你不知道具体看哪部,你会怎么做?大部分的人会问问周围的朋友,看看最近有什么好看的电影推荐, 而我们一般更倾向于从口味比较类似的朋友那里得到推荐。这就是协同过滤的核心思想。换句话说,就是借鉴和你相关人群的观点来进行推荐,很好理解。2 协同过滤的实现要实现协同过滤的转载 2020-12-15 15:20:39 · 504 阅读 · 0 评论 -
Spark内存调优
1.Spark 资源调优内存管理:Executor的内存主要分为三块:第一块是让task执行我们自己编写的代码时使用,默认是占Executor总内存的20%; 第二块是让task通过shuffle过程拉取了上一个stage的task的输出后,进行聚合等操作时使用,默认也是占Executor总内存的20%; 第三块是让RDD持久化时使用,默认占Executor总内存的60%。每个task以及每个executor占用的内存需要分析一下。每个task处理一个partiiton的数据,分转载 2020-07-21 11:14:42 · 220 阅读 · 0 评论 -
Spark核心原理及特性简介
参考文章:Spark 以及 spark streaming 核心原理及实践导语spark 已经成为广告、报表以及推荐系统等大数据计算场景中首选系统,因效率高,易用以及通用性越来越得到大家的青睐。本文依次从spark生态,原理,基本概念,spark streaming原理及实践,还有spark调优以及环境搭建等方面进行介绍,希望对大家有所帮助。1. spark 生态及运行原理2. Spark 特点 运行速度快 => Spark拥有DAG执行引擎,支持在内存中对数据进行迭代转载 2020-07-21 09:38:56 · 1943 阅读 · 0 评论 -
Spark2.x RPC解析
参考文章:Spark2.x RPC解析1、概述在Spark中很多地方都涉及网络通信,比如Spark各个组件间的消息互通、用户文件与Jar包的上传、节点间的Shuffle过程、Block数据的复制与备份等。Spark 2.0 之后,master 和worker 之间完全不使用akka 通信,改用netty实现。因为使用Akka要求message发送端和接收端有相同的版本,为了避免Akka造成的版本问题,给用户的应用更大灵活性,决定使用更通用的RPC实现。spark 基于netty新的rpc框架借鉴转载 2020-06-17 12:02:00 · 332 阅读 · 0 评论 -
用户画像之Spark ML实现
参考文章:用户画像之Spark ML实现1. Spark ML简单介绍 Spark ML是面向DataFrame编程的。Spark的核心开发是基于RDD(弹性分布式数据集),但是RDD,但是RDD的处理并不是非常灵活,如果要做一些结构化的处理,将RDD转换成DataFrame,DataFrame实际上就是行对象的RDD+schema,类似于原本的文本数据,加上schema,做一下结构的转换就变成数据库里面的表,表是有元数据的,有字段有类型。所以DataFrame处理起来更加灵活。要...转载 2020-06-17 10:10:22 · 1331 阅读 · 0 评论 -
用户画像简介
参考文章:推荐系统——用户画像1. 用户画像1.1 用户画像定义用户画像:也叫用户信息标签化、客户标签;根据用户社会属性、生活习惯和消费行为等信息而抽象出的一个标签化的用户模型。从电商的角度看,根据你在电商网站上所填的信息和你的行为,可以用一些标签把你描绘出来,描述你的标签就是用户画像。构建用户画像的核心工作即是给用户贴“标签”,而标签是通过对用户信息分析而来的高度精炼的特征标识。用户画像不是推荐系统的目的,而是在构建推荐系统的过程中产生的一个关键环节的副产品,包括但不仅限于用户的注册资料、原创 2020-06-15 15:49:21 · 3855 阅读 · 0 评论 -
spark标签计算及用户画像应用
参考文章:Spark(二)—— 标签计算、用户画像应用一、标签计算数据86913510 {"reviewPics":[],"extInfoList":null,"expenseList":null,"reviewIndexes":[1,2],"scoreList":[{"score":5,"title":"环境","desc":""},{"score":5,"title":"服务","desc":""},{"score":5,"title":"口味","desc":""}]}8691351转载 2020-06-16 16:57:35 · 1338 阅读 · 0 评论 -
spark-用户画像demo
参考文章:如何基于Spark进行用户画像spark-用户画像demon转载 2020-06-16 09:40:01 · 2426 阅读 · 0 评论 -
Scala之flatMap操作
参考文章:Scala之flatMap操作个人理解调用flatMap方法的是一个可迭代集合(注意:字符串是一个可迭代集合,字符串中的元素为字符) 什么类型调用的flatMap方法,则返回的也是什么类型 flatMap = map + flatten 即先对集合中的每个元素进行map,再对map后的每个元素(map后的每个元素必须还是集合)中的每个元素进行flatten 进行map的对象可以是只含一层的集合,但进行flatten操作的对象必需是至少含两层的集合实例讲解实例一:va转载 2020-06-08 09:47:28 · 949 阅读 · 0 评论 -
SparkSql中Dataset(DataFrame)操作
参考文章:Spark SQL中的Encoder以下错误,想必在做Spark的DateSet操作时一定是见过吧?Error:(58, 17) Unable to find encoder for type stored in a Dataset. Primitive types (Int, String, etc) and Product types (case classes) are supported by importing spark.implicits._ Support for转载 2020-06-05 10:56:10 · 688 阅读 · 0 评论 -
spark的RDD中的action(执行)和transformation(转换)两种操作中常见函数介绍
参考文章:spark的RDD中的action(执行)和transformation(转换)两种操作中常见函数介绍spark常见的RDD1. 函数概览2. Spark 的12个Actions 操作函数总结及举例Actions算子是Spark算子的一类,这一类算子会触发SparkContext提交job作业。下面介绍常用的Spark支持的actions。1. reduce(func)使用函数func(两个输入参数,返回一个值)对数据集中的元素做聚集操作。函数func必须是可交.原创 2020-06-03 15:37:58 · 1526 阅读 · 0 评论 -
SparkRDD简介
参考文章:spark的RDD中的action(执行)和transformation(转换)两种操作中常见函数介绍spark常见的RDDspark的RDD中的action(执行)和transformation(转换)两种操作中常使用的函数0. RDD产生背景为了解决开发人员能在大规模的集群中以一种容错的方式进行内存计算,提出了 RDD 的概念,而当前的很多框架对迭代式算法场景与交互性数据挖掘场景的处理性能非常差, 这个是RDDs 的提出的动机。1.RDD定义RDD 是 Spark 的.转载 2020-06-03 10:48:37 · 313 阅读 · 0 评论 -
Spark为何使用Netty通信框架替代Akka(TODO)
参考文章:Spark为何使用Netty通信框架替代Akka问题导读:1. spark 如何在1.6.0之后使用Netty替代了Akka?2. Spark Network Common怎么实现?3. BlockTransfer 与 Shuffle 之间的联系?4. Akka 实现原理是什么?解决方案:一直以来,基于Akka实现的RPC通信框架是Spark引以为豪的主要特性,也是与Hadoop等分布式计算框架对比过程中一大亮点,但是时代和技术都在演化,从Spark1.3.1版本开始,为了转载 2020-06-08 09:12:31 · 966 阅读 · 0 评论 -
CDH在yarn上运行程序乱码
参考文章:CDH在yarn上运行程序乱码安装完成CDH后,在yarn上不管是使用hive运行mapreduce还是spark,中文全都会乱码。1. linux的环境变量设置字符集vi /etc/profileexport LANG=zh_CN.UTF-82. 修改mapreduce的环境变量hadoop-env.shexport HADOOP_OPTS="-server -Dfile.encoding=utf-8 -Duser.language=zh"CM界面yarn配转载 2020-05-28 17:18:43 · 1104 阅读 · 1 评论 -
Spark-利用SparkLauncher 类以JAVA API 编程的方式提交spark job
参考文章:Spark-利用SparkLauncher 类以JAVA API 编程的方式提交spark job一.环境说明和使用软件的版本说明:hadoop-version:hadoop-2.9.0.tar.gzspark-version:spark-2.2.0-bin-hadoop2.7.tgzjava-version:jdk1.8.0_151集群环境:单机伪分布式环境。二.适用背景在学习Spark过程中,资料中介绍的提交Spark Job的方式主要有两种(我所知道的):..转载 2020-05-22 09:33:27 · 826 阅读 · 0 评论 -
Spark创建DataFrame的几种方式
参考文章:Spark创建DataFrame的几种方式创建DataFrame的几种方式如要生成如下的DataFrame数据+----+---+-----------+|name|age| phone|+----+---+-----------+|ming| 20|15552211521||hong| 19|13287994007|| zhi| 21|15552211523|+----+---+-----------+1234567第一种:通过Seq生成val ...转载 2020-05-21 21:04:34 · 777 阅读 · 0 评论 -
springboot基于spark-launcher构建rest api远程提交spark任务
参考文章:使用springboot构建rest api远程提交spark任务github代码链接:github地址1. spark集群及版本信息服务器版本:centos7hadoop版本:2.8.3spark版本:2.3.3使用springboot构建rest api远程提交spark任务,将数据库中的表数据存储到hdfs上,任务单独起一个项目,解除与springboot项目的耦合2. 构建springboot项目1. pom配置 <properties> ...转载 2020-05-21 22:10:47 · 2937 阅读 · 0 评论 -
Kudu之Spark操作
参考文章:kudu之spark操作转载 2020-05-07 10:33:37 · 2861 阅读 · 0 评论 -
Spark 提交任务详解(todo)
参考文章:Spark 提交任务详解Running Spark on YARNcluster mode :$ ./bin/spark-submit --class org.apache.spark.examples.SparkPi \ --master yarn \ --deploy-mode cluster \ --driver-memory 4g \ ...转载 2020-05-02 10:08:48 · 592 阅读 · 0 评论 -
java Web提交Spark任务(todo)
参考文件:Java Web提交任务到Spark Spark通过Java Web提交任务windows7 (包含JDK1.8,MyEclipse2014,IntelliJ IDEA14,TOmcat7);centos6.6虚拟机(Hadoop伪分布式集群,SparkstandAlone集群,JDK1.8);centos7虚拟机(Tomcat,JDK1.8);1.场景1. wind...转载 2020-05-02 10:07:32 · 666 阅读 · 0 评论 -
impala presto SparkSql性能测试对比
参考文章:impala presto SparkSql性能测试对比目标是为测试impala presto SparkSql谁的性能更佳,以下结果底层查询的都是普通textfile snappy压缩后数据,规模为15台机器,若以orcfile、parquet速度能快数倍impala与presto性能相当,SparkSql逊色不少。目前看presto相比impala与hive实时共享元...转载 2019-12-23 14:49:19 · 660 阅读 · 0 评论 -
Spark SQL运行原理
文章内容摘自<<图解Spark核心技术与案例实战>>详细内容请参考书中原文一、简介 介绍Spark SQL,就不得不提Hive和Shark。Hive是Shark的前身,Shark是Spark SQL的前身。 Shark是由伯克利实验室技术团队开发的Spark生态环境组件之一,它扩展了Hive并修改了Hive架构中的内存管理、物理计划和执行3个模块,使之可以运行在...转载 2018-05-03 20:07:34 · 707 阅读 · 0 评论 -
Spark RDD之Partition
概要Spark RDD主要由Dependency、Partition、Partitioner组成,Partition是其中之一。一份待处理的原始数据会被按照相应的逻辑(例如jdbc和hdfs的split逻辑)切分成n份,每份数据对应到RDD中的一个Partition,Partition的数量决定了task的数量,影响着程序的并行度,所以理解Partition是了解spark背后运行原理的第一步。P...转载 2018-04-27 14:27:49 · 3411 阅读 · 0 评论 -
Spark常用算子讲解
Spark的算子的分类 从大方向来说,Spark 算子大致可以分为以下两类: 1)Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理。 Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算。 2)Action 行...转载 2018-04-27 14:48:53 · 405 阅读 · 0 评论 -
spark job, stage ,task介绍
1. spark 如何执行程序?首先看下spark 的部署图: 节点类型有:1. master 节点: 常驻master进程,负责管理全部worker节点。2. worker 节点: 常驻worker进程,负责管理executor 并与master节点通信。dirvier:官方解释为: The process running the main() function of the applicat...转载 2018-04-27 15:21:12 · 185 阅读 · 0 评论