scala为什么用的很少 大数据中的Scala好掌握吗,自学可以吗?
大数据中的Scala好掌握吗,自学可以吗?
学习大数据技术需要掌握Scala。
但是,在学习Scala之前,您最好在一定程度上了解java和任何函数式语言(Haskell、SML等),特别是在您可以在编程范式之间自由切换之后。
Scala不偏向大数据方向的科学研究。它被用于许多地方,如火花。
1,JVM基础,与Java完全兼容。对于坚实的java基础的学生,学习斯卡拉非常友好!2!在普通工具中,水槽和Hadoop是用java编写的,Scale和卡夫卡是Scala编写的。
所以对于想学习大数据的学生来说,Scala确实是最受推荐的。
作为一种相对较新的语言,Scala有一个混乱的社区。在scala社区中有许多不同的尝试,主要是Java和Haskell,以及actor和reactive编程。如果你还没有掌握一个成熟的编程范例,我认为你很可能买不起Scala。!当java编程基础很好的时候,学习Hadoop系统,然后安排学习Scala,然后学习Scale,卡夫卡等等。这个顺序更科学合理,更容易让大家掌握。
推荐书籍:Scala编程,Scala函数编程https://www.toutiao.com/i6543924910664712718/
Scala中的Seq和List之间的区别?
Scala的SEQ将是Java的列表,Scala的列表将是Java的LinkedList。请注意,SEQ是一个trait,相当于Java的接口,但相当于即将推出的defender方法。Scala的list是一个抽象类,由nil和::扩展,后者是list的具体实现。因此,Java中的list是一个接口,scala中的list是一个实现。另外,Scala的列表是不可变的,这与LinkedList不同。事实上,Java没有等价的不可变集(只读的东西只能保证新的对象不能被更改,但是您仍然可以更改旧的对象,所以“只读”一个)。Scala的列表由编译器和库进行了高度优化。它是函数式编程中的基本数据类型。但是,它有局限性,对于并行编程来说是不够的。如今,向量是一个比列表更好的选择,但习惯很难打破。Seq是一个很好的泛化序列,所以如果你对一个接口编程,你应该使用它。请注意,实际上有三种:收藏序列, 集合.mutable.Seq以及collection.immutable.Seq集合,这是范围的“默认”导入。genseq和parseq。后一种方法在可能的情况下并行运行。前者是SEQ和parseq的父级,当代码的并行性无关时,这是一种适当的泛化。它们相对较新,所以人们不会使用它们。
为什么Spark要用Scala实现?
1. 斯帕克和斯卡拉真是天作之合。RDD的许多思想都与Scala类似,如map、filter等高阶算子与Scala的概念表完全相同。用很短的
代码,可以实现多行Java函数;类似于FP中的不可变和惰性计算,RDD可以用分布式内存对象实现,同时可以实现流水线。Scala善于利用例如,设计的初衷包括对JVM的支持,因此可以很好地借鉴Java的生态功能;像spark,很多东西不是自己写的,但是可以直接借鉴,比如直接在yarn、mesos、EC2中部署,使用HDFS、S3,借用配置单元的SQL解析部分;
3。阿克卡也便于发展高效的网络通信。
scala为什么用的很少 scala list scala集合的关联
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。