1、使用Shell编程、开发脚本的原因:简单易学,所有的Linux都装备,无需安装。
2、Shell由一系列小的脚本组成,并且可以根据需求进行任意组合、替换,很好地诠释了Linux的核心特性“Reuse”(代码重用)。
3、Shell是用户和Linux系统之间的一层应用层交互接口。
4、经典的Shell版本:
- sh:Unix的Shell脚本,Bourne开发。
- csh, tcsh, zsh,:Berkeley Unix的Shell,Bill Joy开发。
- ksh[......]
1、使用Shell编程、开发脚本的原因:简单易学,所有的Linux都装备,无需安装。
2、Shell由一系列小的脚本组成,并且可以根据需求进行任意组合、替换,很好地诠释了Linux的核心特性“Reuse”(代码重用)。
3、Shell是用户和Linux系统之间的一层应用层交互接口。
4、经典的Shell版本:
转载自:http://yangguan.org/mapreduce-patterns-algorithms-and-use-cases/
翻译自:http://highlyscalable.wordpress.com/2012/02/01/mapreduce-patterns/
在这篇文章里总结了几种网上或者论文中常见的MapReduce模式和算法,并系统化的解释了这些技术的不同之处。所有描述性的文字和代码都使用了标准hadoop的MapReduce模型,包括Mappers, Red[......]
转载自:http://rdc.taobao.com/team/jm/archives/1232
这篇文章写的非常贴近实际,比官方好!
ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。
值得注意的是,ZK并非天生就是为这些应用[......]
数组定义:
arr=(1 2 3 4 5) # 注意是用空格分开,不是逗号!!
数组定义法2:
array
array[0]="a"
array[1]="b"
array[2]="c"
获取数组的length(数组中有几个元素):
${#array[@]}
遍历(For循环法):
for var in ${ arr[@] };
do
echo $var
done
遍历(带数组下标):
for i in "${!arr[@]}"; do
print[......]
需1求:给出N长的序列,求出TopK大的元素,使用小顶堆,heapq模块实现。
import heapq
import random
class TopkHeap(object):
def __init__(self, k):
self.k = k
self.data = []
def Push(self, elem):
if len(self.data) < self.k:[......]