2012年10月11日

c++ cout控制输出 <转>

摘要: 1. I/O的书写格式I/0流是输入或输出的一系列字节,当程序需要在屏幕上显示输出时,可以使用插入操 作符“<<”向cout输出流中插入字符。例如:cout<<”This is a program.\n";当程序需要执行键盘输入时,可以使用抽取操作符 “>>”从cin输人流中抽取字符。例如:int myAge;cin>>myAge;不管把什么基本数据类型的名字或值传给流,它都能懂。例如,下面的函数输出字符串和整数:#include iostream.hvoid main(){ cout << "My name is 阅读全文

posted @ 2012-10-11 10:45 要么牛逼,要么滚蛋 阅读(299) 评论(0) 推荐(0) 编辑

2012年10月10日

二进制、八进制、十进制、十六进制之间转换 <转>

摘要: 一、 十进制与二进制之间的转换 (1) 十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。下面举例: 例:将十进制的168转换为二进制 得出结果 将十进制的168转换为二进制,(10101000)2 分析:第一步,将168除以2,商84,余数为0。 第二步,将商84除以2,商42余数为0。 第三步,将商42除以2,商21余数为0。 第四步,将商21除以2,商10余数为1。 第五步,将商10 阅读全文

posted @ 2012-10-10 14:50 要么牛逼,要么滚蛋 阅读(368) 评论(0) 推荐(0) 编辑

NativeTask:利用本地执行引擎加速Hadoop <转>

摘要: NativeTask是Hadoop MapReduce的高效执行引擎实现。与MapReduce相比,NativeTask获得了不错的性能提升,主要包括更好的排序实现、关键路径避免序列化、避免复杂抽象、更好的利用压缩等。简介NativeTask是一个高性能MapReduce执行单元,支持C++接口。顾名思义,NativeTask是一个本地数据处理引擎,专注于数 据处理本身,在MapReduce的环境下,它仅替换Task模块功能。换句话说,NativeTask并不关心资源管理、作业调度和容错,这些功能仍旧 由原有的模块完成,而实际的数据处理由这个高性能处理引擎完成。任务级别的数据处理占用Hadoo 阅读全文

posted @ 2012-10-10 13:12 要么牛逼,要么滚蛋 阅读(528) 评论(0) 推荐(0) 编辑

Hadoop平台优化综述(一) <转>

摘要: 1. 概述随着企业要处理的数据量越来越大,MapReduce思想越来越受到重视。Hadoop是MapReduce的一个开源实现,由于其良好的扩展性和 容错性,已得到越来越广泛的应用。Hadoop作为一个基础数据处理平台,虽然其应用价值已得到大家认可,但仍存在很多问题,以下是主要几个:(1) Namenode/jobtracker单点故障。 Hadoop采用的是master/slaves架构,该架构管理起来比较简单,但存在致命的单点故障和空间容量不足等缺点,这已经严重影响了Hadoop的可扩展性。(2) HDFS小文件问题。在HDFS中,任何block,文件或者目录在内存中均以对象的形式存 储, 阅读全文

posted @ 2012-10-10 13:10 要么牛逼,要么滚蛋 阅读(216) 评论(0) 推荐(0) 编辑

Hadoop平台优化综述(二)<转>

摘要: 4. 从系统实现角度进行优化4.1 在可移植性和性能之间进行权衡论文[16]主要针对HDFS进行了优化,它分析了HDFS性能低下的两个原因:调度延迟和可移植性假设。(1) 调度延迟Hadoop采用的是动态调度算法,即:当某个tasktracker上出现空slot时,它会通过HEARBEAT(默认时间间隔为3s,当集群 变大时,会适当调大)告诉jobtracker,之后jobtracker采用某种调度策略从待选task中选择一个,再通过HEARBEAT告诉 tasktracker。从整个过程看,HDFS在获取下一个task之前,一直处于等待状态,这造成了资源利用率不高。此外,由于 tasktra 阅读全文

posted @ 2012-10-10 13:10 要么牛逼,要么滚蛋 阅读(409) 评论(0) 推荐(0) 编辑

