[学习笔记] collect: 收集一个弹性分布式数据集的所有元素到一个数组中,这样便于我们观察,毕竟分布式数据集比较抽象.Spark的collect方法,是Action类型的一个算子,会从远程集群拉取数据到driver端.最后,将大量数据 汇集到一个driver节点上,将数据用数组存放,占用了jvm堆内存,非常用意造成内存溢出,只用作小型数据的观察.*/    val arr = res.collect();    println("arr(0) is " + arr(0) + &q…
1.scala当中的Object 在scala当中,没有类似于像java当中的static修饰的静态属性或者静态方法或者静态代码块之类的,但是我们可以通过scala当中的Object来实现类似的功能.可以理解为scala当中的Object里面的属性或者方法都是静态的,可以直接调用定义一个class类,然后在class类当中定义一个Object的对象.object对象当中的所有属性或者方法都是静态的     class Session {       def hello(first:Int):In…
1.if else表达式 scala中没有三目运算符,因为根本不需要.scala中if else表达式是有返回值的,如果if或者else返回的类型不一样,就返回Any类型(所有类型的公共超类型). 例如:if else返回类型一样 var a = 20 val b = if(a>10){ 12 }else{ 30 } 例如:if else返回类型不一样 val c = 50 val d = if(c > 20){ println("返回一个字符串") "ABC&q…
import org.apache.spark.{SparkContext, SparkConf}import org.apache.spark.sql.{SaveMode, DataFrame}import scala.collection.mutable.ArrayBufferimport main.asiainfo.coc.tools.Configureimport org.apache.spark.sql.hive.HiveContextimport java.sql.DriverMan…
[学习笔记] /*reduceByKey(function)reduceByKey就是对元素为KV对的RDD中Key相同的元素的Value进行function的reduce操作(如前所述),因此,Key相同的多个元素的值被reduce为一个值,然后与原RDD中的Key组成一个新的KV对. reduceByKey(_+_)是reduceByKey((x,y) => x+y)的一个 简洁的形式*/ val rdd08 = sc.parallelize(List((1, 1),  (1, 4),(1,…
说明,由于spark是用scala写的.因此,不管是在看源码还是在写spark有关的代码的时候,都最好是用scala.那么作为一个程序员首先是必须要把手中的宝剑给磨砺了.那就是创建好编写scala的代码环境.在这里由于我个人之前比较熟悉eclipse(虽然觉得他有点掉档次,踏实工具嘛,当然最好是选择自己最熟悉的辣).好了,那么我想实现的就是在eclipse中创建maven工程来管理spark的scala的代码.在这个过程中,遇到了几个问题: 1.如何在eclipse中安装scala的插件 安装s…
 一.机器学习常用开发软件:Spark.Scala 1. Spark简介: MLlib包含的库文件有: 分类 降维 回归 聚类 推荐系统 自然语言处理 在线学习 统计学习方法:偏向理论性,数理统计的方法,对实时性没有特别要求: 机器学习:偏向工程化(包含数据预处理.特征选择.参数优化),有实时性要求,旨在构造一个整体的系统,如在线学习等: 概率图模型:构建一个统一的方法论,可以解决一些时序模型,概括了表示.推理.学习的流程,如贝叶斯网络等. Spark在Standalone模式下的工作原理: 首…
转载自:http://bigdata.51cto.com/art/201704/536499.htm Spark程序运行常见错误解决方法以及优化 task倾斜原因比较多,网络io,cpu,mem都有可能造成这个节点上的任务执行缓慢,可以去看该节点的性能监控来分析原因.以前遇到过同事在spark的一台worker上跑R的任务导致该节点spark task运行缓慢. 作者:佚名来源:数据为王|2017-04-07 09:02   一.org.apache.spark.shuffle.FetchFai…
1.hello world程序 object HelloWorld { def main(args: Array[String]) { println("Hello,World!") } } 注意 语句末尾的分号通常是可选的. 语句末尾的分号通常是可选的. 分号是表达式分隔符,它们是推断的. Scala将行的结尾视为表达式的结尾,除非它可以推断表达式继续到下一行. Scala程序处理从主方法开始,这是每个Scala程序的一个强制性部分. 主要方法未标记为静态. 主要方法是对自动实例化的…
类型参数主要就是研究scala当中的类或者scala当中的方法的泛型 1.scala当中的类的泛型         object Demo8 {          def main(args: Array[String]): Unit = {          val result1 = new MyClass("hello",50)          val result2 = new MyClass[Any,Any]("zhangsan","Lisi&…