- 博客(41)
- 资源 (179)
- 收藏
- 关注
转载 ORACLE表生成MYSQL建表DDL
create or replace function fnc_table_to_mysql(i_owner in string, i_table_name in string
2014-08-20 18:47:39 927
转载 HBase Java API详解
HBase是Hadoop的数据库,能够对大数据提供随机、实时读写访问。他是开源的,分布式的,多版本的,面向列的,存储模型。在讲解的时候我首先给大家讲解一下HBase的整体结构,如下图:HBase Master是服务器负责管理所有的HRegion服务器,HBase Master并不存储HBase服务器的任何数据,HBase逻辑上的表可能会划分为多个HRegion,然后存储在HRegion
2014-08-19 20:34:28 528
转载 [Hadoop源码解读](一)MapReduce篇之InputFormat
平时我们写MapReduce程序的时候,在设置输入格式的时候,总会调用形如job.setInputFormatClass(KeyValueTextInputFormat.class);来保证输入文件按照我们想要的格式被读取。所有的输入格式都继承于InputFormat,这是一个抽象类,其子类有专门用于读取普通文件的FileInputFormat,用来读取数据库的DBInputFormat等等。
2014-08-10 22:47:19 469
转载 用MR(MapReduce)查询hbase数据-用到TableMapper和Scan
首先,可以设置scan的startRow, stopRow, filter等属性。于是两种方案:1.设置scan的filter,然后执行mapper,再reducer成一份结果2.不用filter过滤,将filter做的事传给mapper做进行了测试,前者在执行较少量scan记录的时候效率较后者高,但是执行的scan数量多了,便容易导致超时无返回而退出的情况。而为了实现后者
2014-08-10 22:27:22 1073 1
转载 MapReduce实例--内连接
输入文件:Tom LucyTom JackJone LucyJone jackLucy MarryLucy BenJack AliceJack JesseTerry AliceTerry JessePhilip TerryPhilip AlmaMark TerryMark Alma
2014-08-10 22:22:27 770
转载 hive external table partition 关联HDFS数据
EXTERNAL 外部表 在建表的时候制定一个指向实际数据的路径(LOCATION)hive创建内部表时,会将数据移动到数据仓库指向的路径; 创建外部表时,仅记录数据所在的路径,不对数据的位置做任何改变,在删除表的时候: 内部表的元数据和数据会被一起删除, 而外部表只删除元数据,不删除数据。HDFS中已经导入了城市日期数据文件。/u
2014-08-10 18:13:57 1960
转载 hadoop默认参数
1 常用的端口配置1.1 HDFS端口 参数描述默认配置文件例子值fs.default.name namenodenamenode RPC交互端口8020core-site.xmlhdfs://
2014-08-10 16:58:15 604
转载 Hadoop控制输出文件命名 - MultipleOutputs
Hadoop 控制输出文件命名在一般情况下,Hadoop 每一个 Reducer 产生一个输出文件,文件以part-r-00000、part-r-00001 的方式进行命名。如果需要人为的控制输出文件的命名或者每一个 Reducer 需要写出多个输出文件时,可以采用 MultipleOutputs 类来完成。MultipleOutputs 采用输出记录的键值对(output Key
2014-08-10 16:47:11 871
转载 MapReduce: 提高MapReduce性能的七点建议
Cloudera提供给客户的服务内容之一就是调整和优化MapReduce job执行性能。MapReduce和HDFS组成一个复杂的分布式系统,并且它们运行着各式各样用户的代码,这样导致没有一个快速有效的规则来实现优化代码性能的目的。在我看来,调整cluster或job的运行更像一个医生对待病人一样,找出关键的“症状”,对于不同的症状有不同的诊断和处理方式。 在医学领域,没
2014-08-10 16:23:24 549
转载 Hadoop的MapReduce中多文件输出 .
inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish )。 Hadoop默认的输出是TextOutputFormat,输出文件名不可定制。hadoop 0.19.X中有一个org.apache.hadoop.mapred.lib.MultipleOutputFormat,可以输出多份文件且可以自定义文件名,但是从hadoop 0.20
2014-08-10 16:12:08 723
转载 深度分析如何在Hadoop中控制Map的数量
最近在看hadoop自带的例子 在单机伪集群上跑的时候不管怎么设置Map的数量都不可行,然后就找到这篇文章看了看!很多文档中描述,Mapper的数量在默认情况下不可直接控制干预,因为Mapper的数量由输入的大小和个数决定。在默认情况下,最终input占据了多少block,就应该启动多少个Mapper。如果输入的文件数量巨大,但是每个文件的size都小于HDFS的blockSi
2014-08-10 15:22:25 457
转载 Hadoop多文件输出:MultipleOutputFormat和MultipleOutputs深究(一)
直到目前,我们看到的所有Mapreduce作业都输出一组文件。但是,在一些场合下,经常要求我们将输出多组文件或者把一个数据集分为多个数据集更为方便;比如将一个log里面属于不同业务线的日志分开来输出,并交给相关的业务线。 用过旧API的人应该知道,旧API中有 org.apache.hadoop.mapred.lib.MultipleOutputFormat和org.apache.hadoo
2014-08-09 00:30:41 575
转载 hadoop,用户制定类
mapreduce是一个很精巧的构思和设计,对于很多计算问题,程序员通常可以使用默认设置取处理诸多底层的细节,但是,这并不意味着在解决复杂问题时,程序员就可以完全使用这二个函数就可以搞定一切,它还需要更加复杂和灵活的处理机制以及高级的编程技术和方法。本节介绍hadoop中mapreduce比较高级的方法---用户制定类。为什么要用户自定义类,一种直观的猜测就是基本的mapreduce处理不了或者处
2014-08-07 17:25:21 494
转载 hive mapreduce script用法示例
对于一些hql语句特殊处理,hive本身没有提供相应功能,可以有两种方式,一是mapreduce script,二是写UDF,UDAF,UDTF等。后者需要调用hive提供的api。前者则类似mapreduce的stream模式,只需正确处理输入输出即可。所以mapreduce脚本进行一些简单处理还是很方便的。本例想计算德州扑克玩家是否赢牌,算法是:如果弃牌或所赢筹码为NULL,则输。
2014-08-07 00:18:17 786
转载 hadoop 打印配置变量
package my.test;import java.util.Map.Entry;import org.apache.hadoop.conf.*; import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.util.*; // ConfigPrinter:print all settings and prope
2014-08-07 00:12:48 1374
转载 mapreduce编程(二)- 大象书中求每一年的最高温度
书上的例子是为了取出一年当中气温最高的值,那么将年份和气温做了一个复合的key. 1 通过设置了partitioner来进行分区。因为分区是按照年份来进行,所以同年的数据就可以分区到一个reducer中。2 自定义key比较器,按照年份升序,温度值降序。这样map输出的所有kv对就是按照年份升序,温度值降序排列的。3 自定义分组比较器,所有同一年的数据属于同一个组,那么在reduce输
2014-08-07 00:05:29 779
转载 mapreduce编程(一)-二次排序
mr自带的例子中的源码SecondarySort,我重新写了一下,基本没变。这个例子中定义的map和reduce如下,关键是它对输入输出类型的定义:(java泛型编程) public static class Map extends Mapper public static class Reduce extends Reducer 1 首先说一下工作原理:在ma
2014-08-06 23:56:20 687
转载 Hadoop作业调优参数调整及原理
第一部分:core-site.xml•core-site.xml为Hadoop的核心属性文件,参数为Hadoop的核心功能,独立于HDFS与MapReduce。参数列表•fs.default.name•默认值 file:///•说明:设置Hadoop namenode的hostname及port,预设是Standalone mode,如果是伪分
2014-08-06 23:47:16 622
转载 Hadoop MapReduce高级编程
第一部分:重要的组件Combiner•什么是Combiner•combine函数把一个map函数产生的对(多个key, value)合并成一个新的. 将新的作为输入到reduce函数中,其格式与reduce函数相同。•这样可以有效的较少中间结果,减少网络传输负荷。 •什么情况下可以使用Combiner•可以对记录进行汇总统计的场景
2014-08-06 23:44:15 580
转载 Hadoop MapReduce工作原理
第一部分:MapReduce工作原理 MapReduce 角色•Client :作业提交发起者。•JobTracker: 初始化作业,分配作业,与TaskTracker通信,协调整个作业。•TaskTracker:保持JobTracker通信,在分配的数据片段上执行MapReduce任务。提交作业•在作业提交之前,需要对作
2014-08-06 23:40:20 594
转载 如何使用Hadoop的ChainMapper和ChainReducer
Hadoop的MR作业支持链式处理,类似在一个生产牛奶的流水线上,每一个阶段都有特定的任务要处理,比如提供牛奶盒,装入牛奶,封盒,打印出厂日期,等等,通过这样进一步的分工,从而提高了生产效率,那么在我们的Hadoop的MapReduce中也是如此,支持链式的处理方式,这些Mapper像Linux管道一样,前一个Mapper的输出结果直接重定向到下一个Mapper的输入,形成一个流水线,而这一点与L
2014-08-06 23:33:50 607
转载 从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构)
从hadoop框架与MapReduce模式中谈海量数据处理前言 几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显兴奋,觉得它们很是神秘,而神秘的东西常能勾起我的兴趣,在看过介绍它们的文章或论文之后,觉得Hadoop是一项富有趣味和挑战性的技术,且它还牵扯到了一个我更加感兴趣的话题:海量数据处理。 由此,最近凡是空
2014-08-06 23:27:18 652
转载 hive 创建/删除/截断表
简单的创建表create table table_name ( id int, dtDontQuery string, name string) 创建有分区的表create table table_name ( id int, dtD
2014-08-05 17:36:42 941 1
转载 Hive文件存储格式的测试比较
整理了一下网上的几种Hive文件存储格式的性能与Hadoop的文件存储格式。 Hive的三种文件格式:TEXTFILE、SEQUENCEFILE、RCFILE中,TEXTFILE和SEQUENCEFILE的存储格式都是基于行存储的,RCFILE是基于行列混合的思想,先按行把数据划分成N个row group,在row group中对每个列分别进行存储。另:Hive能支持自定义格式,详情见
2014-08-05 17:35:04 714
转载 shell--传入参数的处理
参数处理-Shell传入参数的处理1. $# 传递到脚本的参数个数2. $* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个3. $$ 脚本运行的当前进程ID号4. $! 后台运行的最后一个进程的进程ID号5. $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数6. $- 显示shell使用的当前选项,与set命令功能相同7. $?
2014-08-04 20:53:39 592
转载 Linux 之 shell 比较运算符
shelllinuxstring测试正则表达式运算符描述示例文件比较运算符-e filename如果 filename 存在,则为真[ -e /var/log/syslog ]-d filename如果 filename 为目录,则为真[ -d /tmp/mydir ]
2014-08-04 20:50:17 658
转载 HIVE RCFile高效存储结构
本文介绍了Facebook公司数据分析系统中的RCFile存储结构,该结构集行存储和列存储的优点于一身,在 MapReduce环境下的大规模数据分析中扮演重要角色。Facebook曾在2010 ICDE(IEEE International Conference on Data Engineering)会议上介绍了数据仓库Hive。Hive存储海量数据在Hadoop系统中,提供了一套类数据
2014-08-04 15:04:46 530
转载 Hive 基础之:分区、桶、Sort Merge Bucket Join
Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能、稳定性等方面来说,Hive 的地位尚不可撼动。其实这篇博文主要是想聊聊 SMB join 的,Join 是整个 MR/Hive 最为核心的部分之一,是每个 Hadoop/Hive/DW RD 必须掌握的部分,之前也有几篇文章聊到过 MR/Hive 中的 join,其实
2014-08-04 15:03:45 903
转载 Sqoop使用和参数简介
Sqoop 工具是hadoop环境下连接关系数据库,和hadoop存储系统的桥梁,支持多种关系数据源和hive,hdfs,hbase的相互导入。一般情况下,关系数据表存在于线上环境的备份环境,需要每天进行数据导入,根据每天的数据量而言,sqoop可以全表导入,对于每天产生的数据量不是很大的情形可以全表导入,但是sqoop也提供了增量数据导入的机制。下面介绍几个常用的sqoop的命令,以及一些参
2014-08-04 12:57:24 5767
转载 hive怎样决定reducer个数
Hadoop MapReduce程序中,reducer个数的设定极大影响执行效率,这使得Hive怎样决定reducer个数成为一个关键问题。遗憾的是Hive的估计机制很弱,不指定reducer个数的情况下,Hive会猜测确定一个reducer个数,基于以下两个设定:1. hive.exec.reducers.bytes.per.reducer(默认为1000^3)2. hive.exec.
2014-08-04 09:42:18 1031
转载 Hadoop计算能力调度器应用和配置
需求公司里有两个部门,一个叫hive,一个叫pig,这两个部门都需要使用公司里的hadoop集群。于是问题来了,因为hadoop默认是FIFO调度的,谁先提交任务,谁先被处理,于是hive部门很担心pig这个部门提交一个耗时的任务,影响了hive的业务,hive希望可以和pig在高峰期时,平均使用整个集群的计算容量,互不影响。思路hadoop的默认调度器是FIFO,但是也有计算容量调度
2014-08-04 09:30:57 542
转载 Apache Sqoop使用介绍
Sqoop是一个数据库导入导出工具,可以将数据从hadoop导入到关系数据库,或从关系数据库将数据导入到hadoop中。主要参数1、codegen2、create-hive-table3、eval4、export5、import6、import-all-tables7、job8、list-databases9、list
2014-08-03 00:20:26 975
转载 Sqoop使用整理
1. 概述本文档主要对SQOOP的使用进行了说明,参考内容主要来自于Cloudera SQOOP的官方文档。为了用中文更清楚明白地描述各参数的使用含义,本文档几乎所有参数使用说明都经过了我的实际验证而得到。2. codegen将关系数据库表映射为一个java文件、java class类、以及相关的jar包,作用主要是两方面:1、 将数据库表映射为一
2014-08-03 00:16:21 2306
转载 Sqoop详细介绍包括:sqoop命令,原理,流程
一简介Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。二特点Sqoop中一大亮点就是可以通过hadoop的mapreduce把数据从关系型数据库中导入数据到HDFS。
2014-08-02 22:55:00 905
转载 HIVE 窗口及分析函数 应用场景
窗口函数应用场景:(1)用于分区排序(2)动态Group By(3)Top N(4)累计计算(5)层次查询 一、分析函数用于等级、百分点、n分片等。函数说明RANK()返回数据项在分组中的排名,排名相等会在名次中留下空位DENSE_RANK()返回数据项在分组中的排名,排名相等会在名
2014-08-02 15:38:16 1158
转载 Hive的数据存储模式
Hive的数据分为表数据和元数据,表数据是Hive中表格(table)具有的数据;而元数据是用来存储表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。下面分别来介绍。 一、Hive的数据存储 在《Hive到底是什么》博文中我们提到Hive是基于Hadoop分布式文件系统的,它的数据存储在Hadoop分布式文件系统中。Hive本身是没有专门的数据存储格式
2014-08-02 15:24:19 606
转载 Hive0.11查询结果保存到文件并指定列之间的分隔符
在Hive0.11.0版本新引进了一个新的特性,也就是当用户将Hive查询结果输出到文件,用户可以指定列的分割符,而在之前的版本是不能指定列之间的分隔符,这样给我们带来了很大的不变,在Hive0.11.0之前版本我们一般是这样用的:1hive> insert overwrite local directory '/home/wyp/Documents/r
2014-08-02 15:20:42 1303
转载 Hive几种数据导入方式
好久没写Hive的那些事了,今天开始写点吧。今天的话题是总结Hive的几种常见的数据导入方式,我总结为四种:(1)、从本地文件系统中导入数据到Hive表;(2)、从HDFS上导入数据到Hive表;(3)、从别的表中查询出相应的数据并导入到Hive表中;(4)、在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中。我会对每一种数据的导入进行实际的操作,因为纯粹的文字让
2014-08-02 15:11:28 568
转载 Hive几种参数配置方法
Hive提供三种可以改变环境变量的方法,分别是:(1)、修改${HIVE_HOME}/conf/hive-site.xml配置文件;(2)、命令行参数;(3)、在已经进入cli时进行参数声明。下面分别来介绍这几种设定。 方法一: 在Hive中,所有的默认配置都在${HIVE_HOME}/conf/hive-default.xml文件中,如果需要对默认的配置进行修改,可以创建一个hi
2014-08-02 15:05:04 553
转载 Hive日志调试
这些天看到很多人在使用Hive的过程遇到这样或那样的错误,看着那些少的可怜的错误日志出错,一直找不到原因。后来我给他们介绍了修改日志输出级别之后,错误原因很快得到定位。于是乎我写了这篇博文。希望那些在使用HQL的过程中遇到问题,通过这里介绍的方法进行调试而定位到错误,从而少走弯路。好了,废话不多说进入正文。 在很多程序中,我们都可以通过输出日志的形式来得到程序的运行情况,通过这些输出日志来调
2014-08-02 14:56:41 731
Apache Sqoop Cookbook
2014-08-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人