Spark开发技术
TSY@小田
要努力!为了你的奥迪我的迪奥
展开
-
Spark的设计与运行原理
概述:1、Spark的主要特点:运行速度快;容易使用;通用性;运行模式多样。Spark生态系统:1、大数据处理主要包括以下3个类型2、Spark的设计遵循“一个软件栈满足不同应用场景”的理念。即同时支持批处理、交互式查询、流数据处理。3、Spark组件:Spark Core、Spark SQL(交互式查询分析)、Spark Streaming(流计算)、MLlib(机器学...原创 2019-07-11 17:10:42 · 535 阅读 · 0 评论 -
RDD转换(Transformation)操作
1、filter(func) (filter—翻译—>过滤)筛选出满足函数func的元素,并返回一个新的数据集。在第3行中,filter()的输入参数line => line.contains("Spark")是一个匿名函数,或者被称为“λ表达式”。filter(line => line.contains("Spark"))的含义:依次取出lines这个RD...原创 2019-07-12 21:20:17 · 1434 阅读 · 0 评论 -
RDD创建
1、从文件系统中加载数据创建RDD(1)、从本地文件系统中加载数据首先进入spark-shell交互式环境中,写入第一行代码:执行如下的命令:执行sc.textFile()方法后,Spark从本地文件word.txt中加载数据到内存,在内存中生成一个RDD对象lines,lines是org.apache.spark.rdd.RDD这个类的一个实例,RDD中的每个元素都是St...原创 2019-07-12 21:22:01 · 927 阅读 · 0 评论 -
RDD行动(Action)操作
直接看例题:执行sc.parallelize()操作,生成一个RDD(即rdd),rdd中包含5个元素,即1,2,3,4,5。注意:输出每个元素的值,rdd.foreach(elem=>println(elem))等价于rdd.foreach(println)...原创 2019-07-13 16:01:31 · 424 阅读 · 0 评论 -
RDD持久化
1、惰性机制所谓的“惰性机制”是指,整个转换过程只是记录了转换的轨迹,并不会发生真正的计算,只有遇到行动操作时,才会触发“从头到尾”的真正的计算。2、在Spark中,RDD采用惰性求值的机制,每次调用行动操作,都会触发一次从头开始的计算(就会生成一个Job),这对于迭代计算而言,代价很大,因为迭代计算经常需要多次重复使用同一组数据。下面就是多次计算同一个RDD的例子:(2次行动操作,触...原创 2019-07-14 11:03:53 · 1485 阅读 · 0 评论 -
RDD分区
一、分区的作用RDD是弹性分布式数据集,通常RDD很大,会被分成很多个分区,分别保存到不同的节点上。①、对RDD分区,第一个功能是增加并行度。例如,1个RDD有n个分区,分布在n个不同工作节点(WorkerNode)上面,这n个工作节点分别启动n个线程对这n个分区的数据进行并行处理,从而增加了任务的并行度。(1个工作节点上面有几个分区,启动几个线程)②、对RDD分区,第二个功能是减...原创 2019-07-15 10:01:28 · 5590 阅读 · 0 评论 -
键值对RDD
一、键值对RDD的创建1、从文件中加载生成RDD2、通过并行集合(数组)创建RDD二、常用的键值对转换操作reduceByKey(func) groupByKey() keys values sortByKey()、sortBy() mapValues(func) join combineByKey (1)、reduceByK...原创 2019-07-16 15:02:18 · 1112 阅读 · 0 评论 -
RDD编程:文件数据读取
一、文件数据读写1、本地文件系统的数据读写(1)、从文件中读取数据创建RDD(采用textFile()方法)textFile()方法提供一个本地文件地址或者本地目录地址。如果是本地文件地址,则加载该文件;如果是本地目录地址,则加载该目录下的所有文件的数据。(2)、把RDD写入到文本文件中 (采用saveAsTextFile()方法)saveAsTextFile()中的参数是...原创 2019-07-16 21:26:28 · 3390 阅读 · 0 评论 -
Spark编程时无法显示输入的数据
用scala命令读取数据的时候,看不到写入的数据。解决办法:用-Xnojline选项禁用控制台读写库Jline,但这时又不能用箭头调用命令历史,所以还需要一个小工具rlwrap。完整命令为“rlwrap scala -Xnojline”,如果提示rlwrap 没有安装,请按提示进行安装。如下图:如果用“/usr/local/spark/bin/spark-shell”命令进入sc...原创 2019-07-18 20:55:11 · 812 阅读 · 2 评论 -
Spark面向对象编程基础
目录:一、类 1、类的定义 2、类成员的可见性 3、方法的定义 4、构造器二、对象 1、单例对象 2、单例对象——伴生对象和孤立对象 3、apply方法和updata方法三、继承 1、抽象类 ...原创 2019-07-20 19:32:18 · 938 阅读 · 0 评论 -
scala语法基础
目录:一、使用Scala解释器二、基本数据类型和变量 1、Scala的基本数据类型 2、字面量(literal) 3、 操作符定义成方法 4、变量(var、val) 5、插值字符串:(s插值字符串/f插值字符串)三、输入输出+读写文件...原创 2019-07-20 19:44:35 · 807 阅读 · 0 评论 -
Spark函数式编程基础
目录:一、函数定义与使用 1、函数式编程简介 2、匿名函数 3、占位符语法 4、高阶函数 5、闭包二、针对容器的操作 1、遍历操作 2、映射操作 3、过...原创 2019-07-21 09:58:30 · 677 阅读 · 0 评论 -
DataFrame
目录:一、概述二、创建三、保存四、常用操作 1、printSchema() 2、select() 3、filter() 4、groupBy() 5、sort()一、概述Spark Core所使用的的数据抽象是RDD(弹性分布...原创 2019-07-21 17:09:34 · 1007 阅读 · 0 评论 -
Spark之RDD转换为DataFrame
一、利用反射机制推断RDD模式利用反射机制来推断包含特定类型对象的RDD模式,适合用于对已知数据结构的RDD转换。在“/usr/local/spark/examples/src/main/resources/”目录下,有个Spark安装时自带的样例数据people.txt,其内容为:。现在要把people.txt加载到内存中生成一个DataFrame,并查询其中的数据。完整执行过程...原创 2019-07-22 10:41:29 · 1281 阅读 · 0 评论