大数据应用统一集成平台CDAP简介
2017-09-22 09:53
309 查看
CDAP概述
CDAP的特性
CDAP的架构和技术
CDAP的适用场景
CDAP的优缺点
总结
![](https://img-blog.csdn.net/20170922090855020?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDAzOTkyOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
其中:
CDAP Datasets:是存储在HDFS和HBase中数据的逻辑表示,Datasets提供从应用中写数据的接口层,不关心底层存储引擎,允许以重用库的方式封装应用数据。
CDAP Programs:应用程序可使用不同的开源框架如MapReduce、Spark和realtime Flow来处理,CDAP附带App container来整合每个处理框架,并提供一种标准化的方式来开发、部署和管理程序。
CDAP Services:系统级服务,在开发和生产环境中支持数据和应用程序,包括应用管理,元数据管理,数据流和安全。
CDAP Tools: 包括开发工具如:Maven、SDK、调试工具、测试框架和操作界面(UI)。
CDAP支持多种运行环境,基于内存、单机和集群,CDAP子项目提供和CDAP交互的SDK和工具、applications和可重用的大数据组件(packs)
![](https://img-blog.csdn.net/20170922092726223?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDAzOTkyOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
通过流的方式提供了可扩展、可靠的实时和批量数据提取,支持push和pull,支持Flume, Kafka 和 REST,支持SQL-like 数据查询,如下图所示。
![](https://img-blog.csdn.net/20170922093608216?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDAzOTkyOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
ETL管道
实现无代码配置,通过ETL模板部署和管理ETL管道
事务处理
CDAP为HBase和HDFS集成了一个可扩展的分布式事务处理引擎,称为Tephra。
实时,批量和SQL
CDAP公开进行实时、批处理和SQL访问所有数据,而无需任何数据复制。
运行可移植性
CDAP支持三种不同的运行模式:基于内存、本地和分布式。其中基于内存和单机模式主要用于测试和调试。
复杂的数据模式
CDAP支持跨越多个表,行和非幂等操作。
Tigon Flows
CDAP允许与Tigon Flows进行可扩展的实时流处理。
流程
CDAP提供通过时间或数据的可用性实现工作流的自动化批处理。
服务
CDAP应用通过定制的HTTP服务对外部客户端提供服务
Namespace
CDAP命名空间对集群中相互隔离的多用户提供应用程序和数据
安全
CDAP集群提供周边安全和可插拔的认证机制。
管理
CDAP控制台对集群和应用程序提供一站式操作和管理
Streams:用于实时数据采集;
Programs:Flows、MapReduce、Spark用于实时或批量数据处理;
Datasets:抽象为数据存储;
Services:为外部客户端提供数据服务。
![](https://img-blog.csdn.net/20170922095359767?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDAzOTkyOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
CDAP组件及其交互
Router: 外部客户端接入到CDAP唯一的公共接入点,它转发客户端请求到相应的系统服务或应用程序,还执行认证服务。
Master: 控制和管理所有服务和应用程序。
System Services: 提供重要平台功能 (数据集、事务、服务发现日志和指标收集)。运行在application containers中。
Application containers: 抽象和隔离执行应用程序代码,线性和弹性扩展底层基础设施。
![](https://img-blog.csdn.net/20170922095901321?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDAzOTkyOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
CDAP抽象
CDAP从底层基础架构解耦数据和应用程序,使具有可移植性。允许在Hadoop的生态系统的各个组件的抽象层上抽象数据和应用。访问和操作数据,通过CDAP的Datasets,而不是如HDFS和HBase这样的实际存储引擎。使用CDAP提供的开发接口去编写程序并在内部应用程序容器运行,容器为逻辑抽象并可在多个环境中运行,如内存,单机或分布式集群,无需修改代码就可在不同的环境中部署和运行。
![](https://img-blog.csdn.net/20170922095953109?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDAzOTkyOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
CDAP功能架构
![](https://img-blog.csdn.net/20170922100004793?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDAzOTkyOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
CDAP抽象
数据抽象
在CDAP应用程序中,你通过Datasets与数据交互。Datasets提供了抽象通过:
抽象了数据的实际存储,在写代码和查询过程中,不必知道数据存储在哪里;
数据访问模式和业务逻辑封装在可重用的、托管的Java代码中;
使用CAST Tephra事务机制,保证高并发时访问数据的一致性;
数据集可在不同的编程模式下运行,只需数据在Datasets中,能在实时、批处理、ad-hoc SQL查询中直接使用。
应用抽象
CDAP的编程接口在不同运行环境有多种实现,通过CDAP Developer API构建应用程序,该API隐藏了编程模式和执行环境的低层细节。它丰富了通常大数据应用需要的众多有用服务的基础设施,如服务发现,日志和指标的收集和配置等。这些服务的环境特定的实现是通过CDAP注入到该应用程序的运行的app container,程序并不需要根据环境而改变。这允许在自己的环境中独立开发、测试,然后无缝地在不同的分布式集群环境中部署它们。
应用程序的部署以及其生命周期的管理、监测是通过CDAP Client API来完成。同Developer API ,环境的改变对其无影响。
CDAP编程接口
Developer Interface:开发者接口用于构建应用程序,并提供只运行在内部app container代码的各种Java API。
Client interface:客户端接口是一个RESTful API,是外部客户端可以与CDAP和应用程序进行交互的唯一途径。这些API不能从容器内访问,如应用程序生命周期管理和监控。作为一种替代HTTP,客户端库中含有不同的编程语言,包括Java、Python和Ruby。
![](https://img-blog.csdn.net/20170922100203042?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDAzOTkyOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
日志处理Web应用分析
实时网络应用分析
社交应用分析
推荐引擎
OLAP与多维数据分析
CDAP提供了一个high-level的综合框架使开发人员和操作人员轻松学习,集成和管理各个开源项目。构建在CDAP上的应用程序分离业务逻辑和基础架构API,大大降低复杂性和总体成本。
综合能力强大,避免时间浪费在常规任务上;
概念完整,只需与标准层整合一次;
框架严密,不必担心应用程序逻辑出错;
快速
CDAP使开发人员能够快速通过丰富的用户界面和交互shell获得具有内置的数据提取,探索和转换功能。可重用的抽象层使开发人员快速构建以数据为中心的应用程序,并投入实际生产。
丰富的用户界面和交互shell可在使用Hadoop时无需编写代码;
应用程序模板和数据模式,方便编写特定API逻辑;
运行时服务和工具,确保可以可靠地测试,并迅速转移到实际生产;
创新
CDAP使得Hadoop中的所有数据可实时访问,批量处理和Ad-hoc SQL分析,而无需编写代码、管理元数据或复制任何数据。先进的功能扩展、高吞吐实时提取和事务处理、同时保持数据一致性,将颠覆应用案例。
实时、批处理和SQL整合意味着数据可用于所有的访问模式;
灵活的实时和批处理提取,可从任何来源摄取任何类型的数据;
事务和一致性,打造面向用户的大规模实时应用。
CDAP的特性
CDAP的架构和技术
CDAP的适用场景
CDAP的优缺点
总结
CDAP概述
CDAP (CAST DATA APPLICATION PLATFORM)是一个开源的大数据应用统一集平台,帮助应用开发者和系统管理员基于Hadoop技术栈来构建、测试、部署、管理数据应用程序。CDAP由Datasets、Programs、 Services、Tools等组件组成,如图1 所示:其中:
CDAP Datasets:是存储在HDFS和HBase中数据的逻辑表示,Datasets提供从应用中写数据的接口层,不关心底层存储引擎,允许以重用库的方式封装应用数据。
CDAP Programs:应用程序可使用不同的开源框架如MapReduce、Spark和realtime Flow来处理,CDAP附带App container来整合每个处理框架,并提供一种标准化的方式来开发、部署和管理程序。
CDAP Services:系统级服务,在开发和生产环境中支持数据和应用程序,包括应用管理,元数据管理,数据流和安全。
CDAP Tools: 包括开发工具如:Maven、SDK、调试工具、测试框架和操作界面(UI)。
CDAP支持多种运行环境,基于内存、单机和集群,CDAP子项目提供和CDAP交互的SDK和工具、applications和可重用的大数据组件(packs)
CDAP的特性
数据提取通过流的方式提供了可扩展、可靠的实时和批量数据提取,支持push和pull,支持Flume, Kafka 和 REST,支持SQL-like 数据查询,如下图所示。
ETL管道
实现无代码配置,通过ETL模板部署和管理ETL管道
事务处理
CDAP为HBase和HDFS集成了一个可扩展的分布式事务处理引擎,称为Tephra。
实时,批量和SQL
CDAP公开进行实时、批处理和SQL访问所有数据,而无需任何数据复制。
运行可移植性
CDAP支持三种不同的运行模式:基于内存、本地和分布式。其中基于内存和单机模式主要用于测试和调试。
复杂的数据模式
CDAP支持跨越多个表,行和非幂等操作。
Tigon Flows
CDAP允许与Tigon Flows进行可扩展的实时流处理。
流程
CDAP提供通过时间或数据的可用性实现工作流的自动化批处理。
服务
CDAP应用通过定制的HTTP服务对外部客户端提供服务
Namespace
CDAP命名空间对集群中相互隔离的多用户提供应用程序和数据
安全
CDAP集群提供周边安全和可插拔的认证机制。
管理
CDAP控制台对集群和应用程序提供一站式操作和管理
CDAP的架构和技术
CDAP应用程序Streams:用于实时数据采集;
Programs:Flows、MapReduce、Spark用于实时或批量数据处理;
Datasets:抽象为数据存储;
Services:为外部客户端提供数据服务。
CDAP组件及其交互
Router: 外部客户端接入到CDAP唯一的公共接入点,它转发客户端请求到相应的系统服务或应用程序,还执行认证服务。
Master: 控制和管理所有服务和应用程序。
System Services: 提供重要平台功能 (数据集、事务、服务发现日志和指标收集)。运行在application containers中。
Application containers: 抽象和隔离执行应用程序代码,线性和弹性扩展底层基础设施。
CDAP抽象
CDAP从底层基础架构解耦数据和应用程序,使具有可移植性。允许在Hadoop的生态系统的各个组件的抽象层上抽象数据和应用。访问和操作数据,通过CDAP的Datasets,而不是如HDFS和HBase这样的实际存储引擎。使用CDAP提供的开发接口去编写程序并在内部应用程序容器运行,容器为逻辑抽象并可在多个环境中运行,如内存,单机或分布式集群,无需修改代码就可在不同的环境中部署和运行。
CDAP功能架构
CDAP抽象
数据抽象
在CDAP应用程序中,你通过Datasets与数据交互。Datasets提供了抽象通过:
抽象了数据的实际存储,在写代码和查询过程中,不必知道数据存储在哪里;
数据访问模式和业务逻辑封装在可重用的、托管的Java代码中;
使用CAST Tephra事务机制,保证高并发时访问数据的一致性;
数据集可在不同的编程模式下运行,只需数据在Datasets中,能在实时、批处理、ad-hoc SQL查询中直接使用。
应用抽象
CDAP的编程接口在不同运行环境有多种实现,通过CDAP Developer API构建应用程序,该API隐藏了编程模式和执行环境的低层细节。它丰富了通常大数据应用需要的众多有用服务的基础设施,如服务发现,日志和指标的收集和配置等。这些服务的环境特定的实现是通过CDAP注入到该应用程序的运行的app container,程序并不需要根据环境而改变。这允许在自己的环境中独立开发、测试,然后无缝地在不同的分布式集群环境中部署它们。
应用程序的部署以及其生命周期的管理、监测是通过CDAP Client API来完成。同Developer API ,环境的改变对其无影响。
CDAP编程接口
Developer Interface:开发者接口用于构建应用程序,并提供只运行在内部app container代码的各种Java API。
Client interface:客户端接口是一个RESTful API,是外部客户端可以与CDAP和应用程序进行交互的唯一途径。这些API不能从容器内访问,如应用程序生命周期管理和监控。作为一种替代HTTP,客户端库中含有不同的编程语言,包括Java、Python和Ruby。
CDAP的适用场景
时间序列数据分析日志处理Web应用分析
实时网络应用分析
社交应用分析
推荐引擎
OLAP与多维数据分析
CDAP的优缺点
简单CDAP提供了一个high-level的综合框架使开发人员和操作人员轻松学习,集成和管理各个开源项目。构建在CDAP上的应用程序分离业务逻辑和基础架构API,大大降低复杂性和总体成本。
综合能力强大,避免时间浪费在常规任务上;
概念完整,只需与标准层整合一次;
框架严密,不必担心应用程序逻辑出错;
快速
CDAP使开发人员能够快速通过丰富的用户界面和交互shell获得具有内置的数据提取,探索和转换功能。可重用的抽象层使开发人员快速构建以数据为中心的应用程序,并投入实际生产。
丰富的用户界面和交互shell可在使用Hadoop时无需编写代码;
应用程序模板和数据模式,方便编写特定API逻辑;
运行时服务和工具,确保可以可靠地测试,并迅速转移到实际生产;
创新
CDAP使得Hadoop中的所有数据可实时访问,批量处理和Ad-hoc SQL分析,而无需编写代码、管理元数据或复制任何数据。先进的功能扩展、高吞吐实时提取和事务处理、同时保持数据一致性,将颠覆应用案例。
实时、批处理和SQL整合意味着数据可用于所有的访问模式;
灵活的实时和批处理提取,可从任何来源摄取任何类型的数据;
事务和一致性,打造面向用户的大规模实时应用。
总结
CDAP是在原有Hadoop 生态系统组件上进行一层封装并集成成单一平台,Datasets 逻辑标识Hadoop的平台数据,使开发人员不用关注数据存储在哪里。CDAP将数据和应用抽象使得开发者能够简化和加速应用开发,并能够解决实时和批量问题。提供的服务和工具,能够实现更快的应用程序创作。CDAP提出的思想较新颖但旨在提高开发速度,而不能提高现有运算框架性能,暂不支持Spark,目前CDAP社区活跃度不够,只有少数爱好者和Cast公司在研究,并鲜有公司实际投入开发,无可参考例子,建议交通大数据项目暂不考虑此方案。相关文章推荐
- 应用系统统一开发平台 SG-UAP 平台简介
- 系统应用集成平台-基本平台部分
- 关注个系统-易道系统集成与应用开发平台
- Orion health集成平台应用
- 基于大数据分析的安全管理平台技术研究及应用
- 从Windows Phone到Windows 8平台Metro应用的统一设计
- BEA WebLogic Integration8.1简介--统一集成环境
- 基于Web Service的系统集成技术在网络教育平台中的应用
- 基于Web Service的系统集成技术在网络教育平台中的应用
- 资源控制在大数据和云计算平台中的应用
- 基于大数据分析的安全管理平台技术研究及应用
- 联通大数据应用及沃云平台支撑能力
- BIM应用平台简介
- 易道系统集成与应用开发平台
- 大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建
- Hadoop 信息集成平台,让大数据分析更简单!
- G4Studio行业应用二次快速开发平台简介 支持开源软件
- 微信开放平台---网站应用开发---微信登录功能 简介
- C#.NET 大型企业信息化系统集成快速开发平台 4.1 版本 - 面向数据库SQL语句的应用开发一
- Java在建模和工具上的整合和统一是否可以在成本上超越windows平台下的应用开发?