事后诸葛亮的程序人生(微信:zq9017197)

不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!...

十、字符串操作

1.字符串操作 在对字符串进行处理时,需要借助于包“strings” 1.1 Contains func Contains(s, substr string) bool 功能:字符串s中是否包含substr,返回bool值 func main() { str := "h...

2019-01-18 21:30:57

阅读数:21

评论数:0

九、文本文件处理

1.创建文件 GO语言中提供了一个Create( )函数专门创建文件. 该函数在创建文件时,首先会判断要创建的文件是否存在,如果不存在,则创建,如果存在,会先将文件中已有的数据清空。 同时,当文件创建成功后,该文件会默认的打开,所以不用在执行打开操作,可以直接向该文件中写入数据。 packag...

2019-01-18 21:30:36

阅读数:10

评论数:0

八、异常处理

1.error接口 package main import ( "fmt" "errors" ) func Test(a int, b int) (result int, err error) { err = nil...

2019-01-17 21:08:06

阅读数:12

评论数:0

七、面向对象

严格意义上说,GO语言中没有类(class)的概念,但是我们可以将结构体比作为类,因为在结构体中可以添加属性(成员),方法(函数)。 当然严格意义上,GO语言中是没有继承的,但是我们可以通过”匿名组合”来实现继承的效果。 1.继承 //继承 type Person struct { id ...

2019-01-17 21:07:29

阅读数:15

评论数:0

六、复合数据类型

1.数组 func main() { var a [10] int = [10] int{1, 2, 3, 4, 5, 5, 4, 3, 2, 1} for index, data := range a { fmt.Println(index, ":",...

2019-01-17 21:06:24

阅读数:15

评论数:0

五、包

工程管理 为了更好的管理项目中的文件,要求将文件都要放在相应的文件夹中。GO语言规定如下的文件夹如下: (1)src目录:用于以代码包的形式组织并保存Go源码文件。(比如:.go .c .h .s等) (2)pkg目录:用于存放经由go install命令构建安装后的代码包(包含Go库源码文件)...

2019-01-17 21:05:30

阅读数:11

评论数:0

四、函数

1.普通参数列表 func main() { car("奔驰") car("宝马") } func car(name string) { fmt.Println(name, ",汽车开跑了。。。&am...

2019-01-17 21:04:47

阅读数:16

评论数:0

三、流程控制

1.if语句 func main() { //if支持一个初始化语句,初始化语句和判断条件以分号分隔 if score := 97; score >= 90 && score <= 100 { fm...

2019-01-17 21:04:19

阅读数:12

评论数:0

二、变量、基本数据类型、常量、运算符

1.变量 package main import "fmt" func main() { fmt.Println("定义变量") var a int = 10 //定义一个变量a同时将整数10赋值给a var b, ...

2019-01-17 21:03:30

阅读数:13

评论数:0

一、第一个GO程序

Golang开发工具及资料 Go语言官网(需要翻墙):https://golang.org/ go中文社区:https://studygolang.com go中文在线文档:https://studygolang.com/pkgdoc 环境安装 有zip压缩版和msi安装版两个按本下载。(这...

2019-01-17 21:02:36

阅读数:11

评论数:0

十二、MapReduce详细工作流程

MapReduce程序运行流程分析 1)在MapReduce程序读取文件的输入目录上存放相应的文件。 2)客户端程序在submit()方法执行前,获取待处理的数据信息,然后根据集群中参数的配置形成一个任务分配规划。 3)客户端提交job.split、jar包、job.xml等文件给yarn,y...

2019-01-01 09:10:49

阅读数:121

评论数:0

十一、MapReduce开发总结

一、大量小文件的优化策略 默认情况下,每一个输入文件单独切片。切片大小=blocksize=128M。每次切片时,都要判断切完剩下的部分是否大于块(128M)的1.1倍,不大于块(128M)的1.1倍就划分一块切片。比如一个257M的文件,就切为2块:128M + 129M 默认情况下,Text...

2019-01-01 09:10:18

阅读数:593

评论数:1

十、MapReduce实战篇-端表合并

多表连接 订单表 order.txt 订单id、商品id、数量 1001 01 1 1002 02 2 1003 03 3 1001 02 2 1002 03 3 1003 03 5 商品表 produce.txt 商品id、商品名称 01 小米 02 华为 03 格力 将商品表中数...

2018-12-31 01:56:15

阅读数:37

评论数:0

九、MapReduce实战篇-最贵商品

测试数据 Order_0000001 Pdt_01 222.8 Order_0000002 Pdt_05 722.4 Order_0000001 Pdt_05 25.8 Order_0000003 Pdt_01 333.8 Order_0000003 Pdt_01 33.8 Order_00000...

2018-12-31 01:55:31

阅读数:36

评论数:0

八、MapReduce实战篇-流量汇总

流量汇总需求: 统计每一个用户(手机号)所耗费的总上行流量、下行流量,总流量 1.在mapper和reducer之间传递多个value值 序列化:自己实现了Writable接口(FlowSumBean),在mapper和reducer之间传递一个Bean对象。 也可以拼接字符串的方式来实现写出多...

2018-12-31 01:54:36

阅读数:34

评论数:0

七、MapReduce实战篇-单词计数

环境准备 开发MapReduce程序,需要Java环境,通常也就是在eclipse中新建一个Java Project工程 jar包准备 1)解压hadoop-2.7.2.tar.gz到非中文目录 2)进入share\hadoop文件夹,查找所有jar包,并把jar包拷贝到_lib文件夹下 3...

2018-12-31 01:53:22

阅读数:37

评论数:0

六、HDFS其他功能

集群间数据拷贝 采用discp命令实现两个hadoop集群之间的递归数据复制 hadoop distcp hdfs://cmaster0:8020/user/hadoop/hello.txt hdfs://hadoop102:9000/user/hadoop/hello.txt Hadoop存...

2018-12-27 19:41:43

阅读数:39

评论数:0

五、DataNode工作机制

DataNode工作机制 1)一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。 2)DataNode启动后向namenode注册,通过后,周期性(1小时)的向namenode上报所有的块信息。 3)心...

2018-12-27 19:41:03

阅读数:33

评论数:0

四、服役新数据节点 & 退役旧数据节点

环境准备 随着公司业务的增长,数据量越来越大,原有的数据节点的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点。 (1)克隆一台虚拟机(克隆cslave1为cslave2) (2)修改ip地址和主机名称(hostname:cslave2;ip:192.168.1....

2018-12-26 22:03:41

阅读数:35

评论数:0

三、NameNode工作机制

NameNode & Secondary NameNode工作机制 第一阶段:namenode启动 (1)第一次启动namenode格式化后,创建fsimage和edits文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。 (2)客户端对元数...

2018-12-26 22:01:14

阅读数:37

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