随笔分类 -  工具

Shell之数学计算
摘要:本博客已经迁往http://www.kemaswill.com/, 博客园这边也会继续更新, 欢迎关注~数学计算是Shell中比较常用的一种操作, 但是因为shell中所有的变量都默认为字符串, 这就使得在shell中进行数学计算比较复杂, 以下直觉上貌似正确的方法是不对的:#第一种错误方法$ var=1+1#第二种错误方法$ var=1$ var=$var+1以上两种方法的输出结果都是1+1, 而不是我们期望的2.在shell中进行数学计算可以通过以下方法来进行:1. declare我们可以声明一个变量的类型, 比如声明变量n为整数declare -i n$ n=6/3$ echo $n6/ 阅读全文

posted @ 2014-01-27 20:45 潘的博客 阅读(4125) 评论(0) 推荐(2) 编辑

Grep学习笔记
摘要:Grep(Global search Regular Expression and Print out the line)是一种强大的文本搜索工具。1. 正则表达式的基本组成部分正则表达式描述^行首标记$行尾标记.任意一个字符[]包含在[]中的任意一个字符[^]不包含在[]中的任意一个字符[-][]指定范围内的任意一个字符?匹配之前的字符1次或0次+匹配之前的字符1次或多次*匹配之前的字符0次或多次()创建一个用于匹配的字符串{n}匹配之前的项n次{n,}匹配之前的项至少n次{n,m}匹配之前的项n-m次|匹配|两边的任意一项\对之前的字符进行转义,不转义则代表字符本身2. POSIX字符类相 阅读全文

posted @ 2013-08-19 16:19 潘的博客 阅读(871) 评论(0) 推荐(0) 编辑

Pig性能优化
摘要:1. 尽早去除无用的数据 MapReduce Job的很大一部分开销在于磁盘IO和数据的网络传输,如果能尽早的去除无用的数据,减少数据量,会提升Pig的性能。 1). 尽早的使用Filter 使用Filter可以去除数据中无用的行(Record),尽早的Filter掉无用的数据,可以减少数据量,提升Pig性能。 2). 尽早的使用Project(Foreach Generate) 使用Foreach Generate可以去除数据中无用的列(Column),减少数据量,提升Pig性能。 2. 使用Combiner Combiner可以对Map的结果进行combine,减少Shuffle的数据量. 阅读全文

posted @ 2013-08-09 20:37 潘的博客 阅读(2742) 评论(0) 推荐(2) 编辑

Hadoop Streaming 简介
摘要:Hadoop是用Java实现的,但是我们也可以使用其他语言来编写MapReduce程序,比如Shell,Python,Ruby等,下面简单介绍一下Hadoop Streaming,并使用Python作为例子。 1. Hadoop Streaming Hadoop Streaming的使用方式为:1 hadoop jar hadoop-streaming.jar -D property=value -mapper mapper.py -combiner combiner.py -reducer reducer.py -input Input -output Output -file mappe. 阅读全文

posted @ 2013-04-18 00:25 潘的博客 阅读(2737) 评论(0) 推荐(0) 编辑

HIVE QL 杂记
摘要:HIVE QL优化 阅读全文

posted @ 2013-01-08 00:24 潘的博客 阅读(1414) 评论(0) 推荐(0) 编辑

Python 正则表达式
摘要:最近用Python的正则表达式做了许多工作,参考了余晟的《正则指引》,收获颇多,在此一一记录: 1. 正则表达式的几种匹配方法: 有三种方法可以用来进行正则表达式的匹配:search,match,findall (1) re.search(pattern,string[,flags]) 其中pattern为正则表达式,string为待匹配的文本,flags为匹配模式(详细介绍请见(5)). search方法用来测试正则表达式pattern能否在string中找到,如果可以则返回一个MatchObject对象,否则返回None。 MatchObject对象会在用search或match方法匹配. 阅读全文

posted @ 2012-12-28 21:42 潘的博客 阅读(503) 评论(0) 推荐(0) 编辑

Python optparser模块简介
摘要:写Python脚本写多了,有的脚本参数很多,有的脚本参数需要经常调节,直接去脚本中改参数或简单的通过sys.argv来传递参数都不方便,于是就专门学习了一下专用的选项解析器optparser模块。 一个简单的例子: 假设我们需要生成一些服从二维高斯分布的一些随机点,该Python脚本需要用户输入3个参数:生成的随机点的个数,保存这些随机点的文件的路径,以及是否在标准输出上打印这些点。三个参数在执行该Python脚本时由三个选项指定,选项部分的代码如下: from optparse import OptionParser parser=OptionParser() #-n选项,指定生成的随机.. 阅读全文

posted @ 2012-12-08 23:47 潘的博客 阅读(1195) 评论(0) 推荐(0) 编辑

Python matplotlib简介 Pyplot教程
摘要:本文主要翻译自matplotlib官网 matplotlib.pyplot是一些命令行风格函数的集合,使matplotlib以类似于MATLAB的方式工作。每个pyplot函数对一幅图片(figure)做一些改动:比如创建新图片,在图片创建一个新的作图区域(plotting area),在一个作图区域内画直线,给图添加标签(label)等。matplotlib.pyplot是有状态的,亦即它会保存当前图片和作图区域的状态,新的作图函数会作用在当前图片的状态基础之上。import matplotlib.pyplot as pltplt.plot([1,2,3,4])plt.ylabel(' 阅读全文

posted @ 2012-12-07 22:09 潘的博客 阅读(31520) 评论(1) 推荐(2) 编辑

Mac OS Hadoop Mahout安装
摘要:Mac OS Hadoop Mahout安装1. 下载Hadoop,Mahout: 可以直接从labs.renren.com/apache-mirror/hadoop和labs.renren.com/apache-mirror/mahout下载2. 配置Hadoop配置文件: (1) core-site.xml:<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-sp 阅读全文

posted @ 2012-11-23 18:31 潘的博客 阅读(1141) 评论(0) 推荐(0) 编辑

Shell命令学习笔记
摘要:Shell命令学习笔记 1. tr 替换字符 简单示例: tr 'A' 'a' < file.txt 把每一个A字符替换为a字符。tr命令只能用于单个字符的替换,如果写成: tr 'ABC' 'abc' < file.txt 则表示分别把A,B,C字符替换为a,b,c,而不是把字符串ABC替换为abc,字符串的替换需要用到sed命令,稍候会有介绍。 2. grep 字符串查找 简单示例 :grep world file.txt 在输入文件或这标准输入中查找含有匹配字符串(此处是world)的行,并显示改行。 用grep 阅读全文

posted @ 2012-10-28 14:34 潘的博客 阅读(397) 评论(0) 推荐(0) 编辑

Ubuntu下Storm安装(单机,分布式)
摘要:1. Ubuntu下Storm单机版安装 安装Storm还需要提前安装Python,Zookeeper,ZeroMQ,jzmq,然后才是Storm的安装和配置: 1.1 安装Python 一般Linux系统都会自带Python,如果没有可以按照以下步骤安装:wgethttp://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz tar zxf Python-2.7.2.tgz cd Python-2.7.2 ./configure make make install 在/etc/ld.so.conf后追加/usr/local/lib/ sudo 阅读全文

posted @ 2012-10-24 21:50 潘的博客 阅读(4841) 评论(1) 推荐(1) 编辑

导航