- 博客(85)
- 资源 (20)
- 收藏
- 关注
原创 Java8-初识Lambda表达式与函数式接口
Java8被称作Java史上版本更新变化最大的一个版本。其中包含很多重要的新特性,最核心的就是增加了Lambda表达式和Stream API。这两者也可以结合在一起使用。首先来看下什么是Lambda表达式。Lambda表达式,维基百科上的解释是一种用于表示匿名函数和闭包的运算符,感觉看到这个解释还是觉得很抽象,接下来我们看一个例子public class SwingTest { p
2017-11-29 08:19:13
417
转载 Java Nio 零拷贝
传统的IO处理方式上下文切换包括:用户空间(User space),内核空间(Kemel space)首先,当读取一个硬盘上的文件时,上下文会从用户空间切换到内核空间,由内核空间以DMA(Direct Memory Access)直接内存访问的方式将数据从硬盘(Hardware)复制到内核缓冲区,紧接着将内核缓冲区中的数据复制到用户缓冲区,上下文切换回用户空间。如果有逻辑处理,在逻辑执
2017-11-06 08:39:38
2446
原创 idea 快捷键简记
mac版查找类资源 双击 shift查看实现 command+option+左键返回上一视图 command+option+左方向键windows版
2017-03-29 20:49:23
385
原创 Git命令使用笔记
Git中文件管理三种状态:已修改(modified)在工作目录中修改Git文件已暂存(staged)对已经修改的文件执行暂存操作,存入暂存区已提交(committed)将已暂存的文件执行Git提交操作,存入本地版本库Git安装Linux:sudo apt-get install gitMac:安装命令行工具(如已安装Xcode,命令行工具
2016-08-17 22:27:33
2105
原创 awk使用
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk是 AWK 的 GNU 版本。现在一般所说的awk就是gawkawk程序的报告
2016-03-20 23:17:30
423
原创 crontab命令使用
基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令 crontab文件的一些例子: 30 21 * * * /usr/local
2016-03-20 18:41:48
361
原创 date命令使用
date命令的帮助信息 [root@localhost source]# date --help用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]以给定的格式显示当前时间,或是设置系统日期。 -d,--date=字符串 显示指定字符串所描述的时
2016-03-20 18:40:58
373
原创 Hive学习
2015-10-28hive安装:http://blog.csdn.net/yinhaonefu/article/details/44246357基本语法:http://blog.csdn.net/yinhaonefu/article/details/44656749HIve中变量和属性命名空间1.hivevar 用户自定义变量2.hiveconf Hive相关的配置属
2015-10-28 09:35:21
356
原创 shell学习
Shell是用户与Linux操作系统沟通的桥梁Linux的Shell种类众多,这里我们学习的是bash,也就是Bourne Again Shell,由于易用和免费,Bash在日常工作中被广泛使用,同时,Bash也是大多数Linux系统默认的Shell。文件名后缀通常是.sh#!/bin/bash#这里是注释在一般情况下,人们并不区分 Bourne Shell和B
2015-09-06 22:20:54
436
原创 solr学习
solr是一个基于lucene的搜索引擎,可以实现全文搜索。它对外提供类似于Web-service的API接口,可以通过http请求进行操作。solr可以很方便的实现一个站内搜索功能(http://zookeeper.apache.org/中的搜索)solr的特点通过HTTP协议处理搜索和查询请求。增加了缓存,让响应速度更快。提供了一个基于web的管理界面查询结果分
2015-08-12 22:22:19
594
原创 MapReduce的自定义排序
package com.bigdata.hadoop.mapred;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import java.net.URI;import org.apache.hadoop.conf.Configuration;import org.apach
2015-07-27 21:21:08
487
原创 MapReduce的DBInputFormat
使用MapReduce直接从关系型数据库中取数据package com.bigdata.hadoop.mapred;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import java.net.URI;import java.sql.PreparedStatement;i
2015-07-26 15:28:35
1138
1
原创 MapReduce的KeyValueTextInputFormat
如果行中有分隔符,那么分隔符前面的作为key,后面的作为value;如果没有分隔符,那么整行作为key,value为空当输入数据的每一行是两列,并用tab分离的形式的时候,KeyValueTextInputformat处理这种格式的文件非常适合。代码示例:package com.bigdata.hadoop.mapred;import java.io.IOException;im
2015-07-26 15:24:03
1245
原创 MapReduce的NlineInputFormat
默认情况下在对输入文件进行拆分时,会按block块的大小分成多个InputSplit,InputSplit的数量取决于block的大小。每个map进程处理一个InputSplit,InputSplit中有多少行记录就会调用多少次map函数。如果使用NlineInputFormat,代表每个map进程处理的InputSplit不再按block块去划分,而是按NlineInputForma
2015-07-26 14:54:44
1600
原创 使用httpFS访问hdfs
1.编辑hadoop配置文件httpfs-env.sh2.将export HTTPFS_HTTP_PORT=14000前的注释#删除,并确保14000未被占用3.执行httpfs.sh run启动web服务可以使用curl 在命令行执行curl -i "http://hadoop4:14000/webhdfs/v1/?user.name=root&op=GETHOMEDIRE
2015-07-21 22:36:52
2522
原创 hadoop2.6.0学习
hadoop2有三个核心模块hdfs:负责数据的分布式存储主从结构主节点,可以有2个: namenode从节点,有很多个: datanodenamenode负责:接收用户操作请求,是用户操作的入口维护文件系统的目录结构,称作命名空间datanode负责:存储文件mapreduce:依赖磁盘io的批处理计算模型主从结构主
2015-07-19 22:19:42
1251
原创 常用shell命令
文本查找与替换创建hello文件,内容为hello you hello meecho hello you hello me > hello将hello文件中第一个hello替换为welcome,但是并没改变hello文件原内容sed 's/hello/welcome' hello将替换后的文本输出到hello2文件中sed 's/hello/welcome' hel
2015-07-17 09:19:23
333
原创 ElasticSearch学习
什么是ES:Elasticsearch是一个基于Lucene的实时的分布式搜索和分析引擎。ES的用户:GitHub使用Elasticsearch来检索超过1300亿行代码。维基百科使用Elasticsearch来进行全文搜做并高亮显示关键词,以及提供search-as-you-type、did-you-mean等搜索建议功能。ES VS SOLR 比较:REST风
2015-07-01 23:01:30
3404
原创 kafka学习
kafka是由LinkedIn开发,主要是用来处理Linkedin的大面积活跃数据流处理(activity stream). 此类的数据经常用来反映网站的一些有用的信息,比如PV,页面展示给哪些用户访问,用户搜索什么关键字最多,这类信息经常被log到文件里,然后线下且周期性的去分析这些数据。现在这种用户活跃数据已经成为互联网公司重要的一部分,所以必须构建一个更轻量且更精炼的基础架构。
2015-06-23 22:12:51
397
原创 hbase优化
HBase的性能优化1.数据写入到WAL和memstore中。 memstore中的数据flush到HDFS中。 数据存放在内存中,一般存放在jvm中的新生代、老生代区域。 memstore一般设置大小为128MB。 设置合理的memstore的值,可以提高数据装载到HBase中的速度。 2.对列簇启用压缩 比如GZIP、LZO、Zippy、Snap
2015-06-22 21:38:51
504
原创 从hdfs批量导出数据到hbase表中
将hdfs中的日志数据导入到hbase中。打成jar包在服务器使用hadoop jar xxx.jar 包名.类名 运行需要将hbase类库加到hadoop的classpath中,在hadoop-env.sh文件中添加hbase类库export HADOOP_CLASSPATH=/usr/local/hbase/lib/* 即可package
2015-06-22 14:30:21
2552
原创 Spark学习
Standalone 模式(官网推荐)1.下载spark-1.2.1-bin-hadoop2.4.tgz 并解压缩2.进入conf目录,修改spark-env.sh.template为spark-env.sh 修改slaves.template为slaves3.修改slaves文件,添加从节点的ip或者主机4.修改spark-env.sh文件,里面的SPARK_MASTER_I
2015-06-19 21:39:38
460
原创 Scala学习
Scala是运行在JVM上的一门语言,一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格。scala安装目录下scala/api/scala-library/index.html 可查看scala的api文档scala变量定义 var str : String = "zhangsan"scala的函数都有返回值,当函数定义有“=”时,返回值是最后一行语句执行的
2015-06-15 22:13:13
489
原创 多线程同步辅助类
/** * 同步辅助类之信号量 * 允许指定共享资源数量,可以允许指定数量的线程同时访问资源 * 与同步的区别在于,同步时,一次只能一个线程访问资源 * @author Administrator * */public class SemaphoreDemo { public static void main(String[] args) { final Semaphore s
2015-06-05 22:26:54
406
原创 Storm学习
Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架。Storm能处理高频数据和大规模数据的实时流计算解决方案将被应用于实时搜索,高频交易和社交网络上。而流计算并不是最近的热点,金融机构的交易系统正是一个典型的流计算处理系统,它对系统的实时性和一致性有很高要求。与Hadoop比较:数据来源:HADOOP是HDFS上某个文件夹下的可能是成TB的
2015-06-04 22:20:25
1745
原创 Python学习
python数据类型:1.整数 2.浮点数 3.字符串 print 多个字符串时以逗号连接 print "hello","world" -> hello world4.布尔 True False 注意大小写5.空值 None6.常量7.list list是一种有序的集合,可以随时添加和删除其中的元素,list中元素也可以是不同类型
2015-05-13 10:35:10
381
原创 Redis学习2
redis管道(pipeline)redis的pipeline(管道)功能在命令行中没有,但是redis是支持管道的,在java的客户端(jedis)中是可以使用的。测试发现:1:使用管道方式,插入1000条数据耗时37毫秒Pipeline pipelined = jedis.pipelined();long start = System.currentTimeMillis()
2015-05-09 20:58:17
540
原创 Redis学习
Redis是一种面向“键/值”对数据类型的内存数据库,可以满足我们对海量数据的读写需求。redis的键只能是字符串redis的值支持多种数据类型: 1:字符串 string 2:哈希 hash 3:字符串列表 list 4:字符串集合 set 不重复,无序 5:有序集合sorted set ,
2015-05-06 21:53:53
721
原创 MapReduce的输入处理类
MapReduce输入的处理类FileInputFormat是所有以文件作为数据源的InputFormat实现的基类,FileInputFormat保存作为job输入的所有文件,并实现了对输入文件计算splits的方法。至于获得记录的方法是有不同的子类——TextInputFormat进行实现的。InputFormat 负责处理MR的输入部分.有三个作用:验证作
2015-04-27 22:30:35
925
原创 MapReduce中的SequenceFile和MapFile
SequeceFile是Hadoop API提供的一种二进制文件支持。这种二进制文件直接将对序列化到文件中。一般对小文件可以使用这种文件合并,即将文件名作为key,文件内容作为value序列化到大文件中。这种文件格式有以下好处:支持压缩,且可定制为基于Record或Block压缩(Block级压缩性能较优)本地化任务支持:因为文件可以被切分,因此MapReduce任务时数据的本地化
2015-04-26 22:18:46
771
原创 Zookeeper应用场景
分布式队列 FIFO(先进先出) Barrier(同步队列)共享锁集群管理 leader选举命名服务分布式应用配置项的管理等FIFO设计思路1.在/queue-fifo的目录下创建 SEQUENTIAL 类型的子目录 /x(i),这样就能保证所有成员加入队列时都是有编号的。2.出队列时通过 getChildren( ) 方法可以返回当
2015-04-22 22:34:03
410
原创 Zookeeper学习
Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务Zookeeper的角色领导者(leader),负责进行投票的发起和决议,更新系统状态学习者(learner),包括跟随者(follower)和观察者(observer),follower用于接受客户端请求并想客户端返回结果,在选主过程中参与投票Observer可以接
2015-04-21 22:35:07
393
原创 Hive0.14 语法
创建数据库create database mydb;切换数据库use mydb;创建数据库create database if not exists mydb;创建内部表表的同时加载数据create table student_test(id INT, info struct) ROW FORMAT DELIMITED FIELDSTER
2015-03-27 09:04:56
1222
原创 Hive0.14安装
1.首先下载apache-hive-0.14.0-bin.tar.gz并解压,为了方便,解压后的文件夹重命名为hive142.ls到hive目录下的conf目录,将hive-env.sh.template重命名为hive-env.sh。hive-default.xml.template重命名为hive-site.xml3.修改hive-env.sh,增加以下三行export JAV
2015-03-13 22:52:06
764
原创 查看fsimage和edits文件
查看fsimage文件:启动服务器bin/hdfs oiv -i 某个fsimage文件查看内容bin/hdfs dfs -ls -R webhdfs://127.0.0.1:5978/导出结果bin/hdfs oiv -p XML -i tmp/dfs/name/current/fsimage_0000000000000000055 -o fsimage.xml查看ed
2015-03-12 22:58:21
538
原创 hadoop2.6.0 shell 命令
bin/hdfs dfs命令appendToFileUsage: hdfs dfs -appendToFile ... 追加一个或者多个文件到hdfs制定文件中.也可以从命令行读取输入.· hdfs dfs -appendToFile localfile /user/hadoop/hadoopfile· hdfs dfs -appendToFile localfile1 lo
2015-03-06 22:38:25
2016
原创 hadoop2.6.0 shell常用操作
1.1. 对hdfs的shell操作a) 执行bin/hdfs dfs [-command]b) -ls 显示文件夹的内容i. -h 显示文件大小的时候,使用K\M\G显示文件大小ii. -R 递归显示文件夹包含的内容c) -mkdir 创建文件夹i. -p 递归创建文件夹d) -put 上传文件i. -f 如果已经存在文件,那么强制覆盖ii. -p 把linu
2015-02-01 17:28:34
467
原创 Java笔试面试(==和equals)
/* * 以下输出内容是什么 */public class Test { public static void main(String[] args) { String str = new String("abc"); String str2 = new String("abc"); System.out.println(str == str2);//false Sy
2015-01-31 21:30:55
516
原创 Java常用工具总结
/** * 判断字符串是否是整数或小数 * @param str * @return */ public static boolean isNumeric(String str) { Pattern pattern = Pattern.compile("[0-9]+(.[0-9]+)?"); return pattern.matcher(str).matches();
2015-01-31 21:27:24
334
教务管理系统测试报告
2016-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人