![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark
高志遠
这个作者很懒,什么都没留下…
展开
-
Scala入门到放弃——继承(六)
九、继承scala继承使用extends关键字package classesclass Animals { var name: String = ""}class Bear extends Animals { def run = name + "在愉快的奔跑!"}object AnimalsDemo { def main(args: Array[String]): ...原创 2019-11-14 10:35:24 · 147 阅读 · 0 评论 -
SparkSQL 统计某天每个用户访问页面次数前N的的页面
前两天有小老弟面试遇到如下问题:那应该如何完成这个SQL语句的书写呢?测试数据:val rdd = spark.sparkContext.makeRDD( List( ("2018-01-01", 1, "www.baidu.com", "10:01"), ("2018-01-01", 2, "www.baidu.com", "10:01"), ("2018-0...原创 2020-02-10 22:14:36 · 1302 阅读 · 0 评论 -
Spark SQL面试题——窗口函数
问题A表里面有三笔记录 字段是 ID start_date end_date数据是:1 2018-02-03 2019-02-03;2 2019-02-04 2020-03-04;3 2018-08-04 2019-03-04;根据已知的三条记录用sql写出结果为:A 2018-02-03 2018-08-04;B 2018-08-04 2019-02-03; C 2019-0...原创 2019-12-12 14:28:24 · 4011 阅读 · 1 评论 -
Spark Standalone HA集群
一、准备环境三台虚拟机(版本CentOS7)172.16.82.128 node1172.16.82.129 node2172.16.82.130 node3配置ip地址映射[root@localhost ~]# vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localh...原创 2019-12-10 14:26:54 · 374 阅读 · 0 评论 -
Spark SQL
Spark SQL一、概述http://spark.apache.org/docs/latest/sql-programming-guide.htmlSpark SQL是Spark中一个模块,用以对结构化数据进行处理。SparkSQL在RDD之上抽象出来Dataset/Dataframe 这两个类提供了类似RDD的功能,也就意味用户可以使用map、flatMap、filter等高阶算子,同时...原创 2019-12-03 16:38:34 · 572 阅读 · 0 评论 -
Scala入门到放弃——模式匹配和样例类(十二)
十六、模式匹配和样例类模式匹配是Scala中非常有特色,非常强大的一种功能。模式匹配,其实类似于Java中的swich case语法,即对一个值进行条件判断,然后针对不同的条件,进行不同的处理。但是Scala的模式匹配的功能比Java的swich case语法的功能要强大地多,Java的swich case语法只能对值进行匹配。但是Scala的模式匹配除了可以对值进行匹配之外,还可以对类型进行...原创 2019-11-14 10:56:49 · 179 阅读 · 0 评论 -
Scala入门到放弃——集合(十一)
十五、集合Scala提供了一套很好的集合实现,提供了一些集合类型的抽象。Scala 集合分为可变的和不可变的集合:可变集合可以在适当的地方被更新或扩展。这意味着你可以修改,添加,移除一个集合的元素。不可变集合(默认)类永远不会改变。不过,你仍然可以模拟添加,移除或更新操作。但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不发生改变。集合中基本结构:序列Vecto...原创 2019-11-14 10:55:09 · 273 阅读 · 0 评论 -
Scala入门到放弃——泛型(十)
十四、泛型泛型类类似于Java,类和特质可以携带类型参数class Student[T, S](var name: T, var age: S) { // T S K // <> ---> [T,S,K]}object Student { def main(args: Array[String]): Unit = { // ...原创 2019-11-14 10:50:56 · 139 阅读 · 0 评论 -
Scala入门到放弃——异常处理和隐式转换(九)
十二、异常处理异常Scala 的异常处理和其它语言比如 Java 类似。Scala 的方法可以通过抛出异常的方法的方式来终止相关代码的运行,不必通过返回值。package exceptionimport java.io.IOException/** * scala异常分类和java一样的 * Throwable * |- Error * |- Ex...原创 2019-11-14 10:47:51 · 193 阅读 · 0 评论 -
Scala入门到放弃——高阶函数(八)
十一、高阶函数scala的函数对象是一种特殊的class,即可担当函数计算职责又可以作为变量传递作为值的函数object Function04 { def main(args: Array[String]): Unit = { val result = sum _ // _ 匹配函数参数列表 println(result) } def sum(x: Int, y...原创 2019-11-14 10:44:59 · 166 阅读 · 0 评论 -
Scala入门到放弃——特质trait(七)
十、特质trait类似于Java中的接口语法特质关键词trait特质可以同时用于抽象方法和具体方法无父类 实现特质extends trait1 with trait2 with trait3 ...有父类 实现特质extends 父类 with 特质1 with 特质2 ...当做接口的特质Scala可以完全像Java接口一样工作, 你不需要将抽象方法声明为 ...原创 2019-11-14 10:41:11 · 200 阅读 · 0 评论 -
Scala入门到放弃——类和对象(五)
八、类类是对象的模板, 属性(有什么)和方法(做什么)类定义package classes// 简化写法// class User// 标准写法class User {}object UserDemo { def main(args: Array[String]): Unit = { // 创建对象 "new" 关键字 val user1 = new ...原创 2019-11-14 10:31:12 · 117 阅读 · 0 评论 -
Scala入门到放弃——数组(四)
七、数组操作概念上类似于Java中的数组,一个特定类型的元素集合数组的初始化package arrayobject Array01 { def main(args: Array[String]): Unit = { // 数组声明 // a1数组的长度为10 泛型为Int val a1 = new Array[Int](10) val a2 = n...原创 2019-11-14 10:21:01 · 133 阅读 · 0 评论 -
Scala入门到放弃——函数(三)
六、函数函数三要素:函数名、参数、函数体声明函数语法def functionName ([参数列表]) : [return type] = { 函数体}示例// 无返回值def sayHi(str: String): Unit = { println("Hello:" + str)}// 可省略返回值类型,支持自动推导def sum(x: Int, y: Int) = x...原创 2019-11-14 10:18:06 · 152 阅读 · 0 评论 -
Scala入门到放弃——变量、类型、条件分支、循环(二)
三、变量和类型常用类型和Java一样,Scala中也有7种数值类型:Byte、Short、Int、Long、Double、Float、Char,以及1个Boolean类型。跟Java不同的是,这些类型都是类,归属于scala.*包。还有一种常用类型为java.lang.String用以声明字符串表达式表达式是可计算的语句。如:1 + 1你可以使用println来输出表达式的结果。/...原创 2019-11-14 10:16:07 · 232 阅读 · 0 评论 -
Scala入门到放弃——安装和基本使用(一)
Scalahttps://www.scala-lang.org/一、概述Scala是一门多范式的编程语言,一种类似java的编程语言 [1] ,设计初衷是实现可伸缩的语言 [2] 、并集成面向对象编程和函数式编程的各种特性。二、安装和使用安装配置JDK(略)C:\Users\Administrator>java -versionjava version "1.8.0_161...原创 2019-11-14 10:13:05 · 285 阅读 · 0 评论 -
Spark学习之路(一)【概述、环境搭建、基本操作】
Spark一、概述http://spark.apache.org/Apache Spark™ is a unified(统一) analytics engine for large-scale data processing.特点高效:Run workloads 100x faster.易用:Write applications quickly in Java, Scala, Pyt...原创 2019-06-11 17:08:54 · 2285 阅读 · 0 评论 -
Spark学习之路(三)【RDD编程 API——转换算子Transformation】
RDD编程APISpark支持两个类型(算子)操作:Transformation和ActionTransformation主要做的是就是将一个已有的RDD生成另外一个RDD。Transformation具有lazy特性(延迟加载)。Transformation算子的代码不会真正被执行。只有当我们的程序里面遇到一个action算子的时候,代码才会真正的被执行。这种设计让Spark更加有效率地运...原创 2019-06-25 10:27:17 · 469 阅读 · 0 评论 -
Spark学习之路(四)【RDD编程 API——动作算子Action】
RDD编程APISpark支持两个类型(算子)操作:Transformation和ActionAction触发代码的运行,我们一段spark代码里面至少需要有一个action操作。常用的Action动作含义reduce(func)通过func函数聚集RDD中的所有元素,这个功能必须是课交换且可并联的collect()在驱动程序中,以数组的形式返回数据集的所有...原创 2019-06-25 11:37:21 · 324 阅读 · 0 评论 -
Spark Streaming输出操作【Output Operations on DStreams】
Spark Streaming输出操作 可以将DStream中的数据写入到外部的存储系统,如:数据库或者文件系统Output OperationMeaningprint()Prints the first ten elements of every batch of data in a DStream on the driver node running the s...原创 2019-07-05 16:20:16 · 722 阅读 · 0 评论 -
Spark学习之路(二)【RDD概述、不同数据源的RDD创建方式】
Spark之RDDRDD概述RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。构建RDD通过并...原创 2019-06-14 18:04:10 · 469 阅读 · 0 评论