频道栏目
首页 > 数据库 > 其他综合 > 正文
关于大数据的几个框架整理
2018-03-07 11:06:11         来源:u010686046的博客  
收藏   我要投稿

大数据整理:

一、大数据框架:

Impala:hadoop的sql平台、支持hbase/hdfs、支持超大数据、支持多并发、sql支持好、对内存依赖比较严重。需要自己优化,并且有的语句超过内存会报错。

Spark:各种格式、各种计算(机器学习、图形计算)、可sql、可代码处理、支持scala/java/python语言开发。提供scala/python代码命令行运行、超大数据支持差。

Kylin:预计算、好优化、高性能、支持mr、spark、基于时间的增量更新、流式更新、数据源有hive/kafka、提供开发用的管理台是一套开发系统。由于有预计算、所以其他各个模块独立,能支持高并发。可以直接作为软件系统的数据源。

Phoenix:sql on hbase、快

Hbase:key/value、强一致性、不丢数据

Cassandra:弱一致性,数据可能丢失。可用性高、读写性能比hbase高、被facebook放弃了。

案例1:特别适合大数据sql查询

数据存入hbase,把hbase表结构隐射到hive,用Impala进行sql查询。

优点有三个:

A、Impala支持hdfs/hbase两个适用度比Phoenix更广,并且更稳定。

B、数据在hbase中,对数据的操作得以进行,hdfs中的数据是没法行级更新,删除的。并且速度也比hdfs快。无需字段分割解析,直接读取。

C、能在hive中为表结构,给开发和后面换用其他框架留下很大方便。

案例2:Zeppelin特别适合spark机器学习

Spark交互式开发平台

Zeppelin整合了Spark,Markdown,Shell,Angular等引擎,集成了数据分析和可视化等功能

提供了sql查询,和scala/python分析代码调试功能。

案例3:Kylin:全功能大数据sql查询平台

预计算、好优化、高性能、支持mr、sparksql、基于时间的增量更新、流式更新、有开发管理台、数据源有hive/kafka。

由于有预计算、所以其他各个模块独立,能支持高并发。可以直接作为软件系统的数据源。

案例4:

Presto 玩的更绝,全程在内存中倒腾,需要对各个步骤下对象数据规模做到完全精细的把控。优势是速度快,支持的数据源多。

总结::

MPP架构的系统(Presto/Impala/SparkSQL/Drill等)有很好的数据量和灵活性支持,但是对响应时间是没有保证的。当数据量和计算复杂度增加后,响应时间会变慢,从秒级到分钟级,甚至小时级都有可能。

搜索引擎架构的系统(Elasticsearch等)相对比MPP系统,在入库时将数据转换为倒排索引,采用Scatter-Gather计算模型,牺牲了灵活性换取很好的性能,在搜索类查询上能做到亚秒级响应。但是对于扫描聚合为主的查询,随着处理数据量的增加,响应时间也会退化到分钟级。

预计算系统(Druid/Kylin等)则在入库时对数据进行预聚合,进一步牺牲灵活性换取性能,以实现对超大数据集的秒级响应。

1. kylin 预计算。用户指定dimensions和要计算的metric,kylin通过MR将结果保存在HBase中,后续读取直接读HBase。适合那种业务清楚的知道自己要分析什么的场景。查询模式比较固定,只不过所查看的时间不同的场景。注意的点是要避免维度灾难。

2. presto java8写的,代码质量非常高。设计:纯内存,没有容错,一个task失败就整个query fail。需要注意调整内存相关,线程数等参数,容易OOM。benchmark还行。支持标准SQL

3.Spark sql 相对更‘原生‘一些,单纯的通用框架,和上面两位并不是同一层面上的东西。

二、深度学习框架:

TensorFlow:google开源的,当前版本已经有高级API、可视化工具、GPU支持、异步执行

DeepLearning4J:(DL4J)是一套基于Java语言的神经网络工具包,可以构建、定型和部署神经网络。DL4J与Hadoop和Spark集成,支持分布式CPU和GPU。

Keras:

Keras是一个高层神经网络API,Keras由纯Python编写而成并基Tensorflow或Theano。Keras 为支持快速实验而生,能够把你的idea迅速转换为结果,如果你有如下需求,请选择Keras:

简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)

支持CNN和RNN,或二者的结合

无缝CPU和GPU切换

点击复制链接 与好友分享!回本站首页
上一篇:数据库基础之范式和约束介绍
下一篇:MISCONFRedisisconfiguredtosaveRDBsnapshots的错误提示
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站