尚硅谷大数据技术之Scala(韩顺平)

第一章:Scala概述

一.Scala背景

大数据三个问题

1.数据采集

2.数据存储(HBase)

3.数据计算(Spark,Flink,Mapreduce……)。计算分两种

  1.离线计算:MapReduce;

  2.实时计算:Spark(内存级大数据计算框架)

Scala是多范式编程语言,多种编程方式

  1.面向对象

  2.函数式

Scalable Language

Spark的兴起带动了Scala

发明者Martin Odersky主写Java 1.5与Java8编译器,从Pizza和Scala里引入大量特性到Java

Scala程序目的是高效、简单,少些代码。递归是达到这个目的的重要手段

Scala有以下特性

1.可以使用Java部分语法

2.Scala特有语法

3.增加函数式编程

  1.偏函数

  2.函数柯里化

  3.高阶函数

  4.纯函数

  5.函数作为参数

  ……

4.Scala类可以是对Java形式上的一种包装(继承,实现接口等)

Scala天生语法层面支持并行计算,可以较好的用于大数据计算开发

二.Scala特点

1.多范式静态编程语言

2.运行在JVM上

3.简洁高效,删除了三目、++、--运算符

快速学习办法:

1.学习Scala特有语法

2.搞清楚与Java区别

3.如何规范使用Scala

三.搭建环境

Windows:1.安装JDK 2.安装Scala程序安装包 3.配置环境变量SCALA_HOME为scala安装路径,并把bin目录加到Path里

Linux:也类似,解压tar包,设置PATH环境变量

Idea Scala插件安装:搜索Scala插件安装

四.Scala快速入门

object HelloScala{
      def main(args: Array[String])  :Unit={
             println("hello scala)
      }
}

object表明一个伴生对象,ojbect 对象名,生成一个“HelloScala$”的伴生匿名类,这个类的静态对象名字叫做MODULE$

先从HelloScala类的main方法执行,会调用HelloScala$.MOUDLE$里的同名方法接着执行

这里可以看到Scala对Java类的包装

Scala认为静态的不是面向对象,所以class里没有,静态的放object里

关键字def定义一个方法

Scala将参数名放前边,类型放后边,用:分隔

Array[String]表示类型为String数组

Unit为空

函数签名与返回结果用:隔开

一般scala可以执行javac编译出来的class文件,java不能执行scalac编译出来的class文件,可能会少类引用

scala可以直接编译、运行scala文件一步走

五.Idea创建Scala项目

1.创建一个原生maven项目

2.main目录下创建一个scala文件夹,标记为Source Root

3.默认不能写Scala程序,点击项目名,点击“Add Framework Support”,选Scala

4.创先新Scala文件。有三种类型,Class,Object,Trait

五.Java模拟Scala快速入门程序

总而言之,就是使用一个内部类,里边有个静态对象,这个静态对象的代码与scala里写的一样,主类同名的方法调用这个单例对象的同名方法

ojbect等同于声名一个单例的内部类静态对象

scala给java做了一个包装

六.Scala程序总结

1.源码后缀为scala

2.执行入口为main函数

3.Scala区分大小写

4.Scala程序不需要加分号

5.同一行多个语句,要用分号隔开

七.Scala转义字符与Java一样

八.字符串输出三种方式

1.用+相连

2.printf

3.s""这种形式,直接在s引导的双引号里用$引用变量。{}包起来表明是个表达式,里边可以直接计算

九.关联Scala源码

Ctrl+b查看源代码

Ctrl+Alt+l格式化代码

源码包要引入,maven可以直接下载

十.注释

三种注释格式

1.单行注释

2.多行注释

3.文档注释

每个函数都要有个注释

scaladoc -d 【输出目录】 【源码目录】

第二部分:

原文地址:https://www.cnblogs.com/cascle/p/12207524.html

时间: 2024-10-12 22:39:17

尚硅谷大数据技术之Scala(韩顺平)的相关文章

尚硅谷大数据技术之Linux第5章网络配置和系统管理操作5.6找回root密码

5.6 找回root密码 重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 1)重启Linux,见到下图,在3秒钟之内按下回车 2)三秒之内要按一下回车,出现如下界面 3)按下e键就可以进入下图 4)移动到下一行,再次按e键 5)移动到下一行,进行修改 修改完成后回车键,然后按b键进行重新启动进入系统 6)移动到下一行,进行修改 最终修改完密码,reboot一下即可. 本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源,欢迎大家关注尚硅谷公众号(atguigu)了解更多.

