- 浏览: 302657 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
masuweng:
如何给新人机会 -
masuweng:
多sql结果集按列合并新结果报表实现方案 -
Ahe:
赞
坚持长跑方能赢 -
masuweng:
好好好
程序员如何更好的了解自己所做的事情 -
小楠人:
laoguan123 写道楼主好,使用过一些excel导入导出 ...
excell导入导出
Impala+Trevni 很有希望和 Google 的 Dremel 处于同一个级别
http://blog.jobbole.com/31137/
http://blog.jobbole.com/29561/
http://www.csdn.net/article/2012-10-25/2811151-Cloudera-Real-Time-Hadoop-Impala
使用Storm实现实时大数据分析!
Storm
对比Hadoop的批处理,Storm是个实时的、分布式以及具备高容错的计算系统。同Hadoop一样Storm也可以处理大批量的数据,然而Storm在保证高可靠性的前提下还可以让处理进行的更加实时;也就是说,所有的信息都会被处理。Storm同样还具备容错和分布计算这些特性,这就让Storm可以扩展到不同的机器上进行大批量的数据处理。他同样还有以下的这些特性:
这里的快主要是指的时延。
storm的网络直传、内存计算,其时延必然比hadoop的通过hdfs传输低得多;当计算模型比较适合流式时,storm的流式处理,省去了批处理的收集数据的时间;因为storm是服务型的作业,也省去了作业调度的时延。所以从时延上来看,storm要快于hadoop。
说一个典型的场景,几千个日志生产方产生日志文件,需要进行一些ETL操作存入一个数据库。
假设利用hadoop,则需要先存入hdfs,按每一分钟切一个文件的粒度来算(这个粒度已经极端的细了,再小的话hdfs上会一堆小文件),hadoop开始计算时,1分钟已经过去了,然后再开始调度任务又花了一分钟,然后作业运行起来,假设机器特别多,几钞钟就算完了,然后写数据库假设也花了很少的时间,这样,从数据产生到最后可以使用已经过去了至少两分多钟。
而流式计算则是数据产生时,则有一个程序去一直监控日志的产生,产生一行就通过一个传输系统发给流式计算系统,然后流式计算系统直接处理,处理完之后直接写入数据库,每条数据从产生到写入数据库,在资源充足时可以在毫秒级别完成。
当然,跑一个大文件的wordcount,本来就是一个批处理计算的模型,你非要把它放到storm上进行流式的处理,然后又非要让等所有已有数据处理完才让storm输出结果,这时候,你再把它和hadoop比较快慢,这时,其实比较的不是时延,而是比较的吞吐了。
首先要明白Storm和Hadoop的应用领域,注意加粗、标红的关键字。
Hadoop是基于Map/Reduce模型的,处理海量数据的离线分析工具。
Storm是分布式的、实时数据流分析工具,数据是源源不断产生的,例如Twitter的Timeline。
再回到你说的速度问题,只能说Storm更适用于实时数据流,Map/Reduce模型在实时领域很难有所发挥,不能简单粗暴的说谁快谁慢。
最主要的方面:Hadoop使用磁盘作为中间交换的介质,而storm的数据是一直在内存中流转的。
两者面向的领域也不完全相同,一个是批量处理,基于任务调度的;另外一个是实时处理,基于流。
以水为例,Hadoop可以看作是纯净水,一桶桶地搬;而Storm是用水管,预先接好(Topology),然后打开水龙头,水就源源不断地流出来了。
首先明确一点,在消耗资源相同的情况下,一般来说storm的延时低于mapreduce。但是吞吐也低于mapreduce。 @张云聪已经给了比较好的介绍,我再补充一下。storm是典型的流计算系统
Storm的主工程师Nathan Marz表示: Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm之于实时处理,就好比Hadoop之于批处理。Storm保证每个消息都会得到处理,而且它很快——在一个小集群中,每秒可以处理数以百万计的消息。更棒的是你可以使用任意编程语言来做开发。
MapReduce是批处理,先准备好数据,再进行处理,期间还有磁盘会参与运算,比较适合大量数据的离线处理。
Storm整个计算都在内存中完成,不需要任何磁盘参与,所以十分适合实时计算。
爬犁和宝剑哪个快?要看是用来耕地,还是砍人——hadoop像个爬犁,耕地很凶悍;storm像把宝剑,砍人锋利无比。
http://www.csdn.net/article/2012-12-24/2813117-storm-realtime-big-data-analysis
Impala+Trevni 很有希望和 Google 的 Dremel 处于同一个级别
http://blog.jobbole.com/31137/
http://blog.jobbole.com/29561/
http://www.csdn.net/article/2012-10-25/2811151-Cloudera-Real-Time-Hadoop-Impala
使用Storm实现实时大数据分析!
Storm
对比Hadoop的批处理,Storm是个实时的、分布式以及具备高容错的计算系统。同Hadoop一样Storm也可以处理大批量的数据,然而Storm在保证高可靠性的前提下还可以让处理进行的更加实时;也就是说,所有的信息都会被处理。Storm同样还具备容错和分布计算这些特性,这就让Storm可以扩展到不同的机器上进行大批量的数据处理。他同样还有以下的这些特性:
http://www.csdn.net/article/2012-12-24/2813117-storm-realtime-big-data-analysis
http://xumingming.sinaapp.com/
流式计算、批处理计算
由于完全脱离了M/R技术,自身根据HDFS的文件分布来调整计算,所以速度较Hive有很大提升。根据我个人使用部分TPC基准测(为什么是部分?没理 由,我只选了一部分SQL来跑),impala虽然性能提升不像Cloudera标称的达到hive的一百倍,但是在比较复杂的情况下达到40-70倍性 能提高还是有的。
就日常使用来说,标称是支持大部分SQL-92标准(我也不清楚这个标准到底有多少,专业的童鞋给点解读呗!!)。根据我 是测试,日常用的SQL都没有问题。并且impala支持JDBC与ODBC的连接,这对于我们的使用也是很必要的,基于此特点我们可以开发对应业务系统 的UI部分,从而不用要求业务人员自己下SQL了(这是为数不多的展现工作成果的时候了)。
其次就是impala支持的文件格式,我们存取 数据的时候肯定要应景的选择压缩与否以及文件的存储格式。impala支持常用的Text、Sequence、avro格式,压缩方面支持Snappy、 bzip、gzip以及deflate压缩应该可以满足我们大部分的使用场景了。
而最棒的是它的UDF功能可以直接使用hive的udf库,而不需要修改任何代码,使用hive的童鞋可以庆祝了,很多任务不需要任何改变即可平滑切换impala。不过因为impala使用的是C开发的,所以impala还是鼓励大家写一个c下面的udf来提高性能。
http://blog.jobbole.com/31137/
http://blog.jobbole.com/29561/
http://www.csdn.net/article/2012-10-25/2811151-Cloudera-Real-Time-Hadoop-Impala
使用Storm实现实时大数据分析!
Storm
对比Hadoop的批处理,Storm是个实时的、分布式以及具备高容错的计算系统。同Hadoop一样Storm也可以处理大批量的数据,然而Storm在保证高可靠性的前提下还可以让处理进行的更加实时;也就是说,所有的信息都会被处理。Storm同样还具备容错和分布计算这些特性,这就让Storm可以扩展到不同的机器上进行大批量的数据处理。他同样还有以下的这些特性:
这里的快主要是指的时延。
storm的网络直传、内存计算,其时延必然比hadoop的通过hdfs传输低得多;当计算模型比较适合流式时,storm的流式处理,省去了批处理的收集数据的时间;因为storm是服务型的作业,也省去了作业调度的时延。所以从时延上来看,storm要快于hadoop。
说一个典型的场景,几千个日志生产方产生日志文件,需要进行一些ETL操作存入一个数据库。
假设利用hadoop,则需要先存入hdfs,按每一分钟切一个文件的粒度来算(这个粒度已经极端的细了,再小的话hdfs上会一堆小文件),hadoop开始计算时,1分钟已经过去了,然后再开始调度任务又花了一分钟,然后作业运行起来,假设机器特别多,几钞钟就算完了,然后写数据库假设也花了很少的时间,这样,从数据产生到最后可以使用已经过去了至少两分多钟。
而流式计算则是数据产生时,则有一个程序去一直监控日志的产生,产生一行就通过一个传输系统发给流式计算系统,然后流式计算系统直接处理,处理完之后直接写入数据库,每条数据从产生到写入数据库,在资源充足时可以在毫秒级别完成。
当然,跑一个大文件的wordcount,本来就是一个批处理计算的模型,你非要把它放到storm上进行流式的处理,然后又非要让等所有已有数据处理完才让storm输出结果,这时候,你再把它和hadoop比较快慢,这时,其实比较的不是时延,而是比较的吞吐了。
首先要明白Storm和Hadoop的应用领域,注意加粗、标红的关键字。
Hadoop是基于Map/Reduce模型的,处理海量数据的离线分析工具。
Storm是分布式的、实时数据流分析工具,数据是源源不断产生的,例如Twitter的Timeline。
再回到你说的速度问题,只能说Storm更适用于实时数据流,Map/Reduce模型在实时领域很难有所发挥,不能简单粗暴的说谁快谁慢。
最主要的方面:Hadoop使用磁盘作为中间交换的介质,而storm的数据是一直在内存中流转的。
两者面向的领域也不完全相同,一个是批量处理,基于任务调度的;另外一个是实时处理,基于流。
以水为例,Hadoop可以看作是纯净水,一桶桶地搬;而Storm是用水管,预先接好(Topology),然后打开水龙头,水就源源不断地流出来了。
首先明确一点,在消耗资源相同的情况下,一般来说storm的延时低于mapreduce。但是吞吐也低于mapreduce。 @张云聪已经给了比较好的介绍,我再补充一下。storm是典型的流计算系统
Storm的主工程师Nathan Marz表示: Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm之于实时处理,就好比Hadoop之于批处理。Storm保证每个消息都会得到处理,而且它很快——在一个小集群中,每秒可以处理数以百万计的消息。更棒的是你可以使用任意编程语言来做开发。
MapReduce是批处理,先准备好数据,再进行处理,期间还有磁盘会参与运算,比较适合大量数据的离线处理。
Storm整个计算都在内存中完成,不需要任何磁盘参与,所以十分适合实时计算。
爬犁和宝剑哪个快?要看是用来耕地,还是砍人——hadoop像个爬犁,耕地很凶悍;storm像把宝剑,砍人锋利无比。
http://www.csdn.net/article/2012-12-24/2813117-storm-realtime-big-data-analysis
Impala+Trevni 很有希望和 Google 的 Dremel 处于同一个级别
http://blog.jobbole.com/31137/
http://blog.jobbole.com/29561/
http://www.csdn.net/article/2012-10-25/2811151-Cloudera-Real-Time-Hadoop-Impala
使用Storm实现实时大数据分析!
Storm
对比Hadoop的批处理,Storm是个实时的、分布式以及具备高容错的计算系统。同Hadoop一样Storm也可以处理大批量的数据,然而Storm在保证高可靠性的前提下还可以让处理进行的更加实时;也就是说,所有的信息都会被处理。Storm同样还具备容错和分布计算这些特性,这就让Storm可以扩展到不同的机器上进行大批量的数据处理。他同样还有以下的这些特性:
http://www.csdn.net/article/2012-12-24/2813117-storm-realtime-big-data-analysis
http://xumingming.sinaapp.com/
流式计算、批处理计算
由于完全脱离了M/R技术,自身根据HDFS的文件分布来调整计算,所以速度较Hive有很大提升。根据我个人使用部分TPC基准测(为什么是部分?没理 由,我只选了一部分SQL来跑),impala虽然性能提升不像Cloudera标称的达到hive的一百倍,但是在比较复杂的情况下达到40-70倍性 能提高还是有的。
就日常使用来说,标称是支持大部分SQL-92标准(我也不清楚这个标准到底有多少,专业的童鞋给点解读呗!!)。根据我 是测试,日常用的SQL都没有问题。并且impala支持JDBC与ODBC的连接,这对于我们的使用也是很必要的,基于此特点我们可以开发对应业务系统 的UI部分,从而不用要求业务人员自己下SQL了(这是为数不多的展现工作成果的时候了)。
其次就是impala支持的文件格式,我们存取 数据的时候肯定要应景的选择压缩与否以及文件的存储格式。impala支持常用的Text、Sequence、avro格式,压缩方面支持Snappy、 bzip、gzip以及deflate压缩应该可以满足我们大部分的使用场景了。
而最棒的是它的UDF功能可以直接使用hive的udf库,而不需要修改任何代码,使用hive的童鞋可以庆祝了,很多任务不需要任何改变即可平滑切换impala。不过因为impala使用的是C开发的,所以impala还是鼓励大家写一个c下面的udf来提高性能。
发表评论
-
PMP(Private Marketplace)
2015-11-06 17:06 656http://morketing.cn/special-col ... -
批量日志数据库外表写入
2015-06-15 17:15 684#创建外链表映射日志文件 audience_attribut ... -
网站回头客属性设置
2014-10-15 14:38 929人群分类实现: 每个客户可以自定义自己的目标人群计划。 一类是 ... -
关于异步操作的汇总
2014-09-29 13:06 1570随着互联网用户体验,和性能的要求,异步操作越来越凸显重要性。 ... -
SEM 自动化管理工具大起底(这其实是改写三个SEM优化问题的一部分)
2014-09-24 10:18 1275我们常说的 SEM 包含了 S ... -
在调用sql脚本时动态生成临时表处理
2014-09-18 16:52 657定义一张临时表,往里插数据,返回表名 temp_terms ... -
Hive 中内部表与外部表的区别与创建方法
2014-09-16 17:41 2594先来说下Hive中内部表与外部表的区别: Hive ... -
Hadoop的实时分析之路
2014-09-13 11:33 558随着大数据[注]时代 ... -
用户行为属性分类的实现
2014-08-27 09:33 1024对于一个网站来说,分析用户属性,并标记属性标签对后续用户的潜在 ... -
pig将多对象按相同属性集合分组
2014-08-26 11:29 1093--对event和clicks分别取出分组字段,整体属性字 ... -
ruby接收pig流式处理文件内容
2014-08-26 10:58 1265大数据操作中涉及到数据清洗步奏还是用脚本处理比较方便,下边介绍 ... -
greenplum解决数组取交集问题
2014-08-25 23:13 1156最近要用到一个数组合并取交集的功能。 在网上查了一下postg ... -
PostgreSQL: 如何获取一维数组的相同元素并根据相似度排序
2014-08-25 09:12 1113PostgreSQL: 如何获取一维 ... -
PostgreSQL的ARRAY_AGG函数与unnest函数
2014-08-22 21:43 4731PostgreSQL的ARRAY_AGG函数是用来连接到一个数 ... -
pig过滤A表中有B表中无的数据实例
2014-08-20 18:27 1044--加载数据文件 events_raw_short = ... -
列式存储处理
2014-08-20 18:07 627下面以GBase 8a分析型数 ... -
列式存储处理
2014-08-20 18:04 524下面以GBase 8a分析型数据库为例,描述列存储对数据存储与 ... -
spark导读
2014-08-03 19:24 711类Hadoop的高效分布式计 ... -
Spark - 大数据Big Data处理框架
2014-08-03 08:32 581Spark - 大数据Big Data处理框架 (2014-0 ...
相关推荐
本文通过对 Hadoop 的深入分析和研究,根据交易记录查询系统的需求,设计并实现了 基于 Hadoop 的海量交易记录查询系统。首先对 Hadoop 及其相关技术做了研究,着重介绍了 Hadoop 云计算框架中的 HDFS 分布式文件...
标题提及的是“基于Hadoop的实时查询 Cloudera Impala”,这指的是一种在Hadoop生态系统中实现快速、低延迟查询的工具——Cloudera Impala。Cloudera是一家提供大数据管理和分析平台的公司,Impala是它们推出的一个...
闪电般的分布式查询,用于存储存储在Apache Hadoop集群中的PB级数据。 Impala是一个现代的,大规模分布,大规模并行的C ++查询引擎,可让您分析,转换和合并来自各种数据源的数据: 同类最佳的性能和可伸缩性。 ...
此外,通过Spark SQL组件,用户可以直接在分布式数据集上执行SQL查询,相比于Hadoop中的Hive,Spark SQL提供了更高的查询性能。 - **2.3 支持流处理:**Spark Streaming是Spark的重要组件之一,它可以处理实时...
### Hadoop实时数据处理框架Spark技术详解 #### 一、Spark与Hadoop的关系及起源 - **Spark的起源与背景**: - **背景**:Spark最初由加州大学伯克利分校的AMPLab开发,目的是为了克服Hadoop MapReduce在处理...
HBase是一个分布式、面向列的NoSQL数据库,适用于实时查询;Hive提供了基于SQL的查询接口,简化了对Hadoop数据的操作;Pig则提供了一种高级语言来编写MapReduce作业,简化了大数据处理的复杂性;Spark是快速、通用的...
在本项目中,我们主要探讨的是如何利用SpringBoot与Hadoop进行数据操作,以及如何解决在IE浏览器中通过Servlet访问Hadoop存储的图片时出现显示源码的问题。下面将详细阐述这两个关键知识点。 首先,SpringBoot是...
4. **流式处理**:Spark、Flink等新一代大数据处理框架,进一步优化了实时数据处理,使得Hadoop更适合于实时分析场景。 五、Hadoop与大数据的关系 Hadoop是大数据处理的重要工具,它提供了一种经济高效的方式处理...
5. **Hive**:Hive是基于Hadoop的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供SQL(HQL,Hive SQL)接口进行查询,简化了对大数据的分析工作。Hive操作包括创建表、加载数据、执行查询等,...
在处理大规模数据时,为了提高查询效率和数据处理速度,通常会使用索引来优化。 在Hadoop MapReduce中,索引主要应用于以下两个方面: 1. **中间结果的索引**:在Map阶段,数据被分割并映射成键值对。通过创建这些...
6. 数据查询与分析:Hadoop提供了多种查询和分析工具,如Hive、Pig和Spark SQL。这些工具允许用户编写SQL查询或者使用高级编程语言(如Java或Python)进行复杂的数据分析。 7. 数据可视化:为了使非技术人员也能...
HBase是一个分布式、面向列的NoSQL数据库,适合实时查询;Hive提供了SQL-like接口,简化了数据分析;Pig提供了高级语言 Pig Latin,便于数据处理;Oozie是工作流管理系统,协调Hadoop任务;Zookeeper则是集群协调...
而Hive是基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,因此在Windows环境下,通过这些工具可以方便地进行Hive的开发和调试工作。 标签“spark hadoop”暗示了这些文件...
7. **HDFS的延迟访问**:HDFS并不适合低延迟数据访问场景,通常用于批处理而非实时查询。 8. **NameNode与DataNode的角色**:NameNode是主节点,负责元数据管理;DataNode是从节点,存储实际数据。 9. **Namenode...
- **Hive**:提供类似SQL的查询语言HiveQL,简化了对Hadoop数据的查询和分析。 - **Pig**:一种高级语言,用于执行复杂的数据处理任务。 - **ZooKeeper**:提供协调服务,用于维护集群的状态信息。 - **Spark**:一...
4. **Spark**:快速、通用且可扩展的大数据处理引擎,支持批处理、交互式查询(通过Spark SQL)和实时流处理(通过Spark Streaming)。 5. **HBase**:一个非关系型分布式数据库,基于Google Bigtable的设计理念,...
8. **大数据处理实践**:通过案例研究了解Hadoop在日志分析、推荐系统、机器学习和实时流处理等场景的应用。 9. **安全与隐私**:Hadoop的安全特性,如Kerberos认证、加密通信、访问控制和审计。 10. **故障诊断与...
在执行Hadoop数据迁移时,Hadoop集群中的MapReduce作业会利用JDBC驱动与Oracle数据库建立连接,通过执行SQL查询来检索数据,并使用Hadoop的序列化机制将数据写入到HDFS。这样,Oracle中的数据就成功地迁移到了Hadoop...
- **HBase**:基于HDFS的分布式列式数据库,支持实时查询。 - **Spark**:快速、通用且可扩展的大数据处理引擎,支持批处理、交互式查询和流处理。 - **Oozie**:工作流管理系统,协调Hadoop作业的执行。 4. **...
手册通常会包含HDFS命令(如`hadoop fs`系列)、Hadoop作业管理命令(如`hadoop job`)以及集群状态查询命令等。熟悉这些命令能帮助用户更好地管理和监控Hadoop集群。 4. **Hadoop权威指南(第2版)**:这是一本...