工作随笔-20171024
2017-10-25 10:10
316 查看
appName(s"Crossroadfree") 这个是个什么语法?
这个是字符串插值用法,从scala2.10.0版本开始,在s""的里面可以使用$val来嵌入变量。
相类似的插值还有f 和raw
https://docs.scala-lang.org/zh-cn/overviews/core/string-interpolation.html
// 文章里面的高级算法没看明白。
=================
spark2.0的新特性
https://databricks.com/blog/2016/05/11/apache-spark-2-0-technical-preview-easier-faster-and-smarter.html
https://www.iteblog.com/archives/1668.html
=============================
scala中object和class的区别?
class:
1 所有类的变量默认是public的,可以设置private,protected, public
2 scala的方法默认都是public的, 可以设置为private,protected,public甚至更多https://alvinalexander.com/scala/how-to-control-scala-method-scope-object-private-package
object就相当于static的class,object中定于的方法,属性都可以被静态调用。
===============================
看到同事有一个match语法,是个什么意思?
这个match就相当于是switch case,是scala里面的关键词
这个逻辑就是判断parseDate解析出来的是不是符合日期的格式。如果是的话,就把args(3) 赋值给date,否则的话,就退出。
=================================
同事的代码中看到这么一行
好像是说获取当前这个spark的rdd的列的名字?
运行的时候发现这个并没有啥用。
=================================
同事的代码看到这么一行:
三个引号是代表多行字符串。当我们的字符串有多行的时候,就使用这个多行字符串进行获取。
它也是支持字符串插值的。
============================
看同事的代码有下面一行:
询问他为什么这里有个Tuple1,理由是DataParseUtil.parseJunctionDriverBasicData 这个函数有可能返回null。
=================================
scala中的集合?
scala中集合分为可变集合和不可变集合
这个是字符串插值用法,从scala2.10.0版本开始,在s""的里面可以使用$val来嵌入变量。
val name="James" println(s"Hello,$name")//Hello,James
相类似的插值还有f 和raw
val height=1.9d val name="James" println(f"$name%s is $height%2.2f meters tall")//James is 1.90 meters tall f 插值器是类型安全的。如果试图向只支持 int 的格式化串传入一个double 值,编译器则会报错。例如: scala>raw"a\nb" res1:String=a\nb 当不想输入\n被转换为回车的时候,raw 插值器是非常实用的。
https://docs.scala-lang.org/zh-cn/overviews/core/string-interpolation.html
// 文章里面的高级算法没看明白。
=================
spark2.0的新特性
https://databricks.com/blog/2016/05/11/apache-spark-2-0-technical-preview-easier-faster-and-smarter.html
https://www.iteblog.com/archives/1668.html
=============================
scala中object和class的区别?
class:
1 所有类的变量默认是public的,可以设置private,protected, public
2 scala的方法默认都是public的, 可以设置为private,protected,public甚至更多https://alvinalexander.com/scala/how-to-control-scala-method-scope-object-private-package
object就相当于static的class,object中定于的方法,属性都可以被静态调用。
===============================
看到同事有一个match语法,是个什么意思?
val date = CommonUtil.parseDate(args(3)) match { case Some(_: LocalDate) => args(3) case None => { System.err.println("Date param should be yyyyMMdd pattern") System.exit(1) } }
这个match就相当于是switch case,是scala里面的关键词
这个逻辑就是判断parseDate解析出来的是不是符合日期的格式。如果是的话,就把args(3) 赋值给date,否则的话,就退出。
=================================
同事的代码中看到这么一行
println(functions.input_file_name)
好像是说获取当前这个spark的rdd的列的名字?
运行的时候发现这个并没有啥用。
=================================
同事的代码看到这么一行:
sqlContext.sql(""" SELECT user_no,oper_code FROM cui.operation_data_android WHERE user_no <> 'null' AND oper_time>='20160101000000' AND oper_time<'20160114000000' """).take(1)
三个引号是代表多行字符串。当我们的字符串有多行的时候,就使用这个多行字符串进行获取。
它也是支持字符串插值的。
val count = "2" val weightGroupSql = s""" |SELECT first(cityId) as cityId, | startLink, | endLink, | count(1)/${count} as count |FROM | test | group by startLink, endLink | """.stripMargin
============================
看同事的代码有下面一行:
val junctionDriverBasicData = junctionDriverBasicDataLines .map(item => Tuple1(DataParseUtil.parseJunctionDriverBasicData(item))) .filter(!_._1.isEmpty) .map(_._1.get)
询问他为什么这里有个Tuple1,理由是DataParseUtil.parseJunctionDriverBasicData 这个函数有可能返回null。
=================================
scala中的集合?
scala中集合分为可变集合和不可变集合
相关文章推荐
- 工作随笔2018-03-05
- 工作1年之随笔
- [20110303]工作随笔
- [20110308]工作随笔
- javaweb随笔(一)------struts工作流程
- 2012.11.4随笔--拿到一块开发板准备开始linux的学习时,思路的整理工作。
- 随笔,平日工作小记
- 一篇对实际工作很有帮助的随笔:Server ADF 动态创建mapService
- ios-(Xib的使用) 工作随笔
- 工作第三周:之前的随笔
- 老徐的工作随笔(3)从技术到管理转型中的几个技巧
- 工作问题随笔
- 半瓶水-Dagger框架工作随笔
- 工作随笔
- 工作随笔---WiFi开发(3)---WIFIScanList类
- 工作随笔——一次简单的Maven加速构建实战
- 随笔-对新工作说点什么
- 生活随笔:1000元的工作你做吗?
- 忙里偷闲 -- 工作随笔
- 前端js工作中常用随笔