加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡水站长网 (https://www.0318zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

连面试这件事都想给改改

发布时间:2021-02-13 11:40:16 所属栏目:外闻 来源:互联网
导读:Kafka支持分区(partition)和副本(replica),针对消息队列进行处理。消息传送功能包含连接服务(connection service)、消息的路由(routing)、传送(delivery)、持久性(durability)、安全性(security)和日志记录(log)。 Kafka的主要应用程序接口有如下四类:生产

Kafka支持分区(partition)和副本(replica),针对消息队列进行处理。消息传送功能包含连接服务(connection service)、消息的路由(routing)、传送(delivery)、持久性(durability)、安全性(security)和日志记录(log)。

Kafka的主要应用程序接口有如下四类:生产者(producer API)、消费者(consumer API)、流(stream API)和连接器(connector API)。

Kafka对外的接口设计理念是基于话题(topic)的,消息生成后被写入话题中,用户从话题中读取消息。单个的话题由多个分区构成,当系统性能下降时,通常的操作是增加分区的个数。

分区之间的消息互相独立,每个分区内的消息是有序的。新消息的写入操作在具体实现中为相应文件内容的追加操作,该方式具有较强的性能。由于一个话题可以包含多个分区,因此Kafka具有高吞吐量、低延迟的特性。

消息队列包含两个模型:点对点(point-to-point)和发布/订阅(publish/subscribe)。

对于点对点模型,消息生成后进入队列,由用户从队列中取出消息并使用。当消息被使用后,其生命周期已经结束,即该消息无法再次被使用。虽然消息队列支持多个用户,但一个消息仅能够被一个用户所使用。

 

hark支持Hive包含的查询语言、元存储、序列化格式以及自定义函数。后来,Hadoop体系结构中MapReduce本身的结构限制了Shark的发展,研究者们中止了Shark的研发,启动了Shark SQL这个新项目。Shark SQL是基于Spark的一个组件,提供了针对结构化数据的便捷操作,统一了结构化查询语言与命令式语言。

Shark在Spark的体系结构中提供了和Hive相同的HiveQL编程接口,因此与Hive兼容。通过Hive的HQL解析,将HQL转换成Spark上的RDD操作。

12 Kafka

Kafka是一个分布式流处理平台(distributed streaming platform),最初由领英公司开发,使用的编程语言是Java和Scala。
 

相对于Hadoop,Spark的显著特点是能够在内存中进行计算,因此又称为通用内存并行计算框架,与MapReduce兼容,其主要构件包括SparkCore、SparkSQL、SparkStreaming、MLlib、GraphX、BlinkDB和Tachyon。

Hadoop存在磁盘I/O和序列化等性能瓶颈,在Spark的设计理念中,选用内存来存储Hadoop中存储在HDFS的中间结果。Spark兼容HDFS,能够很好地融入Hadoop体系结构,被认为是MapReduce的替代品。

根据Spark官方网站的数据,Spark的批处理速度比MapReduce提升了近10倍,内存中的数据分析速度则提升了近100倍。

Spark模型所特有的弹性分布式数据集(Resilient Distributed Dataset,RDD)使得针对数据的灾难恢复在内存和磁盘上都可以实现。

总体来说,Spark的编程模型具有以下四个特点:速度(speed)、简易(ease of use)、通用(generality)和兼容(runs everywhere)。

  • 在速度方面,Spark使用基于有向无环图(Directed Acyclic Graph,DAG)的作业调度算法,采用先进的查询优化器和物理执行器提高了数据的批处理和流式处理的性能。
  • 在简易方面,Spark支持多种高级算法,用户可以使用Java、Scala、Python、R和SQL等语言编写交互式应用程序。
  • 在通用方面,Spark提供了大量的通用库,使用这些库可以方便地开发出针对不同应用场景的统一解决方案,极大地降低了研发与运营的成本。
  • 在兼容方面,Spark本身能够方便地与现有的各类开源系统无缝衔接,例如已有的Hadoop体系结构中的HDFS和Hbase。

11 Shark

作为一个面向大规模数据的数据仓库工具,Shark最初是基于Hive的代码进行开发的。Hive在执行交互查询时需要在私有数据仓库上执行非常耗时的ETL操作,为了弥补这个性能问题,Shark成了Hadoop体系结构中的首个交互式SQL软件。


 

(编辑:衡水站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读