spark(四)】的更多相关文章

目录 测试准备 一.Value类型转换算子 map(func) mapPartitions(func) mapPartitions和map的区别 mapPartitionsWithIndex(func) flatMap(func) glom groupBy(func) filter(func) sample(withReplacement, fraction, seed):抽样 distinct([numTasks]))去重 coalesce(numPartitions)重分区 repartit…
SparkSQL是指整合了Hive的spark-sql cli, 本质上就是通过Hive访问HBase表,具体就是通过hive-hbase-handler, 具体配置参见:Hive(五):hive与hbase整合 目录: SparkSql 访问 hbase配置 测试验证 SparkSql 访问 hbase配置:  拷贝HBase的相关jar包到Spark节点上的$SPARK_HOME/lib目录下,清单如下: guava-.jar htrace-core--incubating.jar hbas…
一. spark 2  版本 相对于以前版本的变化 spark core  : Accumulators (累加器):性能更好,页面上也可以看到累加器的信息 spark sql: 1. 2.DataSet(合并了之前的dataFrame) spark 2 里面没有dataframe了,dataframe只是dataset的一部分 3.对sql语句的支持更好 在spark 1.x的时候是不支持子查询.但是spark2 的时候可以了 二.spark 为什么由 1  升级到 2…
1) MapReduce:是一种离线计算框架,将一个算法抽象成Map和Reduce两个阶段进行 处理,非常适合数据密集型计算. 2) Spark:MapReduce计算框架不适合迭代计算和交互式计算,MapReduce是一种磁盘 计算框架,而Spark则是一种内存计算框架,它将数据尽可能放到内存中以提高迭代 应用和交互式应用的计算效率. 3) Storm:MapReduce也不适合进行流式计算.实时分析,比如广告点击计算等,而 Storm则更擅长这种计算.它在实时性要远远好于MapReduce计…
Spark 三种运行模式  一:Spark On Local     此种模式下,我们只需要在安装Spark时不进行hadoop和Yarn的环境配置,只要将Spark包解压即可使用,运行时Spark目录下的bin目录执行bin/spark-shell即可 二:Spark On Local Cluster(Spark Standalone)伪分布式 Standalone模式是Spark实现的资源调度框架,其主要的节点有Client节点.Master节点和Worker节点.其中Driver既可以运行…
基本信息 作者: Spark亚太研究院   王家林 丛书名:决胜大数据时代Spark全系列书籍 出版社:电子工业出版社 ISBN:9787121247446 上架时间:2015-1-6 出版日期:2015 年1月 开本:16 页码:812 版次:1-1 所属分类: 计算机 > 数据库 > 数据库存储与管理 编辑推荐 Life is short, you need Spark! Spark是当今大数据领域最活跃最热门的高效的大数据通用计算平台.基于RDD,Spark成功地构建起了一体化.多元化的…
一.安装JDK(具体安装省略) 二.安装Scala(具体安装省略) 三.安装IDEA 1.打开后会看到如下,然后点击OK…
首先我们从宏观的视角来窥视下大数据技术框架: 图1 大数据技术框架 从图1可以看出,数据源-数据收集-数据存储-资源管理,这是我们进行数据分析和处理的基本;图中的计算框架包括批处理.交互式分析和流处理: 批处理计算:对时间没有严格要求,吞吐率要高 交互式计算:支持类SQL语言,快速进行数据分析 流式计算:数据像流水一样进入系统,需实时对其处理和分析 不同的计算框架的实时性要求是逐渐增强的,spark在整个大数据技术框架中属于第4层计算框架,spark能很好地满足这三种计算要求,这也是spark这…
一.spark 学习 1. spark学习的三种地方: (1)Spark.apache.org    官方文档 (2)spark的源代码的官方网站 https://github.com/apache/spark (3)spark的官方的博客 https://databricks.com/blog 大数据改变了世界,spark改变了大数据 2. Apache Spark™ is a fast and general engine for large-scale data processing. 处…
来源EDB2018---EDB 一.摘要: 组推荐是将一种项目(例如产品.服务)推荐给由多个成员组成的组的方法. 最小痛苦法(least Misery)是一种具有代表性的群体推荐方法,其能够推荐考虑群体不满意的项目,但存在推荐准确率低的缺点. 均值法推荐精度较高,但是不能考虑群体的不满意项目. 本文提出一种基于机会成本和个人活动的群组推荐方法,[机会成本,当选择特定项目时所丢弃的剩余项目的最大值],其优点:考虑了准确度以及满意度. 二.介绍: 协同过滤是一种传统的推荐算法,可以给用户推荐新的项目…
 YARN资源调度: 三种 FIFO 大任务独占 一堆小任务独占 capacity 弹性分配 :计算任务较少时候可以利用全部的计算资源,当队列的任务多的时候会按照比例进行资源平衡. 容量保证:保证队列可以获取到资源利用. 安全:ACL访问控制限制 用户只能向自己的队列提交任务. Fair Yarn资源调度模型: 当向yarn提交任务之后,ResourceManager会启动NodeManager. NodeManager会启动APPManager. APPManager向ResourceMan…
