大数据入门Scala语言基础必备
紧接上一篇,我们对大数据黄金语言Scala为大家做了概述性的简介,也了解了Scala作为诸多大数据框架的核心代码开发语言,其重要性不言而喻。今天的大数据入门分享,我们来从更具体的层面认识Scala语言,讲讲Scala语言基础必备。
Scala的典型特点,就是简洁优雅,一方面,Scala继承了多种语言的优秀特性,另一方面它又抓住了Java这个强大的平台,运行于JVM之上,与Java类库互联互通,这使得Scala语言本身就有这很好的用户基础。 Scala函数式编程
Scala在编程上,既支持面向对象编程,也支持函数式编程,写出的程序简洁程度堪比动态语言,但是实质上是静态语言,可以说Scala是面向对象和函数式的完美结合。
函数式编程,是一种编程范式,属于结构化编程的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。也正是得益于函数式编程,使得Scala代码简洁,开发快速,接近自然语言,易于理解,易于并发操作,不修改变量也就不存在锁线程的问题,在并发编程上优势难挡。
Scala基础概念 一、变量与基本类型
1.变量
Scala定义变量的两个关键字:"var"与"val",var可重新赋值,val禁止重新赋值(只读)。定义多个变量用逗号分隔以批量赋值,var变量在重新赋值时必须保持类型一致。
2.基本类型
编译器会在变量赋值时自动推理类型,也可以在赋值时自己指定。 二、Function&Method
1.定义Method
用实例简单地说明Scala的Method定义方式即:
用"def"开始Method定义
| Method名
| |参数及参数类型
| | | Method返回结果的类型
| | | |等号
| | | | |
def max(x: Int, y: Int): Int = {
if(x > y)
x
else |
y |
} |
|
花括号里定义Method体
2.Function
Function的地位与变量的地位是相同的,Function是一种匿名函数的形式,它可以储存在变量中,成为Function与Method的参数或者当作其返回值。
3.将Method转换为Function
Method也可以实现和变量相等的地位,但是要通过一定的转换实现。
4.闭包
闭包是一个函数,返回值依赖于声明在函数外部的一个或多个变量。通常来讲可以简单的认为是可以访问一个函数里面局部变量的另外一个函数。
5.函数的特殊调用形式
Ⅰ.具名参数
在调用函数时显示声明参数名并给予其赋值可以无视参数顺序。按位置传递的参数和按名字传递的参数可以混用。
Ⅱ.默认参数值
定义参数时给参数赋值即可实现默认参数值。
Ⅲ.重复参数
在最后一个参数的类型后加星号即可标记其为重复参数,可以在调用函数时传入任意个相同类型的元素,但是不能传入该类型的Array,否则会报错。
6.柯里化
在Scala中,柯里化允许一个函数有任意个参数列表。
7.传名函数
Scala在解析函数参数(Function arguments)时有两种方式:
传值调用(call-by-value):先计算函数参数表达式的值,再应用到函数内部;
传名调用(call-by-name):将未计算函数参数的表达式直接传到函数内部。
简单的说,传名调用每次调用计算一次参数表达式,传值调用计算表达式后再进入函数,只有参数的值参与函数调用。
关于大数据入门,Scala语言基础,以上就为大家做了简单的介绍了。Scala语言,在大数据生态当中,主要与Spark、kafka、Flink等框架有关,而这几个框架本身在大数据生态的地位也不容动摇。
1人点赞
日记本
亏30亿的京东必须靠618回血618前夕,京东发布了财报,数据并不亮眼。这也是上任40天后,徐雷作为京东新任CEO的第一份财报。5月17日,京东集团发布了2022年第一季度业绩。虽然核心零售业务实现了同比增长,
数字孪生的应用与发展小到一颗螺丝,大到一座城市,数字孪生即将给我们的生活带来一场革命性的巨变。什么是数字孪生在失控玩家这部电影中,人类可以在数字的虚拟世界中娱乐工作,甚至恋爱。电影所描述的这些场景算数
TVM加速模型,优化推断TVM是一个开源深度学习编译器,可适用于各类CPUs,GPUs及其他专用加速器。它的目标是使得我们能够在任何硬件上优化和运行自己的模型。不同于深度学习框架关注模型生产力,TVM更关
高通骁龙730正式发布比肩骁龙845三星A80或将首发在2019QualcommAIDay中,高通正式发布了全新的骁龙730骁龙665移动平台。骁龙730是骁龙710的更新换代之作,小米9SE上的骁龙712相比骁龙710在架构上并没有
一图看懂凤凰卫视2018全年业绩来源格隆汇凤凰卫视发端于1996年3月31日启播的凤凰卫视中文台,以拉近全球华人距离,向世界发出华人的声音为宗旨,致力于为世界华人提供高质素的华语节目,现已拥有凤凰卫视中文台资讯台
四种软件架构,看看你属于哪个层次SimpleEasyDevOps时代如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存晋升空间。这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能
谷歌云昨夜重磅发布2大技术平台,搞定7大开源公司智东西4月10日消息,今日凌晨,也就是美国时间4月9日上午9点,一年一度的GoogleCloudNext19大会在旧金山在Moscone中心如约而至。这场大会为期3天,由谷歌云举办
简讯Intel九代酷睿标压版型号规格全泄露全系大降价,小米米粉节开启AMD发布第二代锐龙PRO和速龙PRO商用处理器日前,AMD发布面向移动笔记本平台的AMDRyzenPRO3000系列(第二代)和AthlonPRO商用处理器。包含四款新品AMDR
知乎再爆变相裁员,要求业务转岗做技术,还没有补偿早在去年12月份,互联网就传出知乎开始裁员。虽然知乎对此进行否认,称只是正常人员调整,但随后多位被裁员工在脉脉上证实此事,并且对被裁员工给予N1补偿。然而进入3月份后,知乎又传出人
一加7真机照曝光弧形全面屏4800万三摄近日,微博上曝光了一组一加7的真机谍照。从照片中我们可以看到,其在开机状态下显示了关于手机页面,显示了这款新旗舰的硬件规格。从真机谍照中可以看到一加7的边框非常窄,额头和下巴部分明
共享单车翻倍涨价贵过公交,网友盼ofo涨价多赚钱还押金文AI财经社杨雅芳编明萱本文由AI财经社原创出品,未经许可,任何渠道平台请勿转载。违者必究。除了ofo,市面上常见的共享单车品牌纷纷选在4月涨价。近日,哈罗单车发布调整骑行价格公告