![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark
北山璎珞
私はこのjianghuが好き
展开
-
sparksql与mysql(含源码)
Demo一:在mysql数据库中有员工表和部门表 表结构以及数据如下:create table dept(deptno int ,dname varchar(14) ,loc varchar(13)) ;create table emp(eno int ,ename varchar(10),job varchar(9),mgr int,hirdate date,sal int,comm int,deptno int not null);INSERT INTO dept VA原创 2020-07-10 20:19:25 · 744 阅读 · 0 评论 -
Spark内存计算系统(总)
一 scale学习原创 2020-07-10 20:13:22 · 294 阅读 · 0 评论 -
Spark实战一
1.Kudu的介绍及安装及API简单使用原创 2020-07-10 20:12:37 · 266 阅读 · 0 评论 -
SparkStreaming完整demo(kafka版)-累积个数(updateStateByKey)
以SparkStreaming + Kafka 实现假定用户有某个周末网民网购停留时间的日志文本,基于某些业务要求,要求开发Spark应用程序实现如下功能:1、实时统计连续网购时间超过半个小时的女性网民信息。2、周末两天的日志文件第一列为姓名,第二列为性别,第三列为本次停留时间,单位为分钟,分隔符为“,”。数据:log1.txt:周六网民停留日志LiuYang,female,20YuanJing,male,10GuoYijun,male,5CaiXuyu,female,50L原创 2020-07-02 22:44:28 · 389 阅读 · 0 评论 -
SparkStreaming完整demo-累积个数(updateStateByKey)
以SparkStreaming + Tcp 实现假定用户有某个周末网民网购停留时间的日志文本,基于某些业务要求,要求开发Spark应用程序实现如下功能:1、实时统计连续网购时间超过半个小时的女性网民信息。2、周末两天的日志文件第一列为姓名,第二列为性别,第三列为本次停留时间,单位为分钟,分隔符为“,”。数据:log1.txt:周六网民停留日志LiuYang,female,20YuanJing,male,10GuoYijun,male,5CaiXuyu,female,50Liy原创 2020-07-02 20:08:15 · 239 阅读 · 0 评论 -
SparkSQL讲解
一 SparkSQL 是什么1.1 SparkSQL 的出现契机数据分析的方式数据分析的方式大致上可以划分为 SQL 和 命令式两种:命令式在前面的 RDD 部分, 非常明显可以感觉的到是命令式的, 主要特征是通过一个算子, 可以得到一个结果, 通过结果再进行后续计算.命令式的优点操作粒度更细, 能够控制数据的每一个处理环节操作更明确, 步骤更清晰, 容易维护支持非结构化数据的操作命令式的缺点需要一定的代码功底写起来比较麻烦SQL对于一些数据科学家,原创 2020-06-29 22:38:41 · 828 阅读 · 0 评论 -
RDD深入学习
RDD 的 Shuffle 和分区分区的作用RDD 使用分区来分布式并行处理数据, 并且要做到尽量少的在不同的 Executor 之间使用网络交换数据, 所以当使用 RDD 读取数据的时候, 会尽量的在物理上靠近数据源, 比如说在读取 Cassandra 或者 HDFS 中数据的时候, 会尽量的保持 RDD 的分区和数据源的分区数, 分区模式等一一对应分区和 Shuffle 的关系分区的主要作用是用来实现并行计算, 本质上和 Shuffle 没什么关系, 但是往往在进行数据处理的时候, 例如redu原创 2020-06-29 20:23:01 · 314 阅读 · 0 评论 -
RDD讲解:入门到深入
从案例分析在这份 WordCount 代码中, 大致的思路如下:1.使用 sc.textFile() 方法读取 HDFS 中的文件, 并生成一个 RDD2.使用 flatMap 算子将读取到的每一行字符串打散成单词, 并把每个单词变成新的行3.使用 map 算子将每个单词转换成 (word, 1) 这种元组形式4.使用 reduceByKey 统计单词对应的频率其中所使用到的算子有如下几个:flatMap 是一对多map 是一对一reduceByKey 是按照 Key 聚合, 类似 Ma原创 2020-06-29 19:44:56 · 944 阅读 · 0 评论 -
Spark 入门
Spark 官方提供了两种方式编写代码, 都比较重要, 分别如下spark-shellSpark shell 是 Spark 提供的一个基于 Scala 语言的交互式解释器, 类似于 Scala 提供的交互式解释器, Spark shell 也可以直接在 Shell 中编写代码执行这种方式也比较重要, 因为一般的数据分析任务可能需要探索着进行, 不是一蹴而就的, 使用 Spark shell 先进行探索, 当代码稳定以后, 使用独立应用的方式来提交任务, 这样是一个比较常见的流程spark-原创 2020-06-28 21:13:32 · 457 阅读 · 0 评论 -
spark基础学习(总)
1.Spark优点、组件及与hadoop的异同2.Spark 集群搭建(完整)原创 2020-06-27 18:36:33 · 217 阅读 · 0 评论 -
Spark优点、组件及与hadoop的异同
一 Spark是什么Apache Spark 是一个快速的, 多用途的集群计算系统, 相对于 Hadoop MapReduce 将中间结果保存在磁盘中, Spark 使用了内存保存中间结果, 能在数据尚未写入硬盘时在内存中进行运算.Spark 只是一个计算框架, 不像 Hadoop 一样包含了分布式文件系统和完备的调度系统, 如果要使用 Spark, 需要搭载其它的文件系统和更成熟的调度系统二 为什么会有SparkSpark 产生之前, 已经有非常成熟的计算系统存在了, 例如 MapReduce,原创 2020-06-27 18:11:15 · 557 阅读 · 0 评论 -
Akka并发编程-Akka特性,并实现两个进程之间的通信(含完整Demo)
Akka介绍Akka是一个用于构建高并发、分布式和可扩展的基于事件驱动的应用的工具包。Akka是使用scala开发的库,同时可以使用scala和Java语言来开发基于Akka的应用程序。Akka特性提供基于异步非阻塞、高性能的事件驱动编程模型内置容错机制,允许Actor在出错时进行恢复或者重置操作超级轻量级的事件处理(每GB堆内存几百万Actor)使用Akka可以在单机上构建高并发程序,也可以在网络中构建分布式程序。Akka通信过程以下图片说明了Akka Actor的并发编程模型的基本流原创 2020-06-25 22:45:47 · 1210 阅读 · 0 评论 -
scala的高阶函数
一 柯里化柯里化(Currying)是指将原先接受多个参数的方法转换为多个只有一个参数的参数列表的过程。程序:// 柯里化:实现对两个数进行计算def calc_carried(x:Double, y:Double)(func_calc:(Double, Double)=>Double) = { func_calc(x, y)}def main(args: Intrray[String]): Unit = { println(calc_carried(10.1, 10原创 2020-06-19 20:22:03 · 288 阅读 · 0 评论 -
Actor并发编程模型
Actor并发编程模型Actor并发编程模型,是scala提供给程序员的一种与Java并发编程完全不一样的并发编程模型,是一种基于事件模型的并发机制。Actor并发编程模型是一种不共享数据,依赖消息传递的一种并发编程模式,有效避免资源争夺、死锁等情况。Java并发编程对比Actor并发编程Java内置线程模型scala Actor模型"共享数据-锁"模型 (share data and lock)share nothing每个object有一个monitor,监视线程对共原创 2020-06-18 21:41:42 · 683 阅读 · 0 评论 -
scala方法函数学习小结
yieldyield会把当前元素给记录下来,并保存到集合中 val v = for(i <- 1 to 10) yield i * 10 println(v)结果:Vector(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)var valvar修饰的变量是可变的,val是不可变的breakpackage com.xuimport scala.util.control.Breaks._object ScalaTest { def原创 2020-06-17 07:39:02 · 265 阅读 · 0 评论 -
Actor并发编程模型实现多文件的单词统计(完整源码)
给定几个文本文件(文本文件都是以空格分隔的),使用Actor并发编程来统计单词的数量思路实现思路MainActor获取要进行单词统计的文件根据文件数量创建对应的WordCountActor将文件名封装为消息发送给WordCountActorWordCountActor接收消息,并统计单个文件的单词计数将单词计数结果发送给MainActorMainActor等待所有的WordCountActor都已经成功返回消息,然后进行结果合并步骤1 | 获取文件列表实现思路在main方法中读取原创 2020-06-14 21:55:41 · 1995 阅读 · 0 评论 -
scale学习合集(完整资料)
一 scale的介绍及安装原创 2020-06-10 22:23:02 · 851 阅读 · 0 评论 -
Spark 集群搭建(完整)
1. Spark 集群结构名词解释Driver该进程调用 Spark 程序的 main 方法, 并且启动 SparkContextCluster Manager该进程负责和外部集群工具打交道, 申请或释放集群资源Worker该进程是一个守护进程, 负责启动和管理 ExecutorExecutor该进程是一个JVM虚拟机, 负责运行 Spark Task运行一个 Spark 程序大致经历如下几个步骤启动 Drive, 创建 SparkContextClient原创 2020-06-03 21:45:42 · 8440 阅读 · 1 评论 -
scala的语法规则 (四)
一 函数式编程我们将来使用Spark/Flink的大量业务代码都会使用到函数式编程。下面的这些操作是学习的重点。遍历(foreach)映射(map)映射扁平化(flatmap)过滤(filter)是否存在(exists)排序(sorted、sortBy、sortWith)分组(groupBy)聚合计算(reduce)折叠(fold)遍历 | foreach之前,学习过了使用for表达式来遍历集合。我们接下来将学习scala的函数式编程,使用foreach方法来进行遍历、迭代。它可原创 2020-05-26 22:05:55 · 348 阅读 · 0 评论 -
scala的语法规则 (三)
一二三四五六七八原创 2020-05-26 21:36:50 · 368 阅读 · 0 评论 -
scala的语法规则 (二)
一 方法1.1 方法参数scala中的方法参数,使用比较灵活。它支持以下几种类型的参数:默认参数带名参数变长参数默认参数在定义方法时可以给参数定义一个默认值。示例定义一个计算两个值相加的方法,这两个值默认为0调用该方法,不传任何参数参考代码// x,y带有默认值为0 def add(x:Int = 0, y:Int = 0) = x + yadd()带名参数在调用方法时,可以指定参数的名称来进行调用。示例定义一个计算两个值相加的方法,这两个值默认为原创 2020-05-26 00:25:02 · 367 阅读 · 0 评论 -
scala的语法规则 (一)
一 scala解释器scala解释器像Linux命令一样,执行一条代码,马上就可以让我们看到执行结果,用来测试比较方便。要启动scala解释器,只需要以下几步:按住windows键 + r输入scala即可Welcome to Scala 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_221).Type in expressions for evaluation. Or try :help.scala>退出解释器原创 2020-05-25 23:19:36 · 995 阅读 · 0 评论 -
scala的介绍及安装
一 scala简介scala是运行在JVM上的多范式编程语言,同时支持面向对象和面向函数编程早期,scala刚出现的时候,并没有怎么引起重视,随着Spark和Kafka这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的表达性。接下来,我们要来学习:为什么要使用scala?通过两个案例对比Java语言和scala语言二 为什么使用scala开发大数据应用程序(Spark程序、Flink程序)表达能力强,一行代码抵得上Java多行,开发速度快原创 2020-05-25 21:34:36 · 1077 阅读 · 0 评论