- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 scala样例类
只要在声明类时 在class关键字前加上case关键字 这个类就成为了样例类 样例类和普通的区别在于: (1)默认实现序列化接口 (2)默认自动覆盖 toString equals hashCode方法 (3)不需要new可以直接生成对象case class Demo1(){}//这种写法,并且顺带给该类定义了一个构造函
2017-08-29 13:51:03 2094
原创 val arr = Array("aaa", "bbb", "ccc") 和 val list = List(1, 2, 3)
类似样例类,但又不是样例类,其实调用的是Array底层的工厂方法,具体细节不深究
2017-08-29 13:41:04 532
原创 scala自定义控制结构
1.自定义控制结构是通过 高阶函数+柯里化 来实现的def addAndPrint(x:Int,y:Int)(z:(Int)=>Unit) = { val sum = x+y z(sum)}2.调用该函数addAndPrint(1, 2)((a:Int)=>{println("sum="+a)})3.最后一个小括号其实可以改成大括号addAndPrint(1, 2){(a:Int)
2017-08-28 19:11:48 355
原创 scala函数等号省略
例1: 此时没有写返回值,但是有等号,函数会自己推断返回值,此时的返回值是Intdef add(x:Int, y:Int) = { x+y}例2: 此时没有写返回值,也没有等号,无论函数内部有没有返回值,返回值都是Unitdef add(x:Int, y:Int){ x+y}
2017-08-28 13:26:24 1813
原创 hadoop的命名空间用来保证hdfs被连接时的高可用
示例:zookeeper<property> <name>hbase.zookeeper.quorum</name> <value>flux04:2181,flux05:2181,flux06:2181</value></property>示例:<property> <name>hbase.rootdir</name> <value>hdfs://hadoop01:9000
2017-08-26 20:24:14 5482 2
原创 hbase集群安装配置
1.安装JDK 略 2.安装zookeeper集群(flux04, flux05, flux06) 略 3.安装hadoop集群(flux04, flux05, flux06, flux07, flux08, flux09) 略 4.安装hbase(flux07, flux08, flux09) 解压安...
2017-08-26 20:06:02 424
原创 storm集群安装配置
1.安装JDK 略2.安装zookeeper集群(flux04, flux05, flux06) 略3.安装Storm(flux07, flux08, flux09) 解压安装包即可4.配置Storm 修改$STORM_HOME/conf目录下的storm.yaml文件。 (1)storm.zookeeper.services:配置zookeeper集群
2017-08-26 18:28:20 293
原创 scala 函数柯里化
1、代码/** * 函数柯里化 */ object CurringFuncTest { def main(args: Array[String]): Unit = { //正常定义1 def multiple1(x:Int,y:Int) = x*y println(multiple1(2,3)) //其中一个函数作为返回值
2017-08-26 17:26:09 308
原创 scala变量访问范围
java中根据不同大括号区分变量作用范围 不允许有叠加 外部看不到内部 内部能看到外部 scala中根据不同大括号区分变量作用范围 允许有叠加 当有叠加时外部看不到内部,内部看不到外部例子:java代码 //java中这种写法报错,变量名重复 int a = 0; { int a = 0; }例子:scala代码
2017-08-26 17:23:35 861
原创 scala中循环不建议使用while和do...while,而建议使用递归
解析,因为while和do…while中没有返回值,所以当要用该语句来计算并返回结果时,就不可避免的使用变量 例子:计算1-10的和var num = 0;var x = 0;while(x<=10){ num += x; x += 1;}函数式编程的重要思想就是尽量不要产生额外的影响,上面的代码就不符合函数式编程的思想 例子:递归实现1-10的和def mx(num:In
2017-08-25 19:33:30 2109
原创 scala中的函数哪些有返回值,哪些没有返回值??
if判断后,将执行代码的最后一个表达式的值作为返回值返回 注意,这里不需要特意的去用return去将值返回val s13 = if (true) { "zhang" }
2017-08-25 19:00:12 4761
原创 scala中操作符可以分为三类
(1)中缀操作符var x1 = 1 + 2;var x2 = 1.+(2);(2)后缀操作符val s6 = "abcdef"val s7 = s6.substring(2, 3)val s8 = s6 substring(2, 3)(3)前缀操作符 由于操作符号就是方法,那么方法就得被调用,前缀操作符稍有不同val i1 = -1val i2 = 1.unary_-val i3 = +
2017-08-25 18:32:32 317
原创 scala中String的单引号和三引号的区别?
例如下代码,如果要换行,必须在代码中添加换行符\n\rval s1:String = "456 sldjf\n\r slkfjl lskjfls "如果换成三引号,可以在代码中直接回车val s2:String = """456 sldjf lkfjl lskjfls """
2017-08-25 18:14:31 7147 1
原创 scala可以自动推断常量和变量的类型
正常语法:val s1:String = "456"由于数据类型可以推断,可省略如下:val s2 = "789"
2017-08-25 18:04:07 2388
原创 scala有9种基本数据类型
Byte Short Int Long Char Float Double Boolean String(1) 其中String处于java.lang包下 其他的则处在scala包下 由于scala会自动导入java.lang和scala包所以这些类型可以在程序中直接使用(2)其实可以认为scala中并没有真正意义上的基本类型(如java中的基本类型) 以上的九种基本类型其实也是一个类.scala
2017-08-25 17:59:06 2440
原创 scala和java的关系
scala底层用到的还是java,只是在java上套了一层壳 .java –> .class –> jvm .scala –> .class –> jvm
2017-08-25 17:35:31 4208 1
原创 kafka和spark都是用scala写的
kafka : 分布式消息队列 内部代码经常用来处理并发的问题 用scala可以大大简化其代码。 spark : 处理多线程场景方便 另外 spark主要用作内存计算 经常要用来实现复杂的算法 利用scala这种函数式编程语言 可以大大简化代码。
2017-08-25 17:33:13 2701
原创 hadoop yarn隔离机制
资源调度和资源隔离是YARN作为一个资源管理系统,最重要和最基础的两个功能。资源调度由ResourceManager完成,而资源隔离由各个NodeManager实现,在文章“Hadoop YARN中内存和CPU两种资源的调度和隔离”中,我已经介绍了YARN的内存和CPU的资源隔离,本文将介绍YARN在资源隔离方面的一些进展。 当谈及到资源时,我们通常指内存,CPU和IO三种资源。默认情况下,YAR
2017-08-24 10:44:34 467
原创 linux防火墙暂时关闭,及防火墙永久关闭
暂时关闭防火墙:(开机重启,会重新打开) service iptables stop 永久关闭防火墙 chkconfig iptables off
2017-08-23 21:13:02 10665 1
原创 一个shell脚本实现linux集群所有机器免密钥登录
#!/bin/bashSERVERS="flux01 flux02 flux03 flux04 flux05 flux06 flux07 flux08 flux09"PASSWORD=rootauto_ssh_copy_id() { expect -c "set timeout -1; spawn ssh-copy-id $1; expect {
2017-08-23 19:45:08 3821
原创 CSDN使用Markdown编辑器写博客
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-08-22 19:49:29 521
原创 flume如何实现高可用和高性能?
flume的高可用,是依赖tomcat集群来实现的,每一个tomcat的项目都会与一个flume相关联,tomcat高可用的同时,flume也是高可用的.
2017-08-22 19:46:09 4060
MxNet预编译版本下载
2017-10-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人