scala

Scala系列19:Option类型,隐函数以及正则表达式的使用详解

試著忘記壹切 提交于 2020-10-01 16:58:09
目录 0. Option类型 0.1示例演示 1.偏函数的使用 1.scala中偏函数的定义 2.示例说明 2.Scala中正则表达式的使用 2.1 语法格式 2.2示例说明 0. Option类型 使用Option类型,可以用来有效避免空引用(null)异常。也就是说,将来我们返回某些数据时,可以返回一个Option类型来替代。 scala中,Option类型来表示可选值。这种类型的数据有两种形式: Some(x):表示实际的值 None:表示没有值 使用getOrElse方法,当值为None是可以指定一个默认值 0.1示例演示 示例1 定义一个两个数相除的方法,使用Option类型来封装结果 然后使用模式匹配来打印结果 不是除零,打印结果 除零打印异常错误 参考代码 /** * 定义除法操作 * @param a 参数1 * @param b 参数2 * @return Option包装Double类型 */ package com.robot.scalademo object _08ObjectDemo { def dvi(a:Double, b:Double):Option[Double] = { if(b != 0) { Some(a / b) } else { None } } def main(args: Array[String]): Unit = { val

Scala系列5:轻松搞定Scala中方法与函数的区别与使用

不问归期 提交于 2020-10-01 05:06:33
Scala 有方法与函数,二者在语义上的区别很小。Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。 有些翻译上函数(function)与方法(method)是没有区别的,比如都叫函数。 Scala 中的方法跟 Java 的类似,方法是组成类的一部分。 Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。 Scala 中使用 val 语句可以定义函数,def 语句定义方法。 0.方法介绍 一个类可以有自己的方法, scala中的方法和Java方法类似。 但scala与Java定义方法的语法是不一样的, 而且scala支持多种调用方式。 1.定义方法 2.方法参数 *默认参数 *带名参数 *变长参数 3.方法返回值类型推断 4.方法调用方式 *后缀调用法 *中缀调用法 *花括号调用法 *无括号调用法 0.1.定义方法 定义方法的语法格式: def methodName (参数名:参数类型, 参数名:参数类型) : [return type] = { // 方法体: 一系列的代码 } 特别注意:Scala的语言是极度灵活的 如果方法体函数在{}中,但是没有=,那么它的返回值类型就是Unit,这样的方法被称为过程。比如: def p1(s:String){ var b = "-"*s

关于Windows10下Linux子系统Ubuntu的JDK环境、Hadoop环境配置以及Scala安装中出现的问题

吃可爱长大的小学妹 提交于 2020-10-01 01:48:00
Windows10下Linux子系统Ubuntu的JDK环境、Hadoop环境配置以及Scala安装中出现的问题 安装前提: 平台:Windows10电脑,预先下载好的Ubuntu子系统,不会下载的见教程: Windows10使用Linux子系统 这里我使用的是Ubuntu18.04.2 我们要开始学习大数据的相关内容,老师要求我们自行安装好Linux系统下的Scala软件并且配置好它所需要的JDK 环境和Hadoop环境。这里我主要参考了林子雨老师的安装教程,不得不说,林老师的安装教程太太太太太赞了!感谢林老师! 附上林子雨老师的安装链接: spark2.1.0入门:spark的安装与使用 Hadoop安装教程 注:链接的安装教程中老师已经给出他提供的百度网盘资源,包含这次教程所需要的全部安装文件,大家不必费心去找,再次感谢林子雨老师(太感动了)! 选择Windows下Linux子系统的优点:没有虚拟机+Ubuntu镜像文件配置那么繁琐,就Scala的学习还是够用的; 但是据我下载了VirtualBox并且安装完Ubuntu系统的室友说,按照林子雨老师的教程安装这两者也没出现多大问题,想要安装VirtualBox的同学也可一试。 教程中的步骤已经很完备,下面我主要说说我在安装过程中出现的问题: 关于hadoop用户的创建之后的登陆

Flink部署及作业提交(On YARN)

你离开我真会死。 提交于 2020-09-30 08:47:29
Hadoop环境快速搭建 官方文档: YARN Setup 在上一篇 Flink部署及作业提交(On Flink Cluster) 文章中,我们介绍了如何编译部署Flink自身的资源分配和管理系统,并将作业提交到该系统上去运行。但通常来讲这种方式用得不多,因为在企业中,可能会使用不同的分布式计算框架,如Spark、Storm或MapReduce等。 如果每一种框架都需要搭建各自的资源分配和管理系统,就无法共享资源,导致资源利用率低。并且大多企业一般会使用Hadoop生态的相关组件做作为大数据处理平台的底座,如HDFS、Hive、YARN等。 其中 YARN 是资源调度框架、通用的资源管理系统,可以为上层应用提供统一的资源管理和调度,Spark、Flink、Storm等计算框架都可以集成到 YARN 上。如此一来这些计算框架可以享受整体的资源调度,进而提高集群资源的利用率,这也就是所谓的 xxx on YARN。因此,绝大部分企业都是将计算作业放到 YARN 上进行调度,而不是每种计算框架都单独搭一个资源分配和管理系统。这也是为什么要单独介绍Flink On YARN的原因。 想要让Flink作业跑在 YARN 上,我们首先得搭建一个Hadoop环境,为了简单这里只搭建单节点环境。我这里使用的是CDH的Hadoop发行版。下载地址如下: http://archive.cloudera