
hadoop
文章平均质量分 52
太阳的味道
活泼开朗、适应力强、认真负责、吃苦耐劳,有良好的学习、沟通、协调能力,具备良好的团队合作精神,对工作积极严谨。平时爱好户外运动,喜欢打羽毛球。
展开
-
Hadoop是怎么分块的
hadoop的分块有两部分,其中第一部分更为人熟知一点。第一部分就是数据的划分(即把File划分成Block),这个是物理上真真实实的进行了划分,数据文件上传到HDFS里的时候,需要划分成一块一块,每块的大小由hadoop-default.xml里配置选项进行划分。 dfs.block.size 67108864 The default block size转载 2013-04-15 17:24:22 · 692 阅读 · 0 评论 -
Hadoop下join操作
1. 概述 在传统数据库(如:MYSQL)中,JOIN操作是非常常见且非常耗时的。而在HADOOP中进行JOIN操作,同样常见且耗时,由于Hadoop的独特设计思想,当进行JOIN操作时,有一些特殊的技巧。本文首先介绍了Hadoop上通常的JOIN实现方法,然后给出了几种针对不同输入数据集的优化方法。 2. 常见的join方法介绍 假设要进行转载 2013-12-20 15:12:53 · 687 阅读 · 0 评论 -
Hadoop Streaming 实战: 输出文件分割
我们知道,Hadoop streaming框架默认情况下会以'/t’作为分隔符,将每行第一个'/t’之前的部分作为key,其余内容作为value,如果没有'/t’分隔符,则整行作为key;这个key/tvalue对又作为reduce的输入。hadoop 提供配置供用户自主设置分隔符。 -D stream.map.output.field.separator :设置map输出中k转载 2013-12-20 15:24:55 · 1301 阅读 · 0 评论 -
Hadoop Streaming
Hadoop streaming是Hadoop的一个工具, 它帮助用户创建和运行一类特殊的map/reduce作业, 这些特殊的map/reduce作业是由一些可执行文件或脚本文件充当mapper或者reducer。例如: $HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar \-input myInputDirs转载 2013-12-20 15:26:34 · 935 阅读 · 0 评论 -
Hadoop下join操作的几点优化意见
1. 概述 在传统数据库(如:MYSQL)中,JOIN操作是非常常见且非常耗时的。而在HADOOP中进行JOIN操作,同样常见且耗时,由于Hadoop的独特设计思想,当进行JOIN操作时,有一些特殊的技巧。本文首先介绍了Hadoop上通常的JOIN实现方法,然后给出了几种针对不同输入数据集的优化方法。 2. 常见的join方法介绍 假设要进行转载 2013-12-20 15:11:36 · 628 阅读 · 0 评论 -
Hadoop --Aggregate 包使用 Streaming
Hadoop --Aggregate 包使用 Streaming Hadoop 中有个称为 Aggregate 的包.它把一些常用的功能包括在里面了,比如求和,求平均数等.每个功能对应一个函数.只需要在使用时声明用哪个即可.它的使用方式是在 reducer 脚本中直接写上函数的名称.它具体的功能有:DoubleValueSun 一个 double 值转载 2014-01-15 13:56:42 · 1137 阅读 · 0 评论 -
Hadoop数据管理之分布式文件系统HDFS
HDFS是分布式计算的存储基石,Hadoop分布式文件系统和其他分布式文件系统有很多类似的特质: ·对于整个集群有单一的命名空间; ·具有数据一致性。适合一次写入多次读取的模型,客户端在文件没有被成功创建之前是无法看到文件存在的; ·文件会被分割成多个文件块,每个文件块被分配存储到数据节点上,而且会根据配置由复制文件块来保证数据的安全性。 从图中转载 2014-02-24 20:49:20 · 968 阅读 · 0 评论 -
Hadoop命令大全
1、列出所有Hadoop Shell支持的命令 $ bin/hadoop fs -help2、显示关于某个命令的详细信息 $ bin/hadoop fs -help command-name3、用户可使用以下命令在指定路径下查看历史日志汇总 $ bin/hadoop job -history output-dir这条命令会显示作业的细节信息,失败和终止的任务细节。转载 2014-03-04 17:46:47 · 564 阅读 · 0 评论 -
hadoop 学习笔记:mapreduce框架详解
转自: 开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密。这个可能是我做技术研究的思路有关,我开始学习某一套技术总是想着这套技术到底能干什么,只有当我真正理解了这套技术解决了什么问题时候,我后续的学习就能逐步的加快,而学习hdfs时候我转载 2014-10-31 14:48:27 · 740 阅读 · 0 评论 -
hadoop中mapreduce部分执行流程
最近看了hadoop的mapreduce部分代码,看了之后总结了一下,算是成果吧。以下是程序执行的主要流程,其中参考了网上的一些文章。概括Hadoop包括hdfs与mapreduce两部分,在试用期期间我主要看了mapreduce部分,即hadoop执行作业的部分。mapreduce中几个主要的概念 mapreduce整体上可转载 2014-10-31 18:41:27 · 683 阅读 · 0 评论 -
在mapreduce任务中使用distributedCache
背景:在使用mapreduce时,各个map之间需要共享一些信息。如果信息不大,可以保存在conf中。但是需求是在各个map之间共享文件或者tar包使用distributedCache可以满足这个需求:distributedCache可以把HDFS上的文件(数据文件、压缩文件等等)分发到各个执行task的节点。执行map或者reduce task的节点就可以在本地,直接用java的转载 2015-01-05 11:05:38 · 1133 阅读 · 0 评论 -
hadoop streaming 参数设置
Hadoop Streaming用法Usage: $HADOOP_HOME/bin/hadoop jar \$HADOOP_HOME/hadoop-streaming.jar [options]options:(1)-input:输入文件路径(2)-output:输出文件路径(3)-mapper:用户自己写的mapper程序,可以是可执行文件或者脚本(4)-reduce转载 2013-08-29 16:23:08 · 3403 阅读 · 0 评论 -
Hadoop Streaming 实战: 多路输出
streaming把reduce的输出作为一个任务的最终输出,输出文件形如: part-00000、part-00001…… 文件个数为reduce任务个数 但是,有的时候,我们有多路输出的需求,eg:一部分数据作为下一个mapreduce任务的输入,另一部分数据直接供下游任务抓取,此时,我们就需要使用reduce的多路输出。在hadoop-v2-u转载 2013-07-31 16:54:04 · 1087 阅读 · 0 评论 -
Hadoop Streaming 常见错误
1、streaming默认的情况下,mapper和reducer的返回值不是0,被认为异常任务,将被再次执行,默认尝试4次都不是0,整个job都将失败[plain] view plaincopyjava.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess fa转载 2013-07-15 11:58:39 · 1817 阅读 · 0 评论 -
Hive调优实战
转自:Hive调优实战优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜。理解hadoop的核心能力,是hive优化的根本。这是这一年来,项目组所有成员宝贵的经验总结。 长期观察hadoop处理数据的过程,有几个显著的特征:1.不怕数据多,就怕数据倾斜。2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次转载 2013-04-16 20:19:10 · 812 阅读 · 0 评论 -
hive array、map、struct使用
hive提供了复合数据类型:Structs: structs内部的数据可以通过DOT(.)来存取,例如,表中一列c的类型为STRUCT{a INT; b INT},我们可以通过c.a来访问域aMaps(K-V对):访问指定域可以通过["指定域名称"]进行,例如,一个Map M包含了一个group-》gid的kv对,gid的值可以通过M['group']来获取Arrays:array转载 2013-04-19 15:06:36 · 856 阅读 · 0 评论 -
Hadoop Streaming使用简介
一、Hadoop Streaming 它是hadoop的一个工具,用来创建和运行一类特殊的map/reduce作业。所谓的特殊的map/reduce作业可以是可执行文件或脚本本件(python、PHP、c等)。Streaming使用“标准输入”和“标准输出”与我们编写的Map和Reduce进行数据的交换。由此可知,任何能够使用“标准输入”和“标准输出”的编程语言都可以用来编写转载 2013-05-02 10:49:13 · 867 阅读 · 0 评论 -
hive利用hbase实现更新
全过程:1. 建立hive表映射到hbase表(建表的时候不能建外表)2. 之后修改hive表属性,企图将内表改为外表,失败,不支持3. 向hive表插入数据,hive中有结果,hbase中也有结果4. 在hbase中插入数据,hbase中有结果,hive中也有结果5. 在hbase中更新数据,hbase中结果有变化,hive中结果也有变化6. 用hive插入hbas原创 2013-05-21 18:39:44 · 3583 阅读 · 0 评论 -
Hbase shell 常用命令
下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下:名称命令表达式创建表create '表名称', '列名称1','列名称2','列名称N'添加记录 put '表名称', '行名称', '列名称:', '值'转载 2013-05-08 16:27:18 · 560 阅读 · 0 评论 -
hive修改location
hive> alter table wms_c_wlsydmx set location '/user/hive/warehouse/zwpdb.db/wms_c_wlsydmx1' > ;FAILED: Error in metadata: /user/hive/warehouse/zwpdb.db/wms_c_wlsydmx1 is not absolu原创 2013-05-22 11:41:37 · 7697 阅读 · 1 评论 -
Hive优化实例(一)
优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜。理解hadoop的核心能力,是hive优化的根本。这是这一年来,项目组所有成员宝贵的经验总结。 长期观察hadoop处理数据的过程,有几个显著的特征:1.不怕数据多,就怕数据倾斜。2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时转载 2013-06-05 14:12:16 · 820 阅读 · 0 评论 -
查看文件的block size
当向HDFS上写文件时,可以通过设置dfs.block.size配置项来设置文件的block size,这导致HDFS上不同文件的block size是不同的。有时候我们需要知道HDFS上某个文件的block size,比如想知道该该文件作为job的输入会创建几个map等。Hadoop FS Shell提供了一个-stat选项可以达到目的。官方文档描述这个选项时遗漏了可选参数。-stat选项的转载 2013-06-06 10:34:51 · 707 阅读 · 0 评论 -
Hive – JOIN实现过程
Hive – JOIN实现过程准备数据语句SELECT a.uid,a.name,b.age FROM logs a JOIN users b ON (a.uid=b.uid);我们希望的结果是把users表join进来获取age字段。hive> SELECT * FROM logs;OKa 苹果 5a 橙子 3b 烧鸡 1 hive>转载 2013-06-03 16:18:15 · 1026 阅读 · 0 评论 -
hive的join操作
Join的语法规则: join_table: table_reference JOIN table_factor [join_condition] | table_reference {LEFT|RIGHT|FULL} [OUTER] JOIN table_reference join_condition | table_reference LE转载 2013-06-04 17:28:29 · 727 阅读 · 0 评论 -
hive索引
索引是标准的数据库技术,hive 0.7版本之后支持索引。hive索引采用的不是'one size fites all'的索引实现方式,而是提供插入式接口,并且提供一个具体的索引实现作为参考。hive索引具有以下特点:1.索引key冗余存储,提供基于key的数据视图2.存储设计以优化查询&检索性能3.对于某些查询减少IO,从而提高性能。hive索引创建语句:转载 2013-06-19 20:10:36 · 779 阅读 · 0 评论 -
hadoop streaming 配置项大全
Hadoop MapReduce和HDFS采用Java实现,默认提供Java编程接口,另外提供了C++编程接口和Streaming框架。Streaming框架允许任何程序语言实现的程序在Hadoop MapReduce中使用,方便已有程序向Hadoop平台移植。Streaming的原理是用Java实现一个包装用户程序的MapReduce程序,该程序负责调用MapReduce Jav转载 2013-07-15 11:34:52 · 2175 阅读 · 0 评论 -
lzo格式作为输入时调整map个数
普通文本文件作为mapreduce的输入时调整map个数需调整mapred.min.split.size和mapred.max.split.sizemapred.min.split.size是每个map的大小的最小值,而map的大小不能超过mapred.max.split.size且不超过blocksize,因此map的大小是Math.max(minSize, Math.min(m转载 2015-02-25 16:10:01 · 1329 阅读 · 0 评论