一.简介 hive由Facebook开源用于解决海量结构化日志的数据统计.hive是基于Hadoop的一个数据仓库工具,是基于Hadoop之上的,文件是存储在HDFS上的,底层运行的是MR程序.hive可以将结构化的数据文件映射成一张表,并提供类SQL查询功能. 二.HIVE特点 构建在Hadoop之上的数据仓库 使用HQL作为查询接口 使用HDFS存储 使用MapReduce计算 本质:将HQL转化成MapReduce程序 灵活性和扩展性比较好:支持UDF.自定义存储格式等 适合离线数据处理…
 YARN资源调度: 三种 FIFO 大任务独占 一堆小任务独占 capacity 弹性分配 :计算任务较少时候可以利用全部的计算资源,当队列的任务多的时候会按照比例进行资源平衡. 容量保证:保证队列可以获取到资源利用. 安全:ACL访问控制限制 用户只能向自己的队列提交任务. Fair Yarn资源调度模型: 当向yarn提交任务之后,ResourceManager会启动NodeManager. NodeManager会启动APPManager. APPManager向ResourceMan…
标签(空格分隔): Spark 作业提交 先回顾一下WordCount的过程: sc.textFile("README.rd").flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_+_) 步骤一:val rawFile = sc.textFile("README.rd") texyFile先生成HadoopRDD --> MappedRDD:…
之前也介绍过使用yarn api来submit spark任务,通过提交接口返回applicationId的用法,具体参考<Spark2.3(四十):如何使用java通过yarn api调度spark app,并根据appId监控任务,关闭任务,获取任务日志>; 但是我更喜欢使用该篇文章中介绍的使用java来调用spark-submit.sh shell提交任务,并从spark-sbumit.sh执行界面获取applicationId的方案.使用hadoop api方式需要配置好环境,以及根据…
为什么要使用广播(broadcast)变量? Spark中因为算子中的真正逻辑是发送到Executor中去运行的,所以当Executor中需要引用外部变量时,需要使用广播变量.进一步解释: 如果executor端用到了Driver的变量,如果不使用广播变量在Executor有多少task就有多少Driver端的变量副本. 如果Executor端用到了Driver的变量,如果使用广播变量在每个Executor中只有一份Driver端的变量副本. Spark中Broadcast定义 官网定义: A…
本次此时是在SPARK2,3 structured streaming下测试,不过这种方案,在spark2.2 structured streaming下应该也可行(请自行测试).以下是我测试结果: 成功测试结果: 准备工作:创建maven项目,并在pom.xml导入一下依赖配置: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spark.versi…
方法一:利用createDataFrame方法,新增列的过程包含在构建rdd和schema中 方法二:利用withColumn方法,新增列的过程包含在udf函数中 方法三:利用SQL代码,新增列的过程直接写入SQL代码中 方法四:以上三种是增加一个有判断的列,如果想要增加一列唯一序号,可以使用monotonically_increasing_id 代码块: //dataframe新增一列方法1,利用createDataFrame方法 val trdd = input.select(targetC…
在Hadoop集群里,有三种模式: 1.本地模式 2.伪分布模式 3.全分布模式 在Spark集群里,有四种模式: 1.local单机模式 结果xshell可见: ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master local[1] ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100 这里写local,就是local[1] 2.standalone集群模式 需要的配置…
Centos7出现异常:Failed to start LSB: Bring up/down networking. 按照<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.>配置好虚拟机,正在使用中,让它强制断电后,启动起来发现ip无法访问,而且重启网络失败: 执行:systemctl restart network.service 出现异常:Failed to start LSB: Br…
使用VMW安装四台CentOS-7-x86_64-DVD-1804.iso虚拟机: 计划配置三台centos虚拟机: master:192.168.0.120 slave1:192.168.0.121 slave2:192.168.0.122slave3:192.168.0.123 资源分配情况: 每台虚拟机分配:内存2G,CPU核数1个,磁盘20G. VMW配置及本地IPv4上网配置情况: 安装VMW,并设置其连接方式为桥接方式: 本地网络适配器除了“本地连接”外,其他都禁用: 本地连接的IP…
一.SparkCore.SparkSQL和SparkStreaming的类似之处 二.SparkStreaming的运行流程 2.1 图解说明 2.2 文字解说 1.我们在集群中的其中一台机器上提交我们的Application Jar,然后就会产生一个Application,开启一个Driver,然后初始化SparkStreaming的程序入口StreamingContext: 2.Master会为这个Application的运行分配资源,在集群中的一台或者多台Worker上面开启Excuter…
Transformation算子 基本的初始化 java static SparkConf conf = null; static JavaSparkContext sc = null; static { conf = new SparkConf(); conf.setMaster("local").setAppName("TestTransformation"); sc = new JavaSparkContext(conf); } scala private v…
/** Spark SQL源码分析系列文章*/ 前几篇文章介绍了Spark SQL的Catalyst的核心运行流程.SqlParser,和Analyzer,本来打算直接写Optimizer的,但是发现忘记介绍TreeNode这个Catalyst的核心概念,介绍这个可以更好的理解Optimizer是如何对Analyzed Logical Plan进行优化的生成Optimized Logical Plan,本文就将TreeNode基本架构进行解释. 一.TreeNode类型 TreeNode Lib…
目前Spark支持四种方式从数据库中读取数据,这里以Mysql为例进行介绍. 一.不指定查询条件 这个方式链接MySql的函数原型是: 1 def jdbc(url: String, table: String, properties: Properties): DataFrame 我们只需要提供Driver的url,需要查询的表名,以及连接表相关属性properties.下面是具体例子: 查看源代码打印帮助 1 val url = "jdbc:mysql://www.iteblog.com:3…
一.应用执行机制 一个应用的生命周期即,用户提交自定义的作业之后,Spark框架进行处理的一系列过程. 在这个过程中,不同的时间段里,应用会被拆分为不同的形态来执行. 1.应用执行过程中的基本组件和形态 Driver: 运行在客户端或者集群中,执行Application的main方法并创建SparkContext,调控整个应用的执行. Application: 用户自定义并提交的Spark程序. Job: 一个Application可以包含多个Job,每个Job由Action操作触发. Stag…
一.下载Spark安装包 1.从官网下载 http://spark.apache.org/downloads.html 2.从微软的镜像站下载 http://mirrors.hust.edu.cn/apache/ 3.从清华的镜像站下载 https://mirrors.tuna.tsinghua.edu.cn/apache/ 回到顶部 二.安装基础 1.Java8安装成功 2.zookeeper安装成功 3.hadoop2.7.5 HA安装成功 4.Scala安装成功(不安装进程也可以启动) 回…
初次尝试用 Spark+scala 完成项目的重构,由于两者之前都没接触过,所以边学边用的过程大多艰难.首先面临的是如何快速上手,然后是代码调优.性能调优.本章主要记录自己在项目中遇到的问题以及解决方式,下篇会尝试调优方法.末尾会分享自己的学习资料,也供大多菜鸟第一次使用作为参考.由于自己项目中大量使用spark sql,所以下面的经验大多是和spark sql有关.同样下面也列出作为菜鸟在学习过程中的困惑以及踩的坑,还请大牛勿笑 ~_~ 如果有更好的方式解决,欢迎留言,一起学习. 1.常用场景…
一.案例引入 这里先引入一个基本的案例来演示流的创建:获取指定端口上的数据并进行词频统计.项目依赖和代码实现如下: <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.12</artifactId> <version>2.4.3</version> </dependency> import org.apac…
RDD的四种依赖关系 RDD四种依赖关系,分别是 ShuffleDependency.PrunDependency.RangeDependency和OneToOneDependency四种依赖关系.如下图所示:org.apache.spark.Dependency有两个一级子类,分别是 ShuffleDependency 和 NarrowDependency.其中,NarrowDependency 是一个抽象类,它有三个实现类,分别是OneToOneDependency.RangeDepende…