尚硅谷大数据Spark-2019版最新

第一章: 四.Local模式 仅仅本机运行 Local[k]代表有几个线程在跑 Local[*]代表跑满 五.spark使用 1.bin/spark-submit 参数,可以用来提交任务 参数如下 --master 指定Master的地址,默认为Local --class: 你的应用的启动类 (如 org.apache.spark.examples.SparkPi) --deploy-mode: 是否发布你的驱动到worker节点(cluster) 或者作为一个本地客户端 (client) (d

大数据技术之Hadoop入门

? 第1章 大数据概论 1.1 大数据概念 大数据概念如图2-1 所示. 图2-1 大数据概念 1.2 大数据特点(4V) 大数据特点如图2-2,2-3,2-4,2-5所示 图2-2 大数据特点之大量 图2-3 大数据特点之高速 图2-4 大数据特点之多样 图2-5 大数据特点之低价值密度 1.3 大数据应用场景 大数据应用场景如图2-6,2-7,2-8,2-9,2-10,2-11所示 图2-6 大数据应用场景之物流仓储 图2-7 大数据应用场景之零售 图2-8 大数据应用场景之旅游 图2-9

大数据技术栈

大数据技术栈 Hadoop 历史: https://www.jikexueyuan.com/course/677_1.html?ss=1 1. Google大数据与Hadoop对比 功能 Google Hadoop 存储 GFS HDFS 计算 MapReduce MapReduce 查询 BigTable HBase 2. 大数据分类 2.1 根据数据类型分类 2.1.1 结构化数据 能够用数据或统一的结构加以表示,人们称之为结构化数据,如数字.符号.传统的关系数据模型,行数据,存储于数据库,

基于大数据技术的手机用户画像与征信研究

内容提要:手机用户画像是电信运营商实现“数据驱动业务与运营”的重要举措.首先,介绍了手机用户画像过程中对个人隐私保护的方法,然后分析手机用户画像的数据来源与大数据实现技术,最后,通过数据样本实例分析手机用户画像在个人征信中的应用. 引言 随着计算机网络技术的不断发展,“数据即资源”的大数据时代已经来临.用户画像是电信运营商为了避免管道化风险,实现“数据驱动业务与运营”的重要举措.用户画像与应用大数据技术对客户分类密切相关,是单个客户的众多属性标签的累积:另一方面,在运营商涉足的消费金融领域,对手

王家林亲授《DT大数据梦工厂》大数据实战视频 Scala 深入浅出实战经典 - 第71讲

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-71讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2 技术爱好者尤其是大数据爱好者 可以加DT大数据梦工厂的qq群 DT大数据梦工厂① :462923555 DT大数据梦工厂②:437123764 DT大数据梦工厂③

痛客平台大数据技术助推贵阳“一企一策”

痛客平台大数据技术助推贵阳"一企一策" 当前中国,正在实施供给侧结构性改革,将经济增长动力点由消费者需求回归于企业方的供给.在这样的背景下,贵州省贵阳市正在实施"一企一策"工作.针对贵阳市的工业领域企业,开展相关企业的转型升级工作,落实国家供给侧结构性改革. "一企一策"工作旨在明确企业转型升级的重点方向,编制转型升级方案.而痛客平台致力于用众包方式解决各行业企业痛点,突破技术瓶颈.引领企业升级.在供给侧结构性改革的大背景下,痛客平台与"

除Hadoop大数据技术外,还需了解的九大技术

除Hadoop外的9个大数据技术: 1.Apache Flink 2.Apache Samza 3.Google Cloud Data Flow 4.StreamSets 5.Tensor Flow 6.Apache NiFi 7.Druid 8.LinkedIn WhereHows 9.Microsoft Cognitive Services Hadoop是大数据领域最流行的技术,但并非唯一.还有很多其他技术可用于解决大数据问题.除了Apache Hadoop外,另外9个大数据技术也是必须要了

《Spark大数据分析:核心概念、技术及实践》大数据技术一览

本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问云栖社区"华章计算机"公众号查看. 大数据技术一览 我们正处在大数据时代.数据不仅是任何组织的命脉,而且在指数级增长.今天所产生的数据比过去几年所产生的数据大好几个数量级.挑战在于如何从数据中获取商业价值.这就是大数据相关技术想要解决的问题.因此,大数据已成为过去几年最热门的技术趋势之一.一些非常活跃的开源项目都