大数据spark学习第一周Scala语言基础

Scala简单介绍

Scala(Scala Language的简称)语言是一种能够执行于JVM和.Net平台之上的通用编程语言。既可用于大规模应用程序开发,也可用于脚本编程,它由由Martin Odersk于2001开发。2004年開始程序执行在JVM与.Net平台之上。由于其简洁、优雅、类型安全的编程模式而受到关注。 
Scala的创建者——Martin Odersk

在Scala的创建之初,并没有怎么引起重视,随着Apache Spark和Apache Kafka这样基于Scala的大数据框架的崛起,Scala逐步映入大数据从业者的眼帘。

Scala的拥护者们觉得Scala的主要优势是速度和它的表达性。眼下使用scala的作为支撑公司开发语言的包含Foursquare和Twitter。2009年Twitter把大部分后台系统的开发语言从Ruby换成了Scala。參见这篇文章:Twitter on Scala: A Conversation with Steve Jenson, Alex Payne, and Robey Pointer,” Scalazine, April 3,2009, www.artima.com/scalazine/articles/twitter_on_scala.html.

Scala语言具有例如以下特点:

1 纯面向对象编程语言

  • (1) Encapsulation/information hiding.
  • (2)Inheritance.
  • (3)Polymorphism/dynamic binding.
  • (4)All predefined types are objects.
  • (5) All operations are performed by sending messages to objects.
  • (6)All user-defined types are objects.

2 函数式编程语言 
定义:Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data.

函数式编程语言应支持以下特性: 
(1)高阶函数(Higher-order functions) 
(2)闭包( closures) 
(3)模式匹配( Pattern matching) 
(4)单一赋值( Single assignment ) 
(5)延迟计算( Lazy evaluation) 
(6)类型推导( Type inference ) 
(7)尾部调用优化( Tail call optimization) 
(8)类型推导( Type inference )

3 Scala语言具有非常强的兼容性、移植性 
Scala执行于JVM上,能够与JAVA进行互操作,具有与JAVA一样的平台移植性

Scala安装教程

厦门大学数据库实验室 http://dblab.xmu.edu.cn/blog/929-2/

原文地址:https://www.cnblogs.com/wj1998/p/10459665.html

时间: 2024-08-09 10:36:44

大数据spark学习第一周Scala语言基础的相关文章

大数据Spark学习:Scala基础第一课

计划: 阶段1: 精通Spark内核 阶段2: 精通千万级的项目 阶段3: 机器学习 JAVA本身不是伟大的语言,伟大的是JVM,构件分布式平台什么的,依赖的是JVM,不一定要JAVA语言 可认为Scala是JAVA的升级语言,JAVA是支持面向对象的语言,而非纯面向对象的语言.Scala是一切皆对象, 是纯面向对象语言.面向对象结合函数式编程. 不可变变量声明val result = 10+2  不可再次赋值,分布式数据的时候,传输数据.校验数据等不想改变这个数据 可变变量var name =

Spark大数据的学习历程

Spark主要的编程语言是Scala,选择Scala是因为它的简洁性(Scala可以很方便在交互式下使用)和性能(JVM上的静态强类型语言).Spark支持Java编程,但对于使用Java就没有了Spark-Shell这样方便的工具,其它与Scala编程是一样的,因为都是JVM上的语言,Scala与Java可以互操作,Java编程接口其实就是对Scala的封装. 大数据未来几年发展的重点方向,大数据战略已经在十八届五中全会上作为重点战略方向,中国在大数据方面才刚刚起步,但是在美国已经产生了上千亿

大数据的学习历程

大数据scala语言不仅可以在函数中嵌套函数,还可以定义偏函数. def sum(a :Int,b:Int,c:Int) = a+b+c val pld = sum _ println(pld(1,2,3)) println(pld.apply(1, 2, 3)) val ped = sum(1,_:Int,3) println(ped(2)) println(ped.apply(2)) val add = (x : Int)=> x+2 println(add.apply(3)) 定义偏函数是

Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈与熟练的掌握Scala语言【大数据Spark

Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈 大数据的概念与应用,正随着智能手机.平板电脑的快速流行而日渐普及,大数据中图的并行化处理一直是一个非常热门的话题.图计算正在被广泛地应用于社交网络.电子商务,地图等领域.对于图计算的两个核心问题:图存储模式和图计算模型,Spark GraphX给出了近乎完美的答案, 而Spark GraphX作为图计算领域的屠龙宝刀,对Pregel  API的支持更是让Spark GraphX如虎添翼.Spark GraphX可以轻而易举的完成基于度分布

王家林 大数据Spark超经典视频链接全集[转]

压缩过的大数据Spark蘑菇云行动前置课程视频百度云分享链接 链接:http://pan.baidu.com/s/1cFqjQu SCALA专辑 Scala深入浅出经典视频 链接:http://pan.baidu.com/s/1i4Gh3Xb 密码:25jc DT大数据梦工厂大数据spark蘑菇云Scala语言全集(持续更新中) http://www.tudou.com/plcover/rd3LTMjBpZA/ 1 Spark视频王家林第1课:大数据时代的“黄金”语言Scala 2 Spark视

如何成为大数据Spark高手

原文连接:http://blog.csdn.net/rlnLo2pNEfx9c/article/details/78778959 Spark是发源于美国加州大学伯克利分校AMPLab的集群计算平台,它立足于内存计算,性能超过Hadoop百倍,从多迭代批量处理出发,兼收并蓄数据仓库.流处理和图计算等多种计算范式,是罕见的全能选手.Spark采用一个统一的技术堆栈解决了云计算大数据的如流处理.图技术.机器学习.NoSQL查询等方面的所有核心问题,具有完善的生态系统,这直接奠定了其一统云计算大数据领域

大数据最佳学习路线总结

一,题记 要说当下IT行业什么最火?ABC无出其右.所谓ABC者,AI + Big Data + Cloud也,即人工智能.大数据和云计算(云平台).每个领域目前都有行业领袖在引领前行,今天我们来讨论下大数据Big Data这个方向. 二,大数据里面的角色 角色一:大数据工程 大数据工程需要解决数据的定义.收集.计算与保存的工作,因此大数据工程师们在设计和部署这样的系统时首要考虑的是数据高可用的问题,即大数据工程系统需要实时地为下游业务系统或分析系统提供数据服务: 角色二:大数据分析 大数据分析

进阶指南|三个月大数据工程师学习计划

申明:本文旨在为普通程序员(Java程序员最佳)提供一个入门级别的大数据技术学习路径,不适用于大数据工程师的进阶学习,也不适用于零编程基础的同学. 前言 一.背景介绍 本人目前是一名大数据工程师,项目数据50T,日均数据增长20G左右,个人是从Java后端开发,经过3个月的业余自学成功转型大数据工程师. 很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:458345782,有大量干

零基础大数据新手学习路线教程

大数据-数据挖掘,越来越火,90%的企业都在运用或者都想要利用大数据为其带来更便利的服务,从而大数据高端软件类人才可谓供不应求. 如何学好大数据? 第一阶段:大数据新手入门系统教程Java+MySQL+关系型数据库+阿里巴巴<码出高效>编码规约 知识点 一.Java基础入门:Java编程入门:Java编程初体验,Java运行机制; Java语法基础:Java程序的组织形式与命名规则,变量类型和定义,表达式和运算符; 程序的流程结构:分支结构,循环结构;函授:函数的定义,函数调用,函数递归定义和