首页

Hadoop问题集绵

1. Hadoop Stream PHP map程序获取记录所在文件路径 map程序处理数据时,有时需要获取当前所读记录所在文件路径,因为路径可能包含重要信息,如日期等,$_ENV['map_input_file']包含路径信息,并且随记录不同随之改变 <?php error_reporting(0); if(empty($argv)) { exit(...

别因为要学的太多反而压垮自己  

自学是个好主意。我非常赞成终生学习,你应该这样做。但是,在软件开发领域,有如此多的新技术,有如此多要学习的东西,我们在学习中会感觉被完全压垮了。 你感觉你一直在扮演追赶的角色,但是一直都赶不上。就像是跑步机一直比你能跑的最快速度还要快几步,你一直受挫,还有在最后关头掉队的危险。   试着学太多 问题就是尝试学太多导致的。有100种不同的技术,这些都是你必须或想...

Hadoop Streaming 指定排序的域和分割符

1、如果没有指定额外 partition和comparator的参数      stream.map.output.key .... 指定的key用来作分桶和排序 2、 我们来看个例子, 比如mapper的输出为:   223515735|1405227460|RecFriend_show|27051929...

linux fork 写时拷贝的本质

在做linux c编程的时候,我们知道进程fork的时候,有一个copy on write的机制,关于这个概念可能有的朋友还不是很清楚,我们拿一段程序来说明一下: #include<stdio.h> #include<unistd.h> int main (void) { int *p = malloc(sizeof(int)); *p =...

C语言中system和exec的本质区别

system是用shell来调用程序=fork+exec+waitpid. 而exec是直接让你的程序代替用来的程序运行   system 是在单独的进程中执行命令,完了还会回到你的程序中。 而exec函数是直接在你的进程中执行新的程序,新的程序会把你的程序覆盖,除非调用出错,否则你再也回不到exec后面的代码,就是说你的程序就变成了exec调用的那个程序了.

Redis scan操作总结

Redis在2.8.0版本新增了众望所归的scan操作,从此再也不用担心敲入了"keys *", 然后举起双手看着键盘等待漫长的系统卡死了··· Redis的SCAN操作由于其整体的数据设计,无法提供特别准的scan操作,仅仅是一个"can't guarantee, just do my best"的实现,优缺点如下: 优点: 提供键空间的遍历操作,支持游标,复杂度O(1), 整体遍历一遍只需...

怎么确定网站适合用多大带宽

一台服务器支撑的访问量没有一个定值,因为不同的应用占用的服务器硬件资源和服务器带宽资源是不一样的,如服务器上面的数据库结构复杂,且数据文件庞大,一个访问者进行数据查询,造成的计算量可能要消耗 1%的 CPU 资源,双核 CPU 情况下大概估算 200 个这样的用户就会消耗完服务器的 CPU 资源,即使带宽再充足,用户访问已经非常慢了,因为服务器没法计算超额的任务;另外一个例子 20M 带宽的服...

https研究  

为nginx配置https并自签名证书 一、把证书准备好。 1、制作CA证书://模拟第三方机构,第三方生成crt时有用 ca.key CA私钥: openssl genrsa -des3 -out ca.key 2048 制作解密后的CA私钥(一般无此必要): openssl rsa -in ca.key -out ca_decrypted.key ca.crt CA根证...

Epoll的LT和ET模式

在一个非阻塞的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK) 从字面上看, 意思是:EAGAIN: 再试一次,EWOULDBLOCK: 如果这是一个阻塞socket, 操作将被block,perror输出: Resource temporarily unavailable 总结: 这个错误表示资源暂时不够...

TCP与UDP的输出,MSS与MTU之间关系

每个TCP套接口有一个发送缓冲区,可以用SO_SNDBUF套接口选项来改变这一缓冲区的大小。当应用进程调用write往套接口写数据时,内核从应用进程缓冲区中拷贝所有数据到套接口的发送缓冲区,如果套接口发送缓冲区容不下应用程序的所有数据,或者是应用进程的缓冲区大于套接口的发送缓冲区,或者是套接口的发送缓冲区中有别的数据,应用进程将被挂起。内核将不从write返回。直到应用进程缓冲区中的所有数据都拷贝...