前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据入门:Scala大数据黄金语言

大数据入门:Scala大数据黄金语言

作者头像
成都加米谷大数据
修改2020-11-27 18:07:12
9150
修改2020-11-27 18:07:12
举报
文章被收录于专栏:大数据开发

在大数据的学习当中,关于编程语言选择的部分,是很多人在学习初期非常关注的。在企业大数据平台开发场景下,Java语言是主流选择,其次涉及到Spark部分,就不得不提到Scala语言。今天的大数据入门分享,我们就具体来讲一讲大数据黄金语言Scala。

为什么Scala会有大数据黄金语言的说法呢,这其实与几个大数据重点框架组件有离不开的关系,我们熟悉的Spark,Kafka,Flink框架,核心代码都是由Scala完成的。

掌握Scala,在学习大数据组件的源码上,是能够帮助我们更好地理解和深入的,同时,在大数据开发任务当中,能够大大提升效率。

Scala语言背景

Scala这门语言,其实是“可扩展语言”(Scalable Language)的缩写,作为一种多范式的编程语言,在设计之初,就是要集成集成面向对象编程和函数式编程的各种特性。

简而言之,就是能够使用Scala编写出更加精简的程序,也能用于构建大型复杂系统,还可以访问任何Java类库并且与Java框架进行交互。

Scala语言特点

优雅:简洁的Scala,不再像Java一样总是需要冗长的表达式,简洁而优雅,对于应用开发程序员而言,API是否优雅直接影响用户体验。

速度快:Scala语言表达能力强,一行代码抵得上Java多行,开发速度快;Scala是静态编译的,所以相比其他一些编程语言,速度会快很多。

与Hadoop生态圈融合:Hadoop可以说是大数据事实标准,JVM语言,大家首先想到的是Java,而以Spark为例的框架,采用Scala,同样基于JVM,可能很好地与Hadoop生态圈融合。

Scala主要特性

1、运行于JVM和JavaScript之上

Scala利用了JVM的高性能,而且也把Java丰富的工具和类库为其所用。不过Scala并不是仅仅支持JVM,Scala-JS已经支持Scala运行于JS之上。

2、静态类型

在Scala语言中,静态类型(static typing)是构建健壮应用系统的一个工具。Scala修正了Java类型系统中的一些缺陷,此外通过类型推演(typeinference)也免除了大量冗余代码。

3、混合式编程范式——面向对象编程,函数式编程

Scala完全支持面向对象编程(OOP)。引入了特征(trait)改进了Java的对象模型。trait能通过使用混合结构(maxin composition)简洁的实现新的类型。在Scala中,一切都是对象,即使是数值类型。

Scala也完全的支持函数式编程(FP),函数式编程已经被视为解决并发、大数据以及代码正确性问题的最佳工具。使用不可变值、函数、高阶函数以及函数集合,有助于编写出简洁、强大而又正确的代码。

4、复杂的类型系统

Scala对Java类型进行了扩展,提供了更灵活的泛型以及一些有助于提高代码正确性的改进。通过使用类型推演。Scala编写的代码能够和动态的类型语言编写的代码一样精简。

5、可扩展的架构

使用Scala,能编写出简短的解释性脚本,并将其粘合成大型的分布式应用。

关于大数据入门,Scala大数据黄金语言,以上就为大家做了简单的介绍了。在大数据时代,流计算开发任务的增多,使得Scala有了更加广阔的用武之地,学习Scala还是很有必要的。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Scala语言背景
  • Scala语言特点
  • Scala主要特性
相关产品与服务
大数据处理套件 TBDS
腾讯大数据处理套件(Tencent Big Data Suite,TBDS)依托腾讯多年海量数据处理经验,基于云原生技术和泛 Hadoop 生态开源技术提供的可靠、安全、易用的大数据处理平台。 TBDS可在公有云、私有云、非云化环境,根据不同数据处理需求组合合适的存算分析组件,包括 Hive、Spark、HBase、Flink、Presto、Iceberg、Elasticsearch、StarRocks 等,以快速构建企业级数据湖仓。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档