- 博客(49)
- 资源 (3)
- 收藏
- 关注
转载 Spark性能优化指南——高级篇
本文转发自美团点评技术团队,原文链接https://tech.meituan.com/spark-tuning-basic.html前言继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。数据倾斜调优调优概述有的时候,
2017-09-19 17:03:39 606
转载 Spark性能优化指南——基础篇
本文转发自美团点评技术团队,原文链接https://tech.meituan.com/spark-tuning-basic.html前言在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已
2017-09-19 16:47:30 453
转载 Kafka设计解析(四)- Kafka Consumer设计解析
本文转发自技术世界,原文链接 http://www.jasongj.com/2015/08/09/KafkaColumn4摘要 本文主要介绍了Kafka High Level Consumer,Consumer Group,Consumer Rebalance,Low Level Consumer实现的语义,以及适用场景。以及未来版本中对High Level Consum
2017-09-14 16:04:58 353
转载 Kafka设计解析(三)- Kafka High Availability (下)
本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/06/08/KafkaColumn3摘要 本文在上篇文章基础上,更加深入讲解了Kafka的HA机制,主要阐述了HA相关各种场景,如Broker failover,Controller failover,Topic创建/删除,Broker启动,Follower从Lead
2017-02-13 11:51:34 371
转载 Kafka设计解析(二)- Kafka High Availability (上)
本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/04/24/KafkaColumn2摘要 Kafka在0.8以前的版本中,并不提供High Availablity机制,一旦一个或多个Broker宕机,则宕机期间其上所有Partition都无法继续提供服务。若该Broker永远不能再恢复,亦或磁盘故障,则其上数据将丢
2017-02-13 11:15:44 357
转载 Kafka设计解析(一)- Kafka背景及架构介绍
本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/03/10/KafkaColumn1摘要 Kafka是由LinkedIn开发并开源的分布式消息系统,因其分布式及高吞吐率而被广泛使用,现已与Cloudera Hadoop,Apache Storm,Apache Spark集成。本文介绍了Kafka的创建背景,设计目标
2017-02-13 11:08:52 295
原创 集群数据迁移
静态迁移方案(必须在hbase集群停掉的情况下进行)hadoop distcp动态迁移方案三种:Replication备份方案修改hbase-site.xml配置,增加hbase.replication属性,增加表属性REPLICATION_SCOPE属性add_peerCopyTable方案命令:./hbase org.apache.hadoop.
2017-02-13 10:51:59 722
原创 二级索引
HBase二级索引hbase-solrsolr:solrcloud必须的软件:hbase、solr、zookeeper、hbase-solr https://github.com/NGDATA/hbase-indexer 安装hbase-solr,整合测试1、获取tar包,解压2、进入conf目录,修改hbase-indexer-site.xml配置文件,配
2017-02-13 10:50:59 2469
原创 在线数据备份
hbase复制是一种在不同hbase部署中复制数据的一种方法,它可以作为一种故障恢复的方法,并提高hbase层次的高可用性hbase复制架构中最基本的是“主推送”因为每个regionserver都有自己的WAL,所以很容易保存现在正在复制的位置。一个主集群可以将数据复制到任意数目的从集群,每个regionserver都会参与复制自己的修改
2017-02-13 10:40:14 313
原创 HBase WAL机制
WAL预写日志客户端向Regionserver提交数据的时候,会优先写WAL日志(Hlog),只有当WAL日志写成功以后,客户端才会告诉提交数据成功,如果写WAL失败则会告诉写数据失败一个Regionserver上的所有Region共享一个HLog,一次数据的提交是先写WAL,在写metastore实现了WAL的类叫HLog,当Hregion被实例化时,HLog会被当作一个参数
2017-02-13 10:39:25 1190
原创 HBase删除
Delete用于从表中删除数据。HTable除了提供删除方法delete()外,还有一个与之对应的类Delete,用户可以通过多种方法限定要删除的列。HBase的Delete操作可以指定删除某个列簇或某个列,或者指定某个时间戳,删除比这个时间早的数据。HBase的Delete操作并不是真正的从磁盘删除数据。而是通过创建墓碑标志进行处理。这些墓碑标记的值和小于该时间版本的单元
2017-02-13 10:38:40 4903
原创 HBase Version
HBase中版本是按倒序排列的,因此当读取到这个文件时,最先找到的是最近的版本。含版本的操作:(1) Get/ScanGet实在Scan的基础上实现的。Get在默认情况下返回的是最近版本的cell,如果想要返回多个版本,可以通过该类的setMaxVersions(),或者setTimeRange()来制定版本(2)Put一个Put操作会为一个Cell创建一个
2017-02-13 10:38:03 2156
原创 HBase Rowkey设计
Rowkey是不可分割的字节数,按字典排序由低到高存储在表中。在设计HBase表时,Rowkey设计是至关重要的,应该基于预期的访问模式来为Rowkey建模。Rowkey决定了访问HBase表时可以得到的性能,原因有两个:Region基于Rowkey为一个区间的行提供服务,并且负责区间的每一行;HFile在硬盘上存储有序的行。这两个因素是相互关联的。当region将内存中的数据
2017-02-13 10:37:18 445
原创 HBase BloomFilter
实际上是一个很长的二进制向量和一系列随机映射函数。其可以用于检索一个元素是否在一个集合中。优点:空间效率和查询时间都远远的超过一般算法,缺点:有一定的误识别率和删除困难。类型:NONE:没有ROW:行键ROWCOL:行键+列使用布隆过滤器的根本原因:默认机制决定了一个存储文件是否包含特定的受限于可用块索引的行键,同时这个索引又是相当粗粒度的,该索引只
2017-02-13 10:36:22 594
原创 其他文件格式及压缩方法
Hive的一个独特的功能:Hive不会强制要求将数据转换成特定的格式才能使用。Hive使用Hadoop的InputFormat API来从不同的数据源读取数据,同样的使用OutputFormat API也可以将数据写成不同的格式。压缩的好处:节约磁盘空间;可以增加吞吐量和性能;提高网络传输性能。确定安装的编解码器hive -e “set io.compression.c
2016-04-20 18:08:15 620
原创 HiveQL:索引
Hive只有有限的索引功能,Hive中没有普通关系型数据库中键的概念。但是还是可以对一些字段建立索引来加速某些操作的。一张表的索引数据存储在另一张表中。同时因为这是一个相对比较新的功能,所以目前还没有提供很多的选择。然而,索引处理模块被设计成为可以定制的Java编码的插件。因此,用户可以根据实际需要对其进行是吸纳,以满足自身的需求。创建索引create index em
2016-04-20 18:07:39 774
原创 HiveQL:视图
使用视图来降低查询复杂度当查询变得很长或复杂的时候,通过使用视图将这个查询语句分隔成多个小的、更可控的片段可以降低这种复杂度。eg:from ( select * from people join cart on (cart.people_id=people.id) where firstname='john') a select a.lastname where a.id=3 ;
2016-04-20 18:07:06 548
原创 HCatalog
HCatalog:Apache HCatalog是基于Apache Hadoop之上的数据表和存储管理服务。提供一个共享的模式和数据类型的机制。抽象出表,使用户不必关心他们的数据怎么存储。提供可操作的跨数据处理工具,如Pig,MapReduce,Streaming,和Hive。Hive0.11.0集成了HCatalog,Hive以前的版本不存在HCatalog.HC
2016-04-20 18:06:31 5583 1
原创 Hive函数
UDF:参照https://cwiki.apache.org/confluence/display/Hive/OperatorsAndFunctions1、创建要实现的功能类,继承UDF,需要覆盖evaluate方法2、将要实现的功能类编译成jar包,并添加值hive classpath 进入hive shell模式,通过 add jar path 命令3、创建自定义的聚合
2016-04-20 18:05:58 395
原创 自定义Hive文件和记录格式
文件格式文本格式 :textfile(默认)二进制存储格式:Sequencefile 是含有键-值对的二进制文件,是Hadoop本身就支持的一种标准的文件格式,在定义表结构是可通过stored as Sequencefile语句指定。RCfile 大多数的Hadoop和Hive都是按照行式存储的,在大多数情况下,都是比较高效的。这种高效原因:大多数的表的具有
2016-04-20 18:05:18 861
原创 Hive锁
Hive结合Zookeeper支持锁功能Hive中包含了一个使用Zookeeper进行锁定的锁功能。Zookeeper实现了高度可靠的分布式协调服务。处理需要增加一些额外的设置和配置步骤。Zookeeper对于Hive用户来说是透明的。安装Zookeeper参见Zookeeper文档现在我们来配置Hive,让其可以使用这些Zookeeper节点来启用并发支持:需要再
2016-04-20 18:04:42 5879
原创 Hive安全
使用Hive进行权限验证如果文件和文件夹是多个用户共同拥有的话,那么文件的权限设置就变的相当重要。HDFS中的文件目录权限和Unix中的模式非常相似,都包含3层:用户、组和其他,同时具有3种权限:可读、可写和可执行。Hive中hive.files.unmask.value来定义对于新创建的文件设置默认的权限的unmask值,也就是掩码字节数。同时,当属性hive.metaastore.
2016-04-20 18:04:02 1968
原创 存储处理程序和NoSql
存储处理程序是一个结合InputFormat、OutputFormat、SerDe和Hive需要使用的特定的代码,来将外部实体作为标准的Hive表进行处理的整体。Storage Handler BackgroundHadoop中有一个名为InputFormat的抽象接口类,其可以将来自不同源的数据格式化成可以作为job输入的格式。如TextInputFormat。Hadoop同
2016-04-20 18:03:23 595
原创 Hive的thrift服务
Hive具有一个可选的组件叫HiveServer或HiveThrift,其允许通过指定端口访问Hive。启动Thrift Server进入Hive安装目录 使用如下命令开启服务hive --service hiveserver &检查HiveServer是否启动成功使用如下命令 netstat -nl | grep 10000配置Groovy使用HiveSe
2016-04-20 18:02:48 10621
原创 Hive调优
使用explain 其可以帮助我们学习Hive是如何将查询转化为MapReduce任务的。在执行语句前面增加explain关键字即可,如 explain select sum(number) from onecol ;使用explain extended语句可以产生更多的输出信息。限制调整limit语句是我们经常使用的,在很多情况下limit语句还是需要执行整个查询
2016-04-20 18:02:19 670
原创 Hive模式设计
按天划分的表:使用分区分区:一个理想的分区方案不应该导致产生太多的分区和文件夹目录,并且每个目录下的文件应该足够大,应该是文件系统中块大小的若干倍。如何保证:按时间范围进行分区的一个好的策略就是按照不同的时间粒度来确定合适大小的数据积累量,而且安装这个时间粒度。另一个解决方案是使用两个级别的分区并且使用不同的维度。最后如果用户找不到好的分区方案,可以使用"分桶表数据
2016-04-20 18:01:34 1063
原创 HiveQL:数据操作
向管理表中装载数据:load data local inpath '/home/demo/data/' overwrite into table emp partition(state='CHN',city='BJ');解析:local 存在该关键字表示从linux本地目录,否则,从HDFS系统inpath 后面添加的路径为一个目录,表示该目录下的所有数据overwrite 存
2016-04-20 18:00:57 648
原创 HiveQL:数据定义
Hive中的数据库:本质上是表的一个目录或命名空间,数据库所在的目录位于属性hive.metastore.warehouse.dir所指定的顶层目录之后,数据库的文件目录名是以.db结尾的。hive在查询的时候,如果表中的数据以及分区个数都非常大的话,执行这样一个包含所有分区的查询可能会触发一个巨大的MapReduce任务。一个高度建议的安全措施就是将Hive设置为"strict(严格
2016-04-20 18:00:21 420
原创 Hive数据类型和数据格式
Hive支持关系型数据库中的大多数基本数据类型,同时也支持关系型数据库中很少出现的3中集合数据类型:基本数据类型:tinyint(1byte)、smallint(2byte)、int(4byte)、bigint(8byte)、boolean(true|false)、float(单精度浮点数)、double(双精度浮点数)、string(字符序列)、timestamp(整数、浮点数或者字符串
2016-04-20 17:59:41 2421
原创 Hive基础操作
安装Hive : https://cwiki.apache.org/confluence/display/Hive/GettingStarted命令行界面:使用cli,用户可以创建表,查看表模式以及查询表等操作。cli "一次使用"命令:hive -e "select * from mytable limit 3"; hive -S 开启静默模式 去除掉输出
2016-04-20 17:59:00 340
原创 Hive基础知识
HIve出现的原因:解决SQL用户从一个现有的基于传统关系型数据库和结构化查询语言的基础架构转移到hadoop上,来通过HiveQL来查询存储在Hadoop集群上的数据。Hive可以将大多数的查询转换为MapReduce任务(job),进而在介绍一个令人熟悉的SQL的同时,拓宽了Hadoop的可扩展性。Hive不是一个完整的数据库。Hadoop以及HDFS的设计本身约束和局
2016-04-20 17:57:56 453
原创 Kafka整合Flume
Kafka与flume1)准备jar包1、将Kafka主目录lib下的如下jar拷贝至Flume的lib目录下kafka_2.10-0.8.2.1.jar、kafka-clients-0.8.2.1.jar、jopt-simple-3.2.jar、metrics-core-2.2.0.jar、scala-library-2.10.4.jar、zkclient-0.3.jar等
2016-04-13 15:43:33 1957
原创 Kafka基本概念
是一个分布式、可分区、可复制的消息系统,主要用于处理活跃的流式数据。工作原理Kafka的设计初衷是希望作为一个统一的信息收集平台,能够实时的收集反馈信息,并需要能够支撑较大的数据量,且具备良好的容错能力Kafka中的zookeeper的用途正如zookeeper用于分布式系统的协调和促进,Kafka使用也是基于这一原因,zookeeper用户管理、协调Kafka代理
2016-04-13 15:39:29 1489
原创 processor示例
sink group允许组织多个sink到一个实体上,sink processors能够提供在组内所有sink之间实现负载均衡的能力,而且在失败的情况下能够进行故障转移从一个sink到另外一个sink1、default sink processor 接收单一的sink,不强制用户为sink创建processor2、failover sink processor其维护了一个优先级列表
2016-04-13 15:37:59 330
原创 selector示例
11、复制:同一份数据,发送给两个sink1个source、2个channel、2个sinkcase12_replicate_sink.conf#配置内容#name the component on this agenta1.sources = r1a1.channels= c1 c2a1.sinks = k1 k2#describe/configure
2016-04-13 15:37:33 314
原创 sink示例
7、hdfs实例case8_hdfs.conf#配置内容#name the component on this agenta1.sources = r1a1.channels= c1a1.sinks = k1#describe/configure the sourcea1.sources.r1.type = syslogtcpa1.sources.r
2016-04-13 15:36:52 361
原创 source示例
1、配置文件case2_avro.conf#配置内容#name the component on this agenta1.sources = r1a1.channels= c1a1.sinks = k1#describe/configure the sourcea1.sources.r1.type = avroa1.sources.r1.bind = 0.
2016-04-13 15:35:30 303
原创 source介绍及动手实践
flume内置了大量的source,其中avro source、thrift source、spooling directory source、kafka source具有较好的性能和较广泛的使用场景。avro sourceAvro Source监听Avro端口,接收外部Avro客户端发送过来的Avro Event数据。在多级流中,Avro Source可以和前一个Flume Ag
2016-04-13 15:33:56 632
原创 安装与测试
安装1、下载tar包,可以使用wget +url或者到官方网站上下载tar包2、解压到指定目录,使用tar命令3、进入到配置文件中,进行简单的配置即可使用即可进行使用简单测试进入到flume配置文件,配置flume.confa1.sources = r1a1.sinks = k1a1.channels = c1#sourcea1.sources.
2016-04-13 15:33:13 339
原创 flume简介
概念是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。分为两个版本,Flume OG和Flume NG。架构Event 由消息头和消息内容组成,消息头是可选的,是flume的基本数据单元,flume使
2016-04-13 15:32:18 675
kafka初探尝鲜
2015-12-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人