2022.1.3学习日志

今天学习了scala的基本元素。

推荐这些文章:

Scala scala函数式编程

面向对象编程
解决问题,分解对象,行为,属性,然后通过对象的关系以及行为的调用来解决问题。
Scala 语言是一个完全面向对象编程语言。
万物皆对象 对象的本质:对数据和行为的一个封装
函数式编程
解决问题时,将问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用 这些封装好的步骤,解决问题
 
在 Scala 中函数式编程和面向对象编程完美融合在一起了。
 
 
函数基础

函数和方法的区别
 
(1)为完成某一功能的程序语句的集合,称为函数。
 

 
 
(1)Scala 语言可以在任何的语法结构中声明任...

大三寒假学习 spark学习 Scala面向对象编程 类(编译和执行)

编译和执行:
  新建test.scala文件
  
 
  使用scala命令:scala test.scala
  
  也可以在Scala解释器下执行scala文件,启动scala解释器
  输入:load 文件地址
  
 
  要编译必须有object 对象,又有main函数:
  
 
  使用scalac编译,在使用scala执行
  
 
 
 
 
 

 

...

2022.4.16学习成果

一:安装scala
1)解压scala-2.11.8.tgz到 /usr/local/src目录下
master机器:
[root@master ~]# tar -zxvf /opt/software/scala-2.11.8.tgz -C /usr/local/src/
 
2)更换目录名
master机器:
[root@master ~]# mv /usr/local/src/scala-2.11.8 /usr/local/src/scala
 
3)将scala目录权限赋给hadoop用户
master机器:
[root@master ~]# chown ...

【异常】[ERROR] error: java.lang.StackOverflowError,at scala.tools.nsc.transform.Erasure$Eraser.adaptMember(Erasure.scala:646)

1 完整异常信息

[ERROR] error: java.lang.StackOverflowError
[INFO] at scala.tools.nsc.transform.Erasure$Eraser.adaptMember(Erasure.scala:646)
[INFO] at scala.tools.nsc.transform.Erasure$Eraser.typed1(Erasure.scala:712)
[INFO] at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5423)
[I...

大三寒假学习 spark学习 Scala数据结构

容器(collection):
  Scala提供了一套丰富的容器(collection)库,包括序列(Sequence)、集合(Set)、映射(Map)等
  根据容器的元素的组织方式和操作方式,可以分未有序的无序的,可变的不可变的等不同的容器类别
  Scala用了三个包来组织容器类,分别是scala.collection 、scala.collection.mutable和scala.collection.immutable。scala.collection包中的容器通常都具备对应的不可变实现和可变实现。
  scala.collection包中容器的宏观层次结构:
  
列表(Lis...

大三寒假学习 spark学习 Scala数据结构2

迭代器(Iterator):
  迭代器(Iterator)不是一个容器,而是提供了按顺序访问容器元素的数据结构。
  迭代器包含两个基本操作:next和hasNext。next可以返回迭代器的下一个元素,hasNext用于检测是否还有下一个元素
  
  Iterable有两个方法返回迭代器:grouped和sliding。然而,这些迭代器返回的不是单个元素,而是原容器(collection)元素的全部子序列。这些最大的子序列作为参数传给这些方法。grouped方法返回元素的增量分块,sliding方法生成一个滑动元素的窗口。两者之间的差异通过REPL的作用能够清楚看出
  前面的解释或许...

寒假进度8-IDEA配置Scala

IDEA配置Scala
1.创建新的maven项目

 2.点击File,打开setting,点击Plugins搜索scala并下载安装

 3.在IDEA中右键单击scala点击Add Framework Support添加scala框架支持

选择create

 点击Browse

点击Finish
 
这样就完成了scala的配置,可以创建scala class文件了

 

...

2022.4.3学习成果

(1)Flink的架构
简单理解无界流和有界流
无界流:流数据不会停止,没有边界,需要实时处理,绝对的实时处理,来一条,处理一条。
有界流:定义了数据的范围,类比Spark-Streaming中的微批次处理,Hive离线Mr处理。
Flink擅长于处理无界数据流(例如Kafka里的日志数据),有界数据集。
Fink可以部署在Yarn,K8s,Mesos多种资源调度框架中。
Fink可以处理任意数据量级。

上万亿的Event处理。
维护TB级别的处理状态。(类比Spark RDD中Cache,持久化TB级别的处理状态)
运行在上千个核心的机群中。

Flink的状态持久化的优化

当Fli...

scala之windows环境安装与配置

因新公司要用到scala,故从今天开始学习scala,今天先从在本机搭建scala环境开始。
我写的有些简单,主要用于加深自己的印象,大家有想看详细的可参考如下网址:https://www.cnblogs.com/memento/p/8660286.html
一、本机环境上的scala配置
1、先确认本机已装好了jdk1.8
2、从 Scala 官网下载安装包:https://downloads.lightbend.com/scala/2.12.4/scala-2.12.4.msi
     进行一步步的安装
3、接着需要设置系统环境变量;
右击【我的...

大三寒假学习 spark学习 Scala基本语法

Scala有两种类型的变量:

val 不可变 声明时必须被初始化,初始化后就不能再赋值
var 可变的 声明的时候需要初始化,初始化后可以被赋值

 
Scala的数据类型:
  
  和Java不同的是,在Scala中,这些类型都是“类”,并且都是包scala的成员,比如,Int的全名是scala.Int。对于字符串,Scala用java.lang.String类来表示字符串
 
字面量(literal)我初步理解为变量的值
  
 
运算符:

算术运算符:加(+)、减(-) 、乘(*) 、除(/) 、余数(%);
关系运算符:大于(>)、小于(&...

文章标题:2022.1.3学习日志
文章链接:https://www.dianjilingqu.com/3942.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>