1. Eclipse中设置scala调试器

scala的调试器要选择Scala Application(new debuger)Launcher;开始选择图省事,选择了一个字母少的,亲切的Launcher:Scala JVM Launcher;但是后来发现这个Launcher只能运行,但是无法在调试过程中获取变量值。

2. java和scala交互

有的时候需要clean后再编译,scala才能够读取到java的变化,反之亦然;

3. 关闭Eclipse的自动变异

Scala的编译很慢,和纯java时代不同,想要高效开发,就要关闭掉自动编译功能;否则你将会一半时间耗费在Eclipse的自动编译中,不能自拔;

4. 设置全局变量默认值

对于全局变量,必须要初始化,如果是需要后面调用来进行初始化,那么需要var XX = _这样的写法来进行赋默认值,其实即使XX类没有无参构造函数,也是可以的。

5. Java Scala集合对象无缝转化

Java类和Scala集合对象之间的无缝转换,因为Scala里面的集合类是强集合类,里面有map等操作;当使用java的时候是无缝使用这些方法的;同样对于HashMap,Java有put操作,为了两者之间的这种操作合集,需要使用导入scala.collection.JavaConversion._

6. Seq

scala的Seq可以通过:+进行添加元素,但是注意这个模式是会返回一个新的对象,需要让一个变量来接这个返回值

7. Scala中的三元判断

scala里面不需要三元判断a?b:c,因为在java里面,if-else只是控制结构,没有返回值;但是在scala里面if-else只是表达式可以有返回值的。所以用if-else来完成之前java里面的三元关系。

8. null,option,some

Scala中鼓励不要是用null,而是Option类;Option类里面可以作为类型定义,返回值如果有值将会是Some,空将会返回None;Option其实是一个容器,一个只能放一个值的容器(篮子),可以对于返回值进行遍历,发现没有值就返回None,如果有值则返回Some;

9. spark和spring的netty冲突

发现引入springboot后,spark2.1.10跑步起来了,netty错误;关键字:springboot spark AbstractMethodError,果然后搜到,原来springboot2.x默认使用netty4.1.x,但是spark2.1.x则是使用netty4.0.43.final,netty不兼容导致;只需要在pom中显式声明netty4.0.43的依赖,问题解决。

10. 泛型类化

RDD转化为Vector失败,因为RDD是一个数据容器,所以当然失败,要使用rdd.first().asInstance[SV]的方式。注意在Scala中对于泛型的支持和java不一样,Java中是隐式转换,但是在scala中需要通过asInstance[Type]来进行转换;

11. Task can't serials

老生常谈问题;这个是因为我在map体重包含了一个本地的方法,后来把这个方法放在map外面调用,问题解决。

Scala实战的更多相关文章

  1. Scala实战高手****第17课:Scala并发编程实战及Spark源码阅读

    package com.wanji.scala.test import javax.swing.text.AbstractDocument.Content import scala.actors.Ac ...

  2. Scala实战高手****第8课:零基础实战Scala最常用数据结构Map和Tuple及Spark源码鉴赏

    本课内容1.Map和Tuple在Spark源码中的鉴赏2.Map和Tuple代码操作实战 ------------------------------------------------------- ...

  3. Scala实战高手****第6课 :零基础实战Scala集合操作及Spark源码解析

    本课内容1.Spark中Scala集合操作鉴赏2.Scala集合操作实战 --------------------------------------------------------------- ...

  4. Scala实战高手****第16课:Scala implicits编程彻底实战及Spark源码鉴赏

    隐式转换:当某个类没有具体的方法时,可以在该类的伴生对象或上下文中查找是否存在隐式转换,将其转换为可以调用该方法的类,通过代码简单的描述下 一:隐式转换 1.定义类Man class Man(val ...

  5. Scala实战高手****第15课:Scala类型参数编程实战及Spark源码鉴赏

    1.Scala的类和方法.函数都可以是泛型 2.上界:表示泛型的类型必须是某种类型或者其类型的子类,语法:<: ,对类型进行限定 3.下界:表示泛型的类型必须是某种类型或者其类型的父类,语法:& ...

  6. Scala实战高手****第14课:Scala集合上的函数式编程实战及Spark源码鉴赏

    package com.dt.spark.scala.bascis object Functional_Itearal {   def main(args: Array[String]): Unit ...

  7. Scala实战高手****第13课:Scala模式匹配实战和Spark源码鉴赏

    package com.dt.spark.scala.bascis class Dataframework case class Computerframework (name:String,popu ...

  8. Scala实战高手****第12课:Scala函数式编程进阶(匿名函数、高阶函数、函数类型推断、Currying)与Spark源码鉴赏

    /** * 函数式编程进阶: * 1.函数和变量一样作为Scala语言的一等公民,函数可以直接赋值给变量 * 2.函数更常用的方式是匿名函数,定义的时候只需要说明输入参数的类型和函数体即可,不需要名称 ...

  9. Scala实战高手****第11课:Scala面向接口彻底实战和Spark源码鉴赏

    第一点: scala的接口trait中所有方法可以都被实现!! 这种情况一般会是一种工具方法的集合,例如接口 Logging! scala 多种继承用extends ... with  .... 在老 ...

随机推荐

  1. 20165326 java实验二

    2017-2018-2 20165326实验二<Java面向对象程序设计>实验报告 课程:Java程序设计 班级:1653班 姓名:陈卓 学号:20165326 成绩:指导教师:娄嘉鹏 实 ...

  2. PAT乙级 1031. 查验身份证(15)

    题目传送:https://www.patest.cn/contests/pat-b-practise/1031 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如 ...

  3. Java技术体系

    Shell 解释型编程语言(脚本语言都是解释型语言) Shell通过解释器/bin/bash 解释,运行在进程中 Java 编译型解释型语言(先编译再解释) Java通过编译器转换成字节码语言,再用过 ...

  4. matlab一行太长

    太长了,一行写不下,所以用...接下一行 例子: x=[ mvnrnd( mu_real(:,1) , cov_real(:,:,1) , round(N*a_real(1)) )' ,... mvn ...

  5. git 提交去除每次输账号密码

    问题:在使用git代码仓库时,使用git clone 获取代码时,如果使用的是https协议,则在每次push时需要输入账号密码. 相关文档:文档一,文档二 验证了文档一种的方法二可用,记录一下 创建 ...

  6. mysql手动设置数据表的自增值

    设置表tablename的自增值从1开始自增值 alter table tablename auto_increment=1;

  7. dfs——皇后问题(回溯)

    #include <iostream> using namespace std; ],b[],c[],d[]; ; dfs(int i) { if(i>n) { sum++; ) { ...

  8. 51Nod 1135:元根(数论)

    1135 原根  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 设m是正整数,a是整数,若a模m的阶等于φ(m),则称a为模m的一个原根.(其中φ(m) ...

  9. 启动服务报错:nested exception is java.lang.NoSuchMethodError: org.apache.cxf.common.jaxb.JAXBUtils.closeUnmarshaller(Ljavax/xml/bind/Unmarshaller;)V

    1.启动tomcat时报错:Error creating bean with name 'payInfService': Invocation of init method failed; neste ...

  10. Ubuntu防火墙简单设置

    http://wiki.ubuntu.org.cn/UFW防火墙简单设置 http://wiki.ubuntu.org.cn/Ufw使用指南 Ubuntu默认安装内置ufw防火墙,简单使用如下: su ...