![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hadoop相关
yongjian_luo
这个作者很懒,什么都没留下…
展开
-
<转>数据仓库架构的变迁
引言第八届中国架构师大会(SACC2016)10月27号到29号在北京万达索菲特大饭店成功举办。大会以“架构创新之路“为主题,云集了国内外顶尖专家,共同探讨云计算和大数据等技术背景下,如何通过架构创新及各种IT新技术来带动企业转型增效。作为一家专注于云端数据仓库的初创公司,酷克数据受邀在SACC2016 “数据库平台架构及变迁”分会场作了题为“数据仓库架构及变迁”的演讲。以下是这次演讲的P转载 2016-11-09 16:56:31 · 839 阅读 · 0 评论 -
hive 非等值连接sql写法-2<转>
hive不支持非等值连接 join操作。如:select * from tonyjointest b join rtb_requests a on b.domain like a.domian%);但可以转化成这样:select * from tonyjointest b join rtb_requests a on (true) where b.do转载 2014-03-05 16:40:53 · 1576 阅读 · 0 评论 -
Hive 中 Map Join 的适用场景:非等值连接<转>
最近开发中遇到几种应用,刚好使用MAPJOIN来解决实际的问题。应用共同点如下:1: 有一个极小的表行2: 需要做不等值join操作(a.x 这种操作如果直接使用join的话语法不支持不等于操作,hive语法解析会直接抛出错误如果把不等于写到where里会造成笛卡尔积,数据异常增大,速度会很慢。甚至会任务无法跑成功~根据mapjoin的计算原理,转载 2014-03-05 16:51:21 · 1671 阅读 · 0 评论 -
hive中间接实现不等值连接<转>
由于hive中不支持不等值连接,给应用带来不便。create tablelpx_test_a asselect id,class from (select 1 as id, 2 asclass from dualunion allselect 2 as id, 3 asclass from dualunion allselec转载 2014-03-05 16:07:03 · 1558 阅读 · 0 评论 -
Hadoop系列之Terasort<转>
TeraSort是Hadoop的测试中很有用的一个工具,但以前只是粗略的知道它的功能和用法,简单的用它做了几个测试用例。实际上,对于这种比较通用的工具,如果能够了解它更多一些的话,对于理解Hadoop是很有帮助的,同时也可以更好的利用它来帮助测试。最近有点时间,就了解了一些它的背景,代码实现原理等等,就先记录下来吧。1. Hadoop与Sort BenchmarksSortBenchm转载 2014-03-04 15:37:31 · 1224 阅读 · 0 评论 -
Hadoop 的 TotalOrderPartitioner<转>
http://blog.oddfoo.net/2011/04/17/mapreduce-partition%E5%88%86%E6%9E%90-2/ Partition所处的位置patition类结构1. Partitioner是partitioner的基类,如果需要定制partitioner也需要继承该类。2. HashPartitioner是mapr转载 2014-03-04 14:38:13 · 813 阅读 · 0 评论 -
Hadoop集群 java.lang.OutOfMemoryError: unable to create new native thread异常
Hadoop集群新加的机器经常会出现 java.lang.OutOfMemoryError: unable to create newnativethread的异常,后来发现新机器是没有设置创建线程数量造成的,默认是1024,需要改系统配置文件,设大才行。查看生效方式是ulimit -u/etc/security/limits.conf文件中增加 username原创 2014-01-03 16:54:02 · 5480 阅读 · 0 评论 -
CentOS 6.2部署Hadoop的注意事项<转>
最近新采购的一批机器,由于intel cpu体系架构的改变,新机器的系统需要升级,选择了CentOS 6.2系统。1 在新机器上将MR业务开启后,导致整个集群都反应很慢,运行的job几乎都被卡住;通过ganglia监控发现,机器的system cpu超过30%,机器几乎是满负载的情况。原因分析:RHEL 6.2和6.3系统中包含了一个新特性,被称为“transparent转载 2014-01-03 17:19:02 · 1082 阅读 · 0 评论 -
Hadoop新Mapreduce框架Yarn<转>
Hadoop MapReduce 框架的问题对于业界的大数据存储及分布式处理系统来说,Hadoop 是耳熟能详的卓越开源分布式文件存储及处理框架,对于 Hadoop 框架的介绍在此不再累述,读者可参考 Hadoop 官方简介。使用和学习过老 Hadoop 框架(0.20.0 及之前版本)的同仁应该很熟悉如下的原 MapReduce 框架图:图 1.Hadoop 原 MapRed转载 2013-07-25 10:50:09 · 1078 阅读 · 0 评论 -
Hadoop中的Terasort算法2<转>
1、1TB(或1分钟)排序的冠军 作为分布式数据处理的框架,集群的数据处理能力究竟有多快?或许1TB排序可以作为衡量的标准之一。 1TB排序,就是对1TB(1024GB,大约100亿行数据)的数据进行排序。2008年,Hadoop赢得1TB排序基准评估第一名,排序1TB数据耗时209秒。后来,1TB排序被1分钟排序所取代,1分钟排序指的是在一分钟内尽可能多的排序。2009年,在一个14转载 2013-08-13 21:19:40 · 1031 阅读 · 0 评论 -
Hadoop二次排序<转>
Hadoop二次排序:import java.io.IOException; import org.apache.Hadoop.conf.Configuration; import org.apache.Hadoop.fs.Path; import org.apache.Hadoop.io.IntWritable; import org.apache.Hadoop.转载 2013-10-16 16:37:16 · 932 阅读 · 1 评论 -
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 · 5872 阅读 · 0 评论 -
Hadoop使用JobControl设置job之间的依赖关系
JobControl 编程实例:一个完整的贝叶斯分类算法可能需要4 个有依赖关系的MapReduce 作业完成,传统的做法是:为每个作业创建相应的JobConf 对象,并按照依赖关系依次(串行)提交各个作业,如下所示:// 为4 个作业分别创建JobConf 对象JobConf extractJobConf = new JobConf(ExtractJob.class);J原创 2013-07-23 16:51:30 · 3639 阅读 · 0 评论 -
Hadoop集群合并小文件
Hadoop集群本身不推荐存储小文件,因为在mapreduce程序调度过程中,默认map的输入是不跨文件的,如果一个文件很小(远小于一个块的大小,目前集群块大小是256M),在调度时也会生成一个map,且一个map只处理这个小文件,这样mapreduce程序执行,其实大部分时间都消耗在调度过程中,而不是执行mapreduce程序过程中,这样会使得程序的执行效率很低。 所以在Ha原创 2013-07-17 16:33:37 · 5906 阅读 · 1 评论 -
Mapreduce不设置reduce,只执行map的输出结果
在写MR程序时候,有时我们不需要reduce,比如对原始数据做Format等,这样我们再MR程序中就不需要写reduce函数,同样在main函数配置中也不需要reduce相关的配置信息,在MR执行的过程中,会为MR生成一个系统自带的reduce,这个reduce是系统为了保持框架的完整性自动调用的reduce函数,但这个函数并不做shuffle和数据拖去,生成的结果文件就是map的输出文件,也原创 2013-08-14 11:55:48 · 12131 阅读 · 4 评论 -
Hadoop-MultipleInputs/MultipleOutputs1<转>
一个Job里可以从多个同质或异质的输入源读取数据,并使用各自的Mapper Java代码 MultipleInputs.addInputPath(conf, ncdcInputPath, TextInputFormat.class, MaxTemperatureMapper.class) MultipleInputs.addInputPath(co转载 2013-08-16 17:39:26 · 802 阅读 · 0 评论 -
利用MapReduce解决在海量数据中求Top K个数<转>
利用MapReduce求海量数据中最大的K个数 [java] view plaincopypackage jtlyuan.csdn; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache转载 2014-03-24 17:29:05 · 930 阅读 · 0 评论 -
分类算法--贝叶斯分类法(Maprdecue实现)<转>
贝叶斯是一个很有用的算法,可以用在【分词】、【拼写检查】、【分类】、【模式识别】等领域。 附件是基于贝叶斯的简单实现。如果需要有实际需要可以找我进行测试。 贝叶斯分类是统计学分类方法,它是一类利用概率统计知识进行分类的算法。在许多场合,朴素贝叶斯(Naïve Bayes,NB)分类算法可以与决策树和神经网络分类算法相媲美,该算法能运用到大型数据库中,且方法简单、转载 2014-06-27 18:26:56 · 619 阅读 · 0 评论 -
二次排序Mapreduce --SecondSort<转>
输入数据:20 2150 5150 5250 5350 51250 52250 53530 5440 51120 5320 52260 5660 57统计第一列数据出现的次数,结果为:-------------------------------------转载 2014-06-27 18:24:28 · 670 阅读 · 0 评论 -
<转>Hadoop Journal Node 作用
NameNode之间共享数据(NFS 、Quorum Journal Node(用得多))两个NameNode为了数据同步,会通过一组称作JournalNodes的独立进程进行相互通信。当active状态的NameNode的命名空间有任何修改时,会告知大部分的JournalNodes进程。standby状态的NameNode有能力读取JNs中的变更信息,并且一直监控edit log的变化,把变转载 2016-11-04 15:39:48 · 352 阅读 · 0 评论 -
<转>YARN源码分析(四)-----Journalnode
前言最近在排查公司Hadoop集群性能问题时,发现Hadoop集群整体处理速度非常缓慢,平时只需要跑几十分钟的任务时间一下子上张到了个把小时,起初怀疑是网络原因,后来证明的确是有一部分这块的原因,但是过了没几天,问题又重现了,这次就比较难定位问题了,后来分析hdfs请求日志和Ganglia的各项监控指标,发现namenode的挤压请求数持续比较大,说明namenode处理速度异常,然后进而转载 2016-11-04 14:41:25 · 609 阅读 · 0 评论 -
<转>Hadoop2的HA安装(high availability):JournalNode+ zookeeper
前面介绍过使用NFS+zookeeper来解决namenode单点失败问题,因为NFS可能也会存在单点问题,所以hadoop提供了一种叫做JournalNode技术,这项技术可以在JournalNode节点间共享数据我们来介绍这一种技术:JournalNode+ zookeeperHadoop 版本:2.2.0OS 版本: Centos6.4Jdk 版本: jdk1转载 2016-11-04 14:22:14 · 299 阅读 · 0 评论 -
Hadoop 之 Secondary Sort介绍<转>
Hadoop 之 Secondary Sort介绍---------------------------我们知道,在reduce之前,MP框架会对收到的对按K进行排序,而对于一个特定的K来说,它的List是没有被排过序的,就是说这些V是无序的,因为它们来自不同的Map端,而且很多应用也不依赖于K所对应的list的顺序,但是有一些应用就要就要依赖于相同K的V的顺序,而且还要把他们聚合转载 2015-01-21 16:40:22 · 633 阅读 · 0 评论 -
hadoop二次排序<转>
数据[@zw-hadoop-master hadoop]$ hadoop fs -cat /tmp/text.txt1 92 83 74 65 56 47 38 29 10 09 98 87 76 65 54 43 32转载 2015-01-21 15:35:49 · 519 阅读 · 0 评论 -
Hadoop二次排序<转>
MapReduce框架在把记录到达reducers之前会将记录按照键排序。对于任意一个特殊的键,然而,值是不排序的。甚至是,值在两次执行中的顺序是不一样的,原因是它们是从不同的map中来的,这些不同的map可能在不同的执行过程中结束的先后顺序不确定。通常情况下,大多数的MapReduce程序的reduce函数不会依赖于值的顺序。然而,我们也可通过以一种特殊的方式排序和分组键,来指定值的顺序。要说明转载 2015-01-21 15:08:44 · 537 阅读 · 0 评论 -
hadoop二次排序<转>
趁这个时候,顺便把hadoop的用于比较的Writable, WritableComparable, Comprator等搞清楚。。1.二次排序概念:首先按照第一字段排序,然后再对第一字段相同的行按照第二字段排序,注意不能破坏第一次排序的结果 。如: 输入文件:20 21 50 51 50 52 50 53 50 54 60 51 60 53转载 2015-01-21 14:37:54 · 460 阅读 · 0 评论 -
Hadoop Partition使用实例<转>
1、为何使用Partitioner,主要是想reduce的结果能够根据key再次分类输出到不同的文件夹中。2、结果能够直观,同时做到对数据结果的简单的统计分析。1、输入的数据文件内容如下(1条数据内容少,1条数据内容超长,3条数据内容正常):kaka 1 28hua 0 26chao 1tao 1转载 2014-06-27 18:16:18 · 651 阅读 · 0 评论 -
数据挖掘--kmeans聚类算法mapreduce实现代码<转>
==================cluster.txt===========================A 2 2B 2 4C 4 2D 4 4E 6 6F 6 8G 8 6H 8 8==================cluster.center.conf=转载 2014-06-27 18:26:04 · 1055 阅读 · 0 评论 -
Hadoop的Partitioner使用实例2<转>
如何使用Hadoop的PartitionerHadoop里面的MapReduce编程模型,非常灵活,大部分环节我们都可以重写它的API,来灵活定制我们自己的一些特殊需求。今天散仙要说的这个分区函数Partitioner,也是一样如此,下面我们先来看下Partitioner的作用:对map端输出的数据key作一个散列,使数据能够均匀分布在各个reduce上进行后续操作,避免产生热点区转载 2014-06-27 18:21:29 · 897 阅读 · 0 评论 -
Hadoop multipleoutputs使用<转>
package com.loganalysis;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import o转载 2014-06-27 18:13:01 · 617 阅读 · 0 评论 -
贝叶斯算法Hadoop实现<转>
/** * 找到抽样用户的特征,得到每个特征的概率 * 输入:属性1 属性2 属性3 属性4 类别 * 命令:hadoop jar recommend_cf.jar com.funshion.machine.bayes.Bayes2 /dw/logs/user/xincl/bayes.txt /dw/logs/recommend/result/machine/Baye转载 2014-06-27 18:11:11 · 1001 阅读 · 0 评论 -
MapReduce中的自定义多目录/文件名输出<转>
最近考虑到这样一个需求:需要把原始的日志文件用hadoop做清洗后,按业务线输出到不同的目录下去,以供不同的部门业务线使用。这个需求需要用到MultipleOutputFormat和MultipleOutputs来实现自定义多目录、文件的输出。需要注意的是,在hadoop 0.21.x之前和之后的使用方式是不一样的:hadoop 0.21 之前的API 中有 org转载 2014-06-27 18:37:03 · 1415 阅读 · 0 评论 -
分类算法--贝叶斯分类法(Maprdecue实现)代码实现<转>
================================input.txt=======================================youth high no fair noyouth high no excellent nomiddle high no fair yessenior转载 2014-06-27 18:27:40 · 738 阅读 · 0 评论 -
逻辑回归(LR)算法java实现<转>
按照机器学习实战的python代码,用java重写LR的梯度上升算法:package com.log;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.InputStreamReader;import java.io.File;import java.util.Ar转载 2014-06-27 18:24:34 · 2737 阅读 · 1 评论 -
Hadoop中HDFS目录字符长度和目录级数限制
今天忙里抽闲,看了一点hadoop的源码,偶然间看到了HDFS的目录字符限制和目录的级数限制。远远超过我的预期,没想到设置的这么大。如下: // We need to limit the length and depth of a path in the filesystem. HADOOP-438 // Currently we set the maximum length原创 2013-08-29 18:18:56 · 3671 阅读 · 0 评论 -
Hadoop集群balance源码简析
Hadoop集群做balance的时候不是一次做完,而是分多轮迭代做的,每次迭代拷贝的数据不超过10G byte,每次不超过20分钟,没完成一次迭代,都会更新datanode的磁盘空间相关的信息 * The tool moves blocks from highly utilized datanodes to poorly * utilized datanodes iterati原创 2013-09-22 13:48:35 · 1506 阅读 · 0 评论 -
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 · 3099 阅读 · 0 评论 -
Hadoop本地压缩库<转>
考虑到性能,最好使用一个本地库(native library)来压缩和解压。例如,在一个测试中,使用本地gzip压缩库减少了解压时间50%,压缩时间大约减少了10%(与内置的Java实现相比 较)。表4-4展示了Java和本地提供的每个压缩格式的实现。井不是所有的格式都有本地实现(例如bzip2压缩),而另一些则仅有本地实现(例如 LZO)。 压缩格式 Java实现转载 2013-11-18 19:57:17 · 826 阅读 · 0 评论 -
Hadoop的MapFile, SetFile, ArrayFile 及 BloomMapFile文件格式<转>
SequenceFile 是Hadoop 的一个基础数据文件格式,后续讲的 MapFile, SetFile, ArrayFile 及 BloomMapFile 都是基于它来实现的。MapFile – 一个key-value 对应的查找数据结构,由数据文件/data 和索引文件 /index 组成,数据文件中包含所有需要存储的key-value对,按key的顺序排列。索引文件包含一部分转载 2013-11-18 19:49:22 · 1146 阅读 · 0 评论 -
Hadoop的Text类型实现
Hadoop的Text类型是将字符串用UTF-8编码转换成bytes位数组。 /** * Converts the provided String to bytes using the * UTF-8 encoding. If replace is true, then * malformed input is replaced with the *原创 2013-11-18 18:14:08 · 2003 阅读 · 0 评论