- 博客(18)
- 资源 (5)
- 收藏
- 关注
转载 SQL扩展语言T-SQL和PL-SQL<转>
SQL扩展语言T-SQL: SQL程序设计语言的增强版,它是用来让应用程序与 SQL Server 沟通的主要语言。T-SQL 提供标准 SQL的DDL 和 DML 功能,加上延伸的函数、系统预存程序以及程式设计结构(例如 IF 和 WHILE)让程序设计更有弹性。PL/SQL:PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/
2013-07-25 11:18:56 809
原创 Hive-sql的特性
Hive-sql与pl-sql相比,具有一些自己的特点,但大部分都与pl-sql兼容,下面是他们之间的不同之处:•读时验证,与关系型数据库的写时验证不同•统计和查询操作都会转换成MR任务执行,除select * from tablename外• 一个Hive任务可能转换成一个或者几个MR任务执行• 保留sql语言对order by,group by的支持• 增加了sort
2013-07-25 11:09:13 1223
转载 Hadoop新Mapreduce框架Yarn<转>
Hadoop MapReduce 框架的问题对于业界的大数据存储及分布式处理系统来说,Hadoop 是耳熟能详的卓越开源分布式文件存储及处理框架,对于 Hadoop 框架的介绍在此不再累述,读者可参考 Hadoop 官方简介。使用和学习过老 Hadoop 框架(0.20.0 及之前版本)的同仁应该很熟悉如下的原 MapReduce 框架图:图 1.Hadoop 原 MapRed
2013-07-25 10:50:09 1072
原创 ChainMapper/ChainReducer 的实现原理
ChainMapper/ChainReducer 主要为了解决线性链式Mapper 而提出的。也就是说,在Map 或者Reduce 阶段存在多个Mapper,这些Mapper 像Linux 管道一样,前一个Mapper的输出结果直接重定向到下一个Mapper 的输入,形成一个流水线,形式类似于[MAP+REDUCE MAP*]。图1展示了一个典型的ChainMapper/ChainReducer
2013-07-23 17:13:42 2558
原创 Hadoop使用JobControl设置job之间的依赖关系
JobControl 编程实例:一个完整的贝叶斯分类算法可能需要4 个有依赖关系的MapReduce 作业完成,传统的做法是:为每个作业创建相应的JobConf 对象,并按照依赖关系依次(串行)提交各个作业,如下所示:// 为4 个作业分别创建JobConf 对象JobConf extractJobConf = new JobConf(ExtractJob.class);J
2013-07-23 16:51:30 3624
原创 用C++写Hadoop streaming实例1
Hadoop Streaming 是Hadoop 为方便非Java 用户编写MapReduce 程序而设计的工具包。它允许用户将任何可执行文件或者脚本作为Mapper/Reducer,这大大提高了程序员的开发效率。Hadoop Streaming 要求用户编写的Mapper/Reducer 从标准输入中读取数据,并将结果写到标准数据中,这类似于Linux 中的管道机制。1. Had
2013-07-23 16:34:25 1981
转载 Eclipse下UML插件及安装<转>
Eclipse下UML插件及安装Eclipse下UML插件及安装一、Eclipse下UML插件及安装1、下载UML插件插件中心:http://www.eclipseplugincentral.com/最好的:together for eclipse,到borland网站自己下 eclipseUML,也是很不错的,http://www.omon
2013-07-22 16:20:05 1185 2
转载 UML类图的画法<转>
UML类图画法及其之间的几种关系最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,所以整理总结一下,有问题的地方大家可以一起讨论下。文章目录如下:类图画法类之间的几种关系:泛化(Generalization)、实现(Realization)、关联(Association)(又分一般关联、聚合(Aggregation)、组合(Compositio
2013-07-22 16:06:45 1076
原创 Hadoop文件切片与调度本地化
Hadoop集群调度执行task遵循的原则是尽量使执行task的数据位于本地。虽然InputSplit 对应的block 可能位于多个节点上,但考虑到任务调度的效率,通常不会把所有节点加到InputSplit 的host 列表中,而是选择包含(该InputSplit)数据总量最大的前几个节点(Hadoop 限制最多选择10 个,多余的会过滤掉),以作为任务调度时判断任务是否具有本地性的主要
2013-07-22 15:49:36 1798
原创 Hadoop集群Master节点部署方案
Ø 更改/etc/hosts,添加所有集群机器ip到主机名映射 Ø 拷贝hadoop包hadoop.tar.gz到/usr/local Ø md5sum校验hadoop.tar.gz包:md5sum hadoop.tar.gz Ø 解压hadoop.tar.gz包:tar -xzf hadoop.tar.gz Ø 更改hadoop-1.0.3目录权限:ch
2013-07-22 15:04:52 1837
原创 Hadoop新旧API的区别和联系
从0.20.0 版本开始,Hadoop 同时提供了新旧两套MapReduce API。新API 在旧API基础上进行了封装,使得其在扩展性和易用性方面更好。新旧版MapReduce API 的主要区别如下。(1)存放位置旧版API 放在org.apache.hadoop.mapred 包中,而新版API 则放在org.apache.hadoop.mapreduce 包及其子包中。(2)
2013-07-22 14:44:05 2093
转载 Hadoop编程接口简述
Hadoop提供了很多可以直接使用的编程接口,大部分可以直接使用。整个编程模型位于应用程序层和MapReduce 执行器之间,可以分为两层。第一层是最基本的Java API,主要有5 个可编程组件, 分别是InputFormat、Mapper、Partitioner、Reducer 和OutputFormat 。Hadoop 自带了很多直接可用的InputFormat、Partitione
2013-07-22 14:33:15 1895
原创 Hadoop支持文件追加"append"
首先需要配置hdfs-site.xml文件: dfs.support.append true 默认dfs.support.append参数是false的 然后在mapreduce程序中可以如下实现文件的追加FileSystem fs = FileSystem.get(URI.create(dst), conf);FS
2013-07-19 17:51:19 3076
原创 Hadoop动态调整日志级别
调整NameNode 某个class log level: 打开IE输入:“http://{your_namenode_ip}:50070/logLevel” 第一行用于获取class log level,举例:可以输入"org.apache.hadoop.hdfs.StateChange",然后点击"Get log level" 按钮查看; 第二行
2013-07-19 17:06:49 5848
转载 sed命令详解<转>
1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行
2013-07-17 18:18:30 598
原创 Hadoop集群合并小文件
Hadoop集群本身不推荐存储小文件,因为在mapreduce程序调度过程中,默认map的输入是不跨文件的,如果一个文件很小(远小于一个块的大小,目前集群块大小是256M),在调度时也会生成一个map,且一个map只处理这个小文件,这样mapreduce程序执行,其实大部分时间都消耗在调度过程中,而不是执行mapreduce程序过程中,这样会使得程序的执行效率很低。 所以在Ha
2013-07-17 16:33:37 5883 1
原创 Linux shell计算表达式的值
shell比较简单也比较灵活,计算表达式的值有很多方法:暂举一例,后续慢慢补充。 size=`hadoop dfs -dus $1 | awk -F" " '{print $2}'`; num=`expr $size / $block`;
2013-07-17 15:11:15 1653
转载 Linux shell常用循环写法<转>
在shell用for循环做数字递增的时候发现问题,特列出shell下for循环的几种方法:1.for i in `seq 1 1000000`;doecho $idone用seq 1 10000000做递增,之前用这种方法的时候没遇到问题,因为之前的i根本就没用到百万(1000000),因为项目需要我这个数字远大于百万,发现用seq 数值到 1000000时
2013-07-17 11:29:51 694
clementine的中文教程
2013-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人