- 博客(59)
- 资源 (3)
- 收藏
- 关注
原创 scala类和对象
总结:scala 也支持构造函数的重载其它的构造函数应该使用 def this(参数列表){} 定义scala 构造函数分为两种:① 主构造函数只能有一个它的入参, 会自动的成为类的属性② 辅构造函数可以有多个(构造器的重载)首航必须是调用主构造函数它的形参仅仅是一个普通的局部常量辅构造函数调用其他辅构造函数时, 只能后声明的调用先声明的package...
2019-12-04 17:52:00
282
原创 scala 包声明和包导入
package com.kino.scala.day03.work.pack// 和 Java 一样, 可以在顶部使用 import 导入, 在这个文件中的所有类都可以使用//import java.util.ArrayList//import java.util.List//import java.util._//import java.util.{ArrayList => ...
2019-12-04 17:51:50
950
原创 scala 的 trait
Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大。与接口不同的是,它还可以定义属性和方法的实现。一般情况下Scala的类只能够继承单一父类,但是如果是 Trait(特征) 的话就可以继承多个,从结果来看就是实现了多重继承。Trait(特征) 定义的方式与类类似,但它使用的关键字是 trait,如下所示:object TraitDemo { def ...
2019-12-04 17:51:42
289
原创 scala 给类取别名
顺嘴提一句scala 在导入包的时候,也可以给指定的类取别名,例如import java.util.{ArrayList => JAL}使用的时候,用 定义好的名字 JAL 即可,例如new JAL[String]()以上为导包时, 给指定类取别名,下面回归正题在工作的时候取名字总是一件让人头大的事情,有时候取的类名名字实在是过长,使用的时候很麻烦,这个时候就用到了 给类...
2019-12-04 17:51:35
1427
原创 scala 数组的使用及示例代码
在 scala 中, 数组分为定长数组和可变数组一、定长数组:声明方式:① new Array[Type](length):声明一个指定类型,指定长度的空数组② val array: Array[Int] = Array(1,2,3):通过初始化元素的个数来直接确定数组的长度实例/** * 数组: * 定长数组: 一旦声明长度, 不可更改 * * ...
2019-12-04 17:51:09
621
原创 scala 常用API及示例代码
一、数组的常用操作定长数组操作说明:+在数组的最右边增加元素+:在数组的最左边增加元素++拼接两个数组,并返回一个新的数组++=拼接两个数组mkString(str)将数组转成字符,按照 指定的 “str” 进行拼接length/size获取数组的大小(长度)sum求数组元素的总和(仅对数值型数组有效)head获取第...
2019-12-04 17:50:55
566
原创 scala 集合的 map 映射、高阶函数使用、集合的压平、 集合的过滤、集合的简化、集合的折叠、集合的扫描、集合的拉链、集合的迭代器、集合的分组
文章目录一、map 映射: list.map(fun)二、高阶函数的使用三、集合的压平:list.flatMap(fun)四、集合的过滤: list.filter(fun)五、简化:`list.reduceLeft(fun)` `list.reduceRight(fun)` `list.reduce(fun)`四、折叠: `list.foldLeft(fun) 等价 /:` `list.LeftR...
2019-12-04 17:50:48
742
原创 scala 的排序
排序的本质, 就是比较元素的大小数字类型的可以直接进行比较, 对象类型的, 需要自定义比较规则Java 中对对象进行排序, 需要继承/实现 Comparable、comparator, 重写对应方法scala 的排序支持 3 中算子:sortedsortBysortWithsortedsorted: 对 List<对象> 进行 sorted 的第一种写法实现过程...
2019-12-04 17:50:38
860
原创 scala 隐式转换详解
一、scala 隐式转换引出隐式转换的引出,先看一段代码//隐式转换的引出代码val num: Int = 3.5// Double 无法转成 Int -> 高精度 无法自动转为 低精度println(s"num: ${num}")概念隐式转换: 以 implicit 关键字声明的, 带有单个参数的函数,这种函数 将会自动应用, 将值从一种类型转为另一种类型;用隐式转换的概...
2019-12-04 17:50:15
1076
原创 scala 模式匹配 match
文章目录一、match 基本介绍二、match 的细节和注意事项三、模式匹配之条件守卫四、模式匹配之变量匹配、常量匹配五、模式匹配之类型匹配一、match 基本介绍scala 中的模式匹配类似于 Java 中的 switch 语法, 但是更加强大;模式匹配语法中, 采用 match 关键字声明, 每个分支采用 case 关键字进行声明, 当需要匹配时,会从第一个 case 分支开始, 如果...
2019-12-04 17:50:03
1276
原创 scala 部分应用函数与偏函数
文章目录一、部分应用函数二、偏函数一、部分应用函数部分应用函数: 是指一个函数有N个参数, 而我们为其提供少于N个参数, 那就得到了一个部分应用函数.def sum(a:Int,b:Int,c:Int) = a + b + c; 那么就可以从这个函数衍生出一个偏函数是这样的:def p_sum = sum(1, _:Int, _:Int)于是就可以这样调用p_sum(2,3), ...
2019-12-04 17:49:38
349
原创 Spark 常用 API
一、 map:返回一个新的 RDD, 该 RDD 是由原 RDD 的每个元素经过函数转换后的值组成,就是对 RDD 中的数据做转换/** * map: 返回一个新的 RDD, 该 RDD 是由原 RDD 的每个元素经过函数转换后的值组成, * 就是对 RDD 中的数据做转换 */def main(args: Array[String]): Unit = { val conf: Sp...
2019-12-04 17:49:21
1763
1
原创 centos6 安装使用 zsh+oh-my-zsh+autojump
看别人用zsh开发感觉完全就是一副大佬的样子,教练我也想…一、zsh安装查看当前系统的shell[kino@hdoop102 ~]$ echo $SHELL/bin/bash查看centos的bin下是否有zsh包[kino@hdoop102 ~]$ cat /etc/shells/bin/sh/bin/bash/sbin/nologin/bin/dash/bin/...
2019-12-04 17:48:57
1003
原创 zsh 各类操作
修改 欢迎信息vim /etc/motd _ _ | | (_) | | _ _ ____ ___ | | / ) | _ \ / _ \ | |< (| | | | | |_| ||_| \_)_|_| |_|\___/ 重新连接:Connecting to 192.168.1.104:22...C...
2019-12-04 17:48:04
296
原创 Spark Streaming 的 reduceByKeyAndWindow 窗口函数
Spark Streaming提供了窗口计算,可让您在数据的滑动窗口上应用转换一些常见的窗口操作如下。所有这些操作都采用上述两个参数-windowLength(窗口长度)和slideInterval(滑动步长)。窗口函数描述window(windowLength,slideInterval)Return a new DStream which is computed b...
2019-12-04 17:47:50
1154
1
原创 Spark源码分析(一):Master 启动
文章目录启动 master一、启动脚本: start-all.sh1.1 start-master.sh Master 脚本分析去到脚本: spark-daemon.sh1.2 start-slaves.sh Worker 脚本分析去到脚本:slave.sh启动 master一、启动脚本: start-all.sh#!/usr/bin/env bash# 如果配置了 SPARK_HOM...
2019-12-04 17:47:15
907
原创 使用 canal 实时监控 mysql 并读取到 Kafka(scala 版)
文章目录一、canal 安装和启动1.1下载 canal1.2 解压1.3 配置1.4 启动canal1.5 查看日志1.6 关闭canal二、从 canal 读取数据到Kafka2.1 创建 maven 工程2.2 从 canal 服务读取数据的客户端2.3 专门处理数据的工具类: `CanalHandler`一、canal 安装和启动1.1下载 canalwget https://gi...
2019-12-04 17:47:03
1024
原创 mysql 开启 binlog详细操作教程
文章目录说明步骤一: 赋权限步骤二:开启binlog步骤三: 重启 mysql 使 binlog 生效步骤四:检查binlog 是否生效说明mysql 开启 binlog 的前提:mysql 的版本需要是 5.62及以上,如果不是的话,请升级版本如果不升级就开启 binlog,会报一下错误原因:binlog_checksum 是 MySQL 5.6.2 才引入的,5.6.2 一下根本...
2019-12-04 17:46:50
1195
mysql-libs.zip
2019-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