![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hadoop编程
文章平均质量分 88
crazzy_lp
这个作者很懒,什么都没留下…
展开
-
python与hive通信交互
一、python与hive1通信#!/usr/bin/python2.7#hive --service hiveserver >/dev/null 2>/dev/null&#/usr/lib/hive/lib/pyimport sysfrom hive_service import ThriftHivefrom hive_service.ttypes ...原创 2014-08-21 15:41:59 · 354 阅读 · 0 评论 -
Sqoop详解
通常一个组织中有价值的数据都要存储在关系型数据库系统中。但是为了进一步进行处理,有些数据需要抽取出来,通过MapReduce程序进行再次加工。为了能够和HDFS系统之外的数据库系统机型交互,MapReduce程序需要使用外部API来访问数据。Sqoop就是一个开源的工具,它允许用户将数据从关系型数据库抽取到hadoop中;也可以把MapReduce处理完的数据导回到数据库中。1、sqoop...原创 2014-11-19 14:28:46 · 581 阅读 · 0 评论 -
Flume详解
1、Flume简介 Flume是Cloudera 开发的分布式日志收集系统,是 hadoop 周边组件之一。提供分布式、高可靠和高可用的海量日志聚合的服务,支持在系统中定制各类数据发送方;同时,Flume提供对数据进行简单处理,并写到各种数据接收方(可定制)。当前 Flume 已纳入 apache 旗下,cloudera Flume 改名为 Apache Flume。1...原创 2014-11-20 13:20:25 · 418 阅读 · 0 评论 -
HBase详解
1.HBase简介HBase是一个在HDFS上开发的面向列的分布式数据库,能够对大型数据提供随机、实施的读写访问。HBase的运行依赖于其他文件系统,他模仿并提供了基于Google文件系统(GFS)中大表(BigTable)数据库的所有功能。虽然数据库存储和检索的实现可以选择很多不同的才策略,但是绝大数解决办法--—特别是关系数据库技术的变种----不是为了大规模可伸缩的分布式处理设...原创 2014-11-20 13:20:58 · 329 阅读 · 0 评论 -
oozie详解
1、什么是OozieOozie是一种java web应用程序,它运行在java servlet容器中,并使用数据库来存储一下内容: ①工作流定义 ②当前运行的工作流实例,包括实例的状态和变量Oozie工作流失放置在控制依赖DAG(有向无环图)中的一组动作(例如:hadoop的Map/Reduce作业、pig作业等),其中指定了动作执行的顺序。我们会使用hPD...原创 2014-11-20 16:10:48 · 1725 阅读 · 0 评论 -
Solr详解
1. 全文索引什么叫做全文索引呢?这要从我们生活中的数据说起。我们生活中的数据总体分为两种:结构化数据和非结构化数据:结构化数据—指具有固定格式或有限长度的数据,如数据库,元数据等;非结构化数据—指不固定长或无固定格式的数据,如邮箱,Word文档等;半结构化数据—如XML、HTML等,当根据需要可按照结构化数据来处理,也可抽取出纯文本按非机构化数据来处理;非结构化数据有一种叫法叫...原创 2014-11-20 17:02:15 · 442 阅读 · 0 评论 -
yarn详解
1. Yarn简介1.1. Yarn的由来对于业界的大数据存储及分布式处理系统来说,hadoop是耳熟能详的卓越开源分布式存储及处理框架,在hadoop原MapReduce架构如下: 从上图我们可以清楚的看出原MapReduce程序的流程以及设计思路:首先用户程序(JobClinet)提交一个job,job的信息会发送到jobTracker中,JobTra...原创 2014-11-20 17:16:09 · 343 阅读 · 0 评论 -
搭建yum源服务器
当前在服务器群的管理中,我们往往需要用到很多软件包,由于我们服务器群中很多服务是针对某一稳定版本的服务来提供服务,所以有时候不适合直接从网络上下载,在大型服务运维过程中,搭建针对我们自己的服务版本控制非常重要。尤其是在hadoop管理中,现在hadoop有多个分发包提供服务,所以我们需要根据自己的情况,搭建起一套为整个项目团队支持的yum源。提供软件版本支持。 在生产环境中,受到...原创 2014-11-21 14:42:24 · 121 阅读 · 0 评论 -
Hadoop之Cloudera Manager CDH4卸载
记录卸载过程和问题。现有环境Cloudera Manager + (1 + 2 )的CDH环境。1、先在Manage管理端移除所有服务。2、删除Manager Server 在Manager节点运行/usr/share/cmf/uninstall-cloudera-manager.sh 如果没有该脚本,则可以手动删除,先停止服务:service cloud...原创 2014-11-21 14:52:58 · 159 阅读 · 0 评论 -
Hadoop之Cloudera Manager 管理机器的IP
原本在3台机器中部署了Cloudera CDH4.8的集群环境,运行状况良好,后来由于机房搬迁,导致那3台机器的ip地址被改变(hostname 没有变化)。 再次启动Cloudera-scm-server,登陆进去看时,发现manager根本不认识那3台机器了。 无奈在“主机”的选项中需找修改的方法,发现Cloudera-manager那个鬼东西,根本没有考虑ip...原创 2014-11-21 15:01:50 · 402 阅读 · 0 评论 -
Hadoop之Cloudera Manager安装问题总结【转】
安装过程中,由于网络终端,导致下面问题:问题1:安装停止在获取安装锁/tmp/scm_prepare_node.tYlmPfrT using SSH_CLIENT to get the SCM hostname: 172.16.77.20 33950 22 opening logging file descriptor 正在启动安装脚本...正在获取安装锁...BEGIN ...原创 2014-11-21 17:07:52 · 755 阅读 · 0 评论 -
spark详解
1. 概述:什么是sparkSpark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等...原创 2014-11-24 10:25:52 · 150 阅读 · 0 评论 -
hive详解
一、Hive简介hive的设计就是让精通SQL技能但对编写传统MapReduce程序生疏的分析师,也能对hdfs中存储的大规模数据集运行查询。但是SQL并不适合开发复杂的机器学习算法,但对很多分析任务非常有用。hive把SQL查询转换为一系列的在Hadoop集群上运行的MapReduce作业。Hive把数据组织为表,将数据存储到HDFS中,并把元数据存储到名为metastore的数...原创 2014-11-19 14:08:19 · 426 阅读 · 0 评论 -
Pig详解
1. 整体描述Pig包括两部分:①用于描述数据流的语言,称为Pig Latin;②用于运行Pig Latin程序的执行环境,当前有两个环境:单JVM中的本地执行环境和hadoop集群上的分布式执行环境。一个Pig Latin程序有一系列的操作和变换组成。每个操作或变换对输入进行数据处理,然后产生输出结果。这些操作整体上描述了一个数据流。Pig执行环境把数据流翻译为可执行的内部表示,...原创 2014-11-19 13:42:35 · 3582 阅读 · 0 评论 -
MapReduce详解
1.为什么需要MapReduce我们为什么不能使用数据库来对大量磁盘上的大规模数据进行批量分析呢?我们为什么需要MapReduce?这些问题的答案来自磁盘的另一个发展趋势:寻址时间的提高远远慢于传输速率的提高。寻址是将磁头移动到特定磁盘位置进行读写操作的过程。它是导致磁盘操作延迟的主要原因,而传输速度取决于磁盘的带宽。如果数据的访问模式汇总包含大量的磁盘寻址,那么读取大量数据集所花...原创 2014-11-19 13:08:30 · 847 阅读 · 0 评论 -
spark shuffle详解
Shuffle是MapReduce框架中的一个特定的phase,介于Map phase和Reduce phase之间,当Map的输出结果要被Reduce使用时,输出结果需要按key哈希,并且分发到每一个Reducer上去,这个过程就是shuffle。由于shuffle涉及到了磁盘的读写和网络的传输,因此shuffle性能的高低直接影响到了整个程序的运行效率。下面这幅图清晰地描述了MapRe...原创 2015-05-19 11:59:14 · 290 阅读 · 0 评论 -
hive中数据倾斜汇总
数据倾斜是指:map/reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一个key的条数比其他key多很多(有时是百倍或者千倍之多),这条key所在的reduce节点所处理的数据量比其他节点大很多,从而导致某几个节点迟迟运行不完。 在做Shuffle阶段的优化过程中,遇到了数据倾斜的...原创 2016-04-14 19:44:53 · 156 阅读 · 0 评论 -
hive数据存储组织
一般数据存储模式分为行存储、列存储以及混合存储。 行存储模式就是把一整行存在一起,包含所有的列,这是最常见的模式。这种结构能很好的适应动态的查询。但行存储模式有以下两点不足:当一行中有很多列,而我们只需要其中很少的几列时,我们也不得不把一行中所有的列读进来,然后从中抽取一些列。这样大大降低了查询执行的效率。基于多个列做压缩时,由于不同的列数据类型和取值范围不同,压缩...原创 2016-04-21 15:16:12 · 141 阅读 · 0 评论 -
转:Hive小文件合并
Hive的后端存储是HDFS,它对大文件的处理是非常高效的,如果合理配置文件系统的块大小,NameNode可以支持很大的数据量。但是在数据仓库中,越是上层的表其汇总程度就越高,数据量也就越小。而且这些表通常会按日期进行分区,随着时间的推移,HDFS的文件数目就会逐渐增加。小文件带来的问题 关于这个问题的阐述可以读一读Cloudera的这篇文章。简单来说,HDFS的文件元信...原创 2016-04-21 15:29:12 · 143 阅读 · 0 评论 -
HBase -ROOT-和.META.表结构【转】
在HBase中,大部分的操作都是在RegionServer完成的,Client端想要插入,删除,查询数据都需要先找到相应的RegionServer。什么叫相应的RegionServer?就是管理你要操作的那个Region的RegionServer。Client本身并不知道哪个RegionServer管理哪个Region,那么它是如何找到相应的RegionServer的?本文就是在...原创 2016-06-07 15:21:54 · 109 阅读 · 0 评论 -
hbase热点问题(数据倾斜)解决方案---rowkey散列和预分区设计
Hbase的表会被划分为1....n个Region,被托管在RegionServer中。Region二个重要的属性:Startkey与EndKey表示这个Region维护的rowkey的范围,当我们要读写数据时,如果rowkey落在某个start-end key范围内,那么就会定位到目标region并且读写到相关的数据。 默认情况下,当我们通过hbaseAdmin指定Tab...原创 2016-07-05 14:39:42 · 1862 阅读 · 0 评论 -
HBase Rowkey设计
一、HBase的Schema和cf列族1、Schema的创建修改 Hbase模式建立或更新可以通过Hbase shell工具或者Hbase java API中的Admin类。当列族发生变动时hbase表必须处于disabled状态。例如:Configuration config = HBaseConfiguration.create();Admin admin = new...原创 2016-07-07 15:00:23 · 226 阅读 · 0 评论 -
hbase rowkey 查询
一、hbase查询方式 hbase的查询实现只提供两种方式:按指定rowkey获取唯一一条记录:get方法。按指定条件获取一批记录:scan方法。 实现条件查询功能使用的就是scan方式,scan在使用时有以下几点值的注意:scan可以通过setCaching与setBatch方法提高速度(以空间换时间)scan可以通过setStartRow与setE...原创 2016-07-07 15:46:08 · 6801 阅读 · 0 评论 -
java内存管理(1)
一、java运行时数据区域①程序计数器线程独有,记录线程运行到的字节码位置;②java虚拟机栈和本地方法栈线程独有,用来记录方法被执行时存储的局部变量、对象引用等;③Java堆线程共享,用来存储实例对象;④方法区线程共享,用来存储虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据;⑤直接内存,不占用Java虚拟机内存,但是Java虚拟机可以使用的内存。 程序计数器:...原创 2015-09-16 10:52:49 · 99 阅读 · 0 评论 -
Java垃圾回收(2)
一、Java垃圾回收概况 在Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不稳得执行着出栈和入栈操作。每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,并且在方法结束或线程结束时,内存自然就跟着回收了,所以这几个区域内不需要过多考虑回收问题。而Java堆和方法区则不一样,一个接口中的多个实...原创 2015-09-18 15:21:07 · 137 阅读 · 0 评论 -
HDFS详解
1.HDFS的设计1.1.HDFS使用场景超大文件----在这里指具有几百MB几百GB甚至几百TB大小的文件。目前已经存储PB级数据的hadoop集群了;流式数据访问----一次写入、多次读取是高效的访问模式。数据集通常由数据源生成或从数据源复制而来,接着长时间在此数据集上进行各类分析。每次分析都会涉及该数据集的大部分数据甚至全部,因此读取整个数据集的时间延迟比读取第...原创 2014-11-19 11:46:35 · 370 阅读 · 0 评论 -
spark Streaming详解
1. Spark Streaming提到spark streaming,我们就必须了解一下BDAS(Berkeley Data Analytics Stack),这个伯克利大学提出的关于数据分析的软件栈。从它的视角来看,目前的大数据处理可以分为如下三个类型:复杂的批量数据处理(batch data processing),通常的时间跨度在数十分钟到数小时之间;基于历...原创 2014-11-24 10:43:45 · 273 阅读 · 0 评论