MySQL数据库优化总结 <转>

摘要: 对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要。一般来说,要保证数据库的效率,要做好以下四个方面的工作:数 据库设计、sql语句优化、数据库参数配置、恰当的硬件资源和操作系统,这个顺序也表现了这四个工作对性能影响的大小。下面我们逐个阐明: 一、数据库设计 适度的反范式,注意是适度的 我们都知道三范式,基于三范式建立的模型是最有效保存数 据的方式,也是最容易扩展的模式。我们在开发应用程序时,设计的数据库要最大程度的遵守三范式,特别是对于OLTP型的系统,三范式是必须遵守的规则。当 然,三范式最大的问题在于查询时通常需要join很多表,导... 阅读全文

posted @ 2012-10-10 12:45 要么牛逼,要么滚蛋 阅读(261) 评论(0) 推荐(0) 编辑

2012年10月9日

HDFS 文件系统操作

摘要: HDFS适合做:存储大文件。上G、T甚至P。一次写入,多次读取。并且每次作业都要读取大部分的数据。搭建在普通商业机群上就可以了。虽然会经常宕机,但HDFS有良好的容错机制。HDFS不适合做:实时数据获取。如果有这个需求可以用HBase。很多小文件。因为namenode要存储HDFS的metadata(比如目录的树状结构,每个文件的文件名、ACL、长度、owner、文件内容存放的位置等等信息),所以HDFS上文件的数目受到namenode内存的限制。并发环境下的写入和修改。Block一个磁盘的block通常是512B,内核一次读写磁盘不能少于这个数目。在HDFS上一个Block的默认大小是64M 阅读全文

posted @ 2012-10-09 09:47 要么牛逼,要么滚蛋 阅读(670) 评论(0) 推荐(0) 编辑

2012年9月28日

Oracle的索引类型总结

摘要: 1)b-tree索引 Oracle数据库中最常见的索引类型是b-tree索引,也就是B-树索引,以其同名的计算科学结构命名。每当你发布基本的没有经过进 一步修改的CREATE INDEX语句时,就是在创建b-tree索引。这里不打算对b-tree索引进行更多深入的探讨,这些用户都可以自己了解。基本上这些索引存储你创建的 索引所在的列值以及用来查找自身行的指向实际数据表的指针。记住,这也就意味着要进行多路查询,其中一个查询各个节点和索引的叶节点,然后才是表的行自 身。这就是为什么Oracle的优化器在某种情况下会选择执行全表扫描而不执行索引查找的原因了,因为全表扫描执行起来实际上可能会更快一些. 阅读全文

posted @ 2012-09-28 13:14 要么牛逼,要么滚蛋 阅读(13305) 评论(0) 推荐(1) 编辑

在线重定义表的测试和问题 <转>

摘要: 在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24 系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就无法完成了。而且,对于被大量 DML语句访问的表,幸运的是,Oracle从9i版本开始提供了在线重定义表功能,通过调用DBMS_REDEFINITION包,可以在修改表结构的 同时允许DML操作。1、在线重定义表具有以下功能:(1)修改表的存储参数;(2)可以将表转移到其他表空间;(3)增加并行查询选项;(4)增加或删除分区;(5)重建表以减少碎片;(6)将堆表改为索引组织表或相反的操 阅读全文

posted @ 2012-09-28 13:13 要么牛逼,要么滚蛋 阅读(331) 评论(0) 推荐(0) 编辑

oracle死锁原因分析 <转>

摘要: 死锁的原因1。模拟死锁1。1。主表-- Create tablecreate table WDZ1(WDZ1ID NUMBER not null,MEMO VARCHAR2(20));alter table WDZ1add constraint XXXXXX primary key (WDZ1ID);1。2。从表(没有外健的索引)-- Create tablecreate table WDZ2(WDZ2ID NUMBER not null,WDZ1ID NUMBER,MEMO VARCHAR2(20));-- Create/Recreate primary, unique and foreig 阅读全文

posted @ 2012-09-28 13:12 要么牛逼,要么滚蛋 阅读(197) 评论(0) 推荐(0) 编辑

导航