- 博客(106)
- 收藏
- 关注
原创 简要介绍
<br />谈到Hadoop就不得不提到Lucene和Nutch。首先,Lucene并不是一个应用程序,而是提供了一个纯Java的高性能全文索引引擎工具包,它可以方便的嵌入到各种实际应用中实现全文搜索/索引功能。Nutch是一个应用程序,是一个以Lucene为基础实现的搜索引擎应用,Lucene为Nutch提供了文本搜索和索引的API,Nutch不光有搜索的功能,还有数据抓取的功能。在nutch0.8.0版本之前,Hadoop还属于Nutch的一部分,而从nutch0.8.0开始,将其中实现的NDFS和Ma
2010-12-06 15:42:00 979 1
原创 SQL优化
<br />我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享! <br />(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): <br />ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection t
2010-11-11 16:36:00 582
原创 Perl-18---目录操作函数
<br />一、mkdir()函数:<br />该函数用于创建一个新目录;调用语法:<br />$Ret = mkdir(DirName,Permissions);<br />DirName:这个参数指定需要创建的目录名;可以为字符串直接数或表达式;<br />Permissions:这个参数指定新创建的目录DirName的访问权限;该参数为八进制数;<br />参数Permissions设定的目录权限值:<br />调用成功,函数返回非零值(真:1),调用失败,函数返回零值(假);<br />也就是说
2010-11-03 11:23:00 799
原创 Perl-19---文件属性操作函数
<br />一、文件位置重定位函数:<br />1、rename()函数:文件重命名<br />$Ret = rename(OldName,NewName);<br />该函数用于把旧文件名OldName重命名为一个新的名字NewName,或者是把文件OldName转移到指定目录NewName下面;两个参数都可以为字符串或者表达式;如果OldName与NewName同为文件名或同为目录名,而且OldName与NewName的目录名完全相同,则该函数完成的式重命名工作;如果OldName与NewName的
2010-11-03 11:23:00 1136
原创 Perl-17---文件操作函数
<br />一、打开文件:<br />$OpenFileFlag = open(FILEHANDLE,"模式标识符 FileName");<br />如果打开成功,则返回真值(非空值);如果打开失败,则返回假值(空值);文件的默认访问模式是只读;<br />1、使用open函数进行文件重定向:<br />$OpenFlag = open(HFCAT,"cat file* |");<br />则open函数先把cat命令的输出构造成一个文件,然后与文件句柄变量HFCAT关联起来;<br />$Open
2010-11-03 11:22:00 1956
原创 Perl-16---命令行参数
<br />一、Perl中的命令行参数:<br />Perl提供了一个特殊的内置数组@ARGV来存放用户从命令行输入的参数;功能跟C/C++的命令行参数一样,但是实现上不太一样;Perl中定义的命令行参数不包含perl命令和perl命令后面的perl程序文件名,即:不包含“perl 程序文件名”,也就是说,数组@ARGV中存放的全都是用户在命令行上输入的参数,不包含“perl 程序文件名”;从“ perl 程序文件名”之后开始,到回车键之间的参数才会被存储到数组@ARGV中;$ARGV[0]中存放的
2010-11-02 17:24:00 1152
原创 Perl-15---文件操作
<br />Perl中使用一种叫做文件句柄类型的变量来操作文件;Perl使用文件句柄在程序与外部存储器中的文件之间建立了一个可以与外部存储介质交换数据的IO通道;建议文件句柄全部使用大写字母表示,以区别于普通的变量;Perl提供了三个内置的、比较特殊的文件句柄变量:STDIN、STDOUT和STDERR,分别代表标准输入、标准输出和标准出错输出; 一、文件的打开与关闭: 1、打开文件: Perl中使用open()函数打开文件,打开文件的语法如下: $OpenFlag = open(FILEHANDLE,“F
2010-11-02 17:13:00 2025
原创 Perl-14---作用域
<br />作用域(Scope)就是变量的有效范围、可见范围,变量只有在作用域中才会有效;<br />Perl中,数据的作用域分为全局作用域、词法作用域和动态作用域;Pe rl5中,可以使用关键字my和local来声明变量以及限定变量的作用域;<br />1、词法域:Lexical<br />使用my关键字声明的变量称为词法变量,词法变量的作用域就是词法域;词法变量是只限于所在作用域的局部变量;生成的词法变量不在包的符号表内,只能在自身所在的块中存在和访问;<br />使用my关键字声明词法变量的语法为:<
2010-11-02 17:11:00 889
原创 Perl-13---子程序-3
<br />一、子程序的引用:<br />Perl中不仅可以对标量变量、数组变量、哈希变量建立引用,而且也可以对子程序建立引用;子程序的引用类似于C/C++中的函数指针;构造方法如下:<br />$Pointer_to_Sub = sub { #函数体 };<br />这样就建立了一个对匿名子程序的引用;通过子程序引用调用子程序的语法如下<br />&$Pointer_to_Sub(参数列表);<br />1、子程序模板:<br />有时候可以通过子程序返回不同的子程序引用,可以创建一系列不同的子程序,这
2010-11-02 17:10:00 747
原创 Perl-13---子程序-2
<br />一、参数中的数组和哈希变量:<br />在定义参数列表的时候,有两种方法可以定义数组或哈希变量为输入参数:<br />1、在数组或哈希变量形参类型名前面加上反斜杠“/”;<br />2、把数组或哈希变量形参类型名放在参数列表中最后面的位置上;<br />作为参数传递的数组或哈希变量都将会被复制到参数列表的标量变量列表中,生成个数不确定的参数列表;实际上标量变量和加反斜杠“ /”的数组或哈希变量都是最常用的形参类型,因为哈希变量或数组类型指示符可以包含剩余的所有参数;<br />在程序编译时,输入
2010-11-02 17:09:00 1261
原创 Perl-13---子程序-1
<br />一、子程序的概念:<br />子程序就是函数,是一段执行特殊任务的分离的代码,使用子程序可以提高代码的复用度;从使用的角度来分,可以把子程序分为四种:系统函数、用户子定义函数、有参函数、无参函数;<br />Perl的子程序可以出现在程序中的任何地方;子程序的声明使用关键字sub来做;声明无参函数和有参函数的语法如下:<br />sub 子程序名;<br />sub 子程序名(参数列表);<br />只有声明而没有定义的子程序可以用于列表;定义子程序就是在子程序的声明后面加上一段代码块;无参
2010-11-02 17:08:00 1023
原创 Perl-12---引用
<br />一、引用的概念:<br />Perl中提供了一种类似于C/C++语言中的指针功能的数据类型,名叫引用;这个引用与C++中的引用的概念不一样,但是效果一样;Perl中的引用就是指针,它用于跟踪变量在内存中的地址,可以跟踪简单的标量变量、数组变量、哈希变量、文件句柄变量,甚至还可以跟踪子程序;引用存放的是某个变量在内存中的地址,这对于跟踪大型的数据对象是很有用的;引用也是一种数据类型,这种类型的变量叫做引用变量,引用变量中存放的是内存地址,而不论被引用的数据对象是何种类型的数据对象,不论被引用的数据
2010-11-02 17:05:00 1017
原创 Perl-11---循环修饰符
<br />在编写程序的过程中,常常要用到嵌套的循环结构,有时侯需要使用一种手段来中断它;Perl提供了以下四个循环修饰符:continue、next、last、redo;<br />1、continue语句块:<br />for循环的递增列表是在循环体之后执行的,continue语句块在功能上等价于循环的递增列表;在while循环、until循环和foreach循环中可以加入continue语句块:<br />◆ while循环<br /> while(条件表达式)<br /> {<br />
2010-11-02 17:04:00 970
原创 Perl-10---流程控制结构
<br />一、条件语句:有以下几种类型<br />1、if (条件表达式) {语句块}<br />2、单条Perl语句 if( 条件表达式);<br />3、if (条件表达式) {语句块1} <br /> else {语句块2}<br />4、if (条件表达式1) {语句块1}<br /> elsif (条件表达式2) {语句块2}<br /> elsif (条件表达式3) {语句块3}<br /> ...................
2010-11-02 17:00:00 983
原创 Perl-09---哈希变量
<br />一、哈希变量<br />哈希变量又称关联数组;与普通的数组一样,也可以使用下标来访问其中的数据元素;不同的是,哈希变量的下标不仅仅可以是非负整数,而且也可以是其它类型的简单变量或变量值,也就是说,哈希变量的下标索引可以是任意类型的简单变量或变量值,称为关键字;哈希变量以字符“%”开头;每个关键字都与一个值对应;<br />哈希变量的创建有两种方式:使用数组的创建方式和通过关联运算符“=>”的方式;<br />%Hash = (Key1,Value1,Key2,Value2,Key3,Valu
2010-11-02 16:57:00 1788
原创 Perl-08---数组库函数
<br />1、数组拼接函数:splice<br />用于向列表或数组中插入元素或子列表,也可以从数组或列表中删除元素或子列表,还可以替换数组或列表中的元素或子列表;其原形如下:<br />@RetValue = splice(@Array,SkipElements,Length,@NewList);<br />参数SkipElements是拼接前跳过的元素数目,即:从第SkipEllements个元素处开始拼接;Length表示将要被替换掉的元素数;@NewList是将要拼接近来的数组或列表;当@NewL
2010-11-02 16:56:00 1167
原创 Perl-07---数组
<br />1、数组的长度:<br /> 如果把数组变量赋值给标量变量,那么赋给标量变量的就是数组的长度:<br /> $a = @Array;#标量变量$a中存放的是数组@Array的长度,即:数组中元素的个数;<br /> ($a,$b,$c) = (1,2,3); #则把1赋值给$a,把2赋值给$b,把3赋值给$c;<br /> 数组中的最后一个元素的下标索引由数组的特殊变量$#ArrayName决定;用“$#+数组名”表示一个特殊变量,这个变量中存放的是数组中最后一
2010-11-02 16:53:00 934
原创 Perl-06---运算符
<br />1、数字运算符:+(加) 、-(减)、 *(乘) 、/(除)、**(乘方/乘幂)、%(取余);<br /> 这些运算符混合了整数、浮点数和实数运算,运算的结果都寸入了正确的数字上下文中;<br /> <br /> 复合赋值运算符:<br /> +=、-=、*=、/=、**=、%=、.=、&=、|=、^=、<<=、>>=、&&=、||=;<br /> <br /> 自增/自减运算符: ++/--<br /> ++运算符除了可用于数字运算之外,还可以用于字符串运算,而--
2010-11-02 16:19:00 1605
原创 Perl-05---上下文
<br />Perl是上下文相关的,与很多其它语言有所不同。Perl中的运算和值的解释有时候依赖于围绕此运算或值的上下文。上下文包括数字、字符串、列表和标量。最常用到的有两种上下文:标量上下文和列表上下文。<br />返回列表值的运算需要一个列表,标量也一样。也就是说,Perl基于期望的返回值是单数还是复数来重载一定的运算。在标量上下文中,所求的表达式返回一个标量值;而在列表上下文中,所求的表达式返回一个标量值的列表。这就是两者之间的区别。<br />标量上下文对数据是作为数字进行运算还是作为字符串进行运算
2010-11-02 16:15:00 834
原创 Perl-04---字符串函数
<br />1、$position = index(string,substring,skipchars);<br /> 该函数返回子串substring在字符串string中的位置,如果不存在,则返回-1;参数skipchars是可选参数,表示查找之前跳过的字符数,即:从该位置处开始查找;<br />2、rindex(string,substring,skipchars):功能与index()类似,不同的是它从string的右端开始查找;<br />3、$Len = length(string):
2010-11-02 16:13:00 1236
原创 Perl-03---基本输入输出
<br />一、基本输入:<br />内置变量STDIN是和标准输入联系在一起的,它是一个文件句柄变量;用于从标准输入设备输入数据;<br />$Name = <STDIN>; #从命令行输入一个字符串数据,并把这个数据存放在变量$Name中;<br />@UserEnter = <STDIN>;#从命令行输入多个以空格分隔的数据,并把所有输入的数据存放在数组变量@UserEnter中;<br />STDIN输入的数据默认存放在Perl的内置特殊变量$_中;<br />STDIN也可以与一个指定的文件关联起
2010-11-02 16:11:00 698
原创 Perl-02---字符串
<br />一、Perl中的字符串:<br />Perl中有三种字符串:双引号字符串、单引号字符串和反引号字符串;<br />1、双引号字符串(" "):是使用一对双引号括起来的一串字符,其作用类似于C语言中的字符串;使用双引号时,Perl解释器实际上会逐一检查字符串直接数中的每一个字符,看看这个字符是否具有特殊定义,如果有特殊定义,则进行特殊处理,这个操作在Perl中称为变量插值;在双引号字符串中,可以把一个反斜杠放在某一个字符前面,使这个字符成为转义字符;<br />2、单引号字符串(' '):是使用一
2010-11-02 16:09:00 1067
原创 Perl-01---基本数据类型
<br />一、Perl的基本数据类型有三种:标量变量(Scalar)、数组变量(Array)、哈希变量(Hash/Dict);<br />1、标量变量:以字符"$"开头,$是标量变量的标记;标量变量用于保存整数、浮点数、BOOLEAN数等数字和字符串数据;它是Perl的最基本的数据类型;标量变量根据上下文应用环境来确定它所存放的是数字或字符串数据;<br />如:$a = 123;<br /> $b = 3.1415926;<br /> $c = "Perl";<br />2 、数
2010-11-02 16:06:00 628
原创 Hadoop安装部署
<br />本文主要是以安装和使用hadoop-0.12.0为例,指出在部署Hadoop的时候容易遇到的问题以及如何解决。<br /><br />硬件环境<br />共有3台机器,均使用的FC5系统,Java使用的是jdk1.6.0。IP配置如下:<br />dbrg-1:202.197.18.72<br />dbrg-2:202.197.18.73<br />dbrg-3:202.197.18.74<br />这里有一点需要强调的就是,务必要确保每台机器的主机名和IP地址之间能正确解析。<br />一个很
2010-09-07 15:24:00 464
原创 Hadoop简要介绍
<br />这里先大致介绍一下Hadoop.<br /> 本文大部分内容都是从官网Hadoop上来的。其中有一篇介绍HDFS的pdf文档,里面对Hadoop介绍的比较全面了。我的这一个系列的Hadoop学习笔记也是从这里一步一步进行下来的,同时又参考了网上的很多文章,对学习Hadoop中遇到的问题进行了归纳总结。<br /> 言归正传,先说一下Hadoop的来龙去脉。谈到Hadoop就不得不提到Lucene和Nutch。首先,Lucene并不是一个应用程序,而是提供了一个纯Java的高性能全文索
2010-09-07 15:23:00 497
原创 java从控制台读取字符串
<br />BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));<br />stdin.readLine();<br />从文件读取也是一样的:<br />BufferedReader in = new BufferedReader(new FileReader("FileName.txt"));<br />in.readLine()) ;<br />从URL读取<br />BufferedReader re
2010-08-19 13:37:00 914
原创 Linux下查看文件编码,文件或文件名编码格式转换
如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。一,查看文件编码:<br />在Linux中查看文件编码可以通过以下几种方式:<br />1.在Vim中可以直接查看文件编码<br />:set fileencoding<br />即可显示文件编码格式。<br />如果你只是想查看其它编码格式的文件或者想
2010-08-18 18:17:00 477
原创 linux sed
<br />sed命令的标准语法是:sed [options] '{command}' [filename] <br />本文所有操作以如下文本为例。[root@localhost ~]# cat sed_test.txt this is my sed test on sed test! welcom to use sed to change your work!I am fbirdzp!thank you very much![root@localhost ~]# <br /> <br
2010-08-07 17:24:00 1088
原创 shell常用规则
<br />一、用户登陆进入系统后的系统环境变量: <br />$HOME 使用者自己的目录 <br />$PATH 执行命令时所搜寻的目录 <br />$TZ 时区 <br />$MAILCHECK 每隔多少秒检查是否有新的信件 <br />$PS1 在命令列时的提示号 <br />$PS2 当命令尚未打完时,Shell 要求再输入时的提示号 <br />$MANPATH man 指令的搜寻路径 <br /><br />二、特殊变量: <br /><br />$0 这个程序的执行名字 <br />$n 这
2010-08-07 17:23:00 568
原创 遍历hashMap、hashSet、Hashtable
一.遍历HashMapMap map = new HashMap(); for(int i=0;i { map.put(i, "123"); }方法一:效率比方法二高for(Entry entry:map.entrySet()) { System.out.println(entry.getKey()+"="+entry.getValue()); }方法二:for(Object obj : map.keySet()) { Object key = obj;
2010-08-05 13:57:00 6748 1
原创 HashSet类的用法
<br />HashSet是实现Set接口的一个类,具有以下的特点:<br />Ø 不能保证元素的排列顺序,顺序有可能发生变化。<br />Ø 另外HashSet不是同步的,如果多个线程同时访问一个Set,只要有一个线程修改Set中的值,就必须进行同步处理,通常通过同步封装这个Set的对象来完成同步,如果不存在这样的对象,可以使用Collections.synchronizedSet()方法完成。<br />Set s = Collections.synchronizedSe
2010-08-05 11:59:00 846
原创 JAVA相关基础知识
<br />1、面向对象的特征有哪些方面 <br />1.抽象: <br />抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 <br />2.继承: <br />继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子
2010-08-05 10:39:00 426
原创 eclipse快捷键
<br />作用域 功能 快捷键 <br />全局 查找并替换 Ctrl+F <br />文本编辑器 查找上一个 Ctrl+Shift+K <br />文本编辑器 查找下一个 Ctrl+K <br />全局 撤销 Ctrl+Z <br />全局 复制 Ctrl+C <br />全局 恢复上一个选择 Alt+Shift+↓ <br />全局 剪切 Ctrl+X <br />全局 快速修正 Ctrl1+1 <br />全局 内容辅助 Alt+/ <br />全局 全部选中 Ctrl+A <br />全局 删除
2010-08-05 10:21:00 469
原创 程序员有哪些发展方向
<br />程序员职业生涯发展到一定程度都会面临一个选择,是走业务+技术方向,还是选择纯钻研技术。程序员职业生涯发展的问题,这是所有程序员都在关心的问题,未来究竟要怎么走,30岁之后还能不能再做程序员。<br />绝大多数程序员最终的职业目标可能都是CTO,做到CEO的人估计会比较少,也有一少部分人自己去创业去当老板,也有部分人转行了,当老板的人毕竟是少数,转行的人都不在这行做了,自然没什么好说的了。一般来说,程序员的发展基本上都会经历这么几条路径。程序员——系统分析员——架构师——技术经理——CTO,程序
2010-08-05 09:32:00 486
原创 Eclipse调试常用技巧
<br />记得刚刚毕业的时候,自己连断点也不会打,当时还在用JCreate,就连毕业设计也是用System.out找Bug的,想想真的很笨。开始工作后,一个星期过去了,在一个1、2百万行的系统中找Bug,我依然在用System.out,当时最痛苦的就是修改代码,每次找到疑似Bug,就输出一下,然后重启(那时也不知道代码热替换),直到有一天带我的导师发现了这样笨笨的调试Bug,才让我第一次认识了断点,也知道了代码修改完了可以进行热替换, 我这个中国教育的半牺牲品才算向美好生活迈进了一小步。<br /> <b
2010-08-03 10:42:00 464
原创 vi编辑器常用的命令及快捷键
<br />光标控制命令<br /><br />命令 光标移动<br />h或^h 向左移一个字符<br />j或^j或^n 向下移一行<br />k或^p 向上移一行<br />l或空格 向右移一个字符<br />G 移到文件的最后一行<br />nG
2010-07-27 15:50:00 633
原创 shell常用文件处理命令
<br />文件的合并与分割:<br />1. sort<br />命令格式:<br />sort -cmu -o output_file [other options] +pos1 +pos2 input_file<br />-c 测试文件是否已经分类。<br />-m 合并两个分类文件。<br />-u 删除所有复制行。<br />-o 存储s o r t结果的输出文件名。<br />其他选项有:<br />-b 使用域进行分类时,忽略第一个空格。<br />-n 指定分类是域上的数字分类。<br />
2010-07-27 11:32:00 766
原创 awk用法小结
<br />awk 用法:awk ' pattern {action} ' <br /><br />变量名 含义 <br />ARGC 命令行变元个数 <br />ARGV 命令行变元数组 <br />FILENAME 当前输入文件名 <br />FNR 当前文件中的记录号 <br />FS 输入域分隔符,默认为一个空格 <br />RS 输入记录分隔符 <br />NF 当前记录里域个数 <br />NR 到目前为止记录数 <br />OFS 输出域分隔符 <br />ORS 输出记录分隔符 <br /
2010-07-27 11:29:00 463
原创 linux 时间计算脚本
#!/bin/bash<br /><br /># User Defined Variables<br /># H,M,S 系統時間<br /># rhflag 0 = 當日, 1 = 明天, 2 = 後天...<br /># strUsage 參數提示訊息<br /># timeoffset 使用者輸入的時間 (時:分:秒)<br /># oh,om,os 從 timeoffset 提列出來的 時, 分, 秒 (case 1) / 進位值 (case 2)<br />#
2010-07-23 14:10:00 546
原创 备份与还原mysql数据库
备份MySQL数据库的命令<br />mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql<br /><br />备份MySQL数据库为带删除表的格式<br />备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。<br />mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sq
2010-07-23 14:08:00 470
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人