摘要:
View Code 1 #include <iostream> 2 #include <cassert> 3 #include <cmath> 4 using namespace std; 5 6 //数组反转 7 void reverse(int *a,int aLength) 8 { 9 assert(a);10 int i=0;11 int j=aLength-1;12 while(i<j && i<aLength && j>0)13 {14 swap(a[i],a[j]);15 i++;16 j... 阅读全文
摘要:
1. 拓扑排序主要有两种算法:方法1:《算法导论》上给出的DFS+时间戳;方法2:求顶点入度+贪心算法。2. 两种算法的代码分别如下:View Code 1 static int f[100]={0}; 2 static int ftime=0; 3 //递归深度优先搜索 4 template<typename vertexNametype, typename weight> 5 void ALGraph<vertexNametype, weight>::DFS() 6 { 7 int n=getVertexNumber(); 8 bool *visited=... 阅读全文
摘要:
1. 首先代码如下:View Code 1 #ifndef __GRAPH_H__ 2 #define __GRAPH_H__ 3 4 #include <vector> 5 #include <queue> 6 #include <stack> 7 #define IN 8 #define OUT 9 #define INOUT10 using namespace std;11 12 namespace graphspace13 {14 template <typename weight>15 struct Edge 16 {17 int nD 阅读全文
摘要:
1. hive对开发者使用最多的是通过jdbc,odbc等方式连接来完成对hive的操作。本文介绍通过远程windows系统上的eclipse使用jdbc连接hive并对其进行相应的操作。2. 首先保证windows和hive所在机器能相互连接(ping通)。3. 在windows上建立一个文件夹,将所用到的包全拷贝到这个文件夹之下:hadoop的有关包,hive的有关包。4. 在eclipse上新建项目,代码如下:packageorg.zju.kasuosuo;importjava.sql.Connection;importjava.sql.DriverManager;importjava. 阅读全文
摘要:
1. 首先建立测试数据:/home/nslab/HiveTestData/sample.txt,内容如下:1990 23 21990 21 21990 25 21991 32 21991 34 21991 24 21992 42 21992 32 21992 25 22. 开启hive,输入下面的命令,得到相应的结果: 语句一:创建表records,每一行内容以 '\t' 分割 语句二:将sample.txt文件中的内容导入到表records中,overwrite表示覆盖原表中的内容。 语句三:选择每一年中最高的气温。 根据得到的信息,hive中的sql操作是使用mapredu 阅读全文
摘要:
由于 Hive 采用了 SQL 的查询语言 HQL,因此很容易将 Hive 理解为数据库。其实从结构上来看,Hive 和数据库除了拥有类似的查询语言,再无类似之处。本文将从多个方面来阐述 Hive 和数据库的差异。数据库可以用在 Online 的应用中,但是Hive 是为数据仓库而设计的,清楚这一点,有助于从应用角度理解 Hive 的特性。Hive 和数据库的比较查询语言HQLSQL数据存储位置HDFSRaw Device 或者 Local FS数据格式用户定义系统决定数据更新不支持支持索引无有执行MapRedcueExecutor执行延迟高低可扩展性高低数据规模大小查询语言。由于 SQL 被 阅读全文
摘要:
1. 最初接触hadoop的时候使用的版本是0.20.2,现在2.0版本都出了。当时搭建过一个hadoop0.20.2和hbase0.20.6的集群环境,现在为了测试学习的方便,主备搭建一个伪分布式环境,使用Hadoop-1.0.3和hbase-0.92.1。2. 首先需要做的是对以前hadoop的升级,从0.20.2升级到1.0.3。升级过程如下所示: 下面红字部分转自:http://www.cnblogs.com/ggjucheng/archive/2012/04/22/2465649.html1.运行dfsadmin -upgradeProgress status 检查是否存在备份 如. 阅读全文
摘要:
随着Microsoft 也加入Hadoop 阵营,Hadoop 已经完全变成了DBMS 的好朋友了 , 2年之前的SIGMOD组织提出的“A Comparison of Approaches to Large-Scale Data Analysis”引发了关于并行数据库和MapReduce模型的讨论, 双方唇枪舌剑之后发现两个系统根本就是各有所长, DBMS 目前有些处理好的领域和商业支持,Hadoop 也有自己的优势和使用案例. 就如前一篇TDWI 所说的3个V 问题,新一代Hadoop MapReduce 主要解决的是数据容量和多种类型的数据(结构化,半结构化,非结构化). 而传统的MP. 阅读全文
摘要:
一. 让自己习惯C++1. 视C++为一个语言联邦 C++主要包括以下四个部分: C:C++以C为基础,并兼容C。 Object-Oriented C++:面向对象编程,主要包括:类,封装,继承,多态。 Template C++:C++泛型编程(C++ Generic Programming)。 STL:主要包括:容器,迭代器,算法,函数对象。 C++高效编程守则视情况而变化,取决于你使用哪一部分C++。2. 尽量使用const,enum,inline替换define (1)const定义的常量在编译期确定,因此可以作为数组定义时使用。 (2)在class中只能... 阅读全文
摘要:
编程之美3.9:给出前序遍历和中序遍历,重新创建二叉树,后序遍历输出。代码如下:View Code 1 #include <iostream> 2 #include <cassert> 3 4 using namespace std; 5 6 struct Node 7 { 8 Node* m_lChild; 9 Node* m_rChild; 10 char data; 11 }; 12 13 void AfterTra(Node* pRoot) 14 { 15 if (!pRoot) 16 { 17 retu... 阅读全文