2.1 产品设计概念
2.1.1 数据中心
数据中心(DataCenter)通常是指在一个物理空间内实现信息的集中处理、存储、传输、交换、管理的专用机房
2.1.2 集群
集群(Cluster)是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。一个数据中心下可以有多个集群
2.1.3 项目空间
项目空间(Project)是DataOcean的基本组织单元,它类似于传统数据库的Database的概念,是进行多用户隔离和访问控制的主要界限。项目空间中包含多个对象,例如表(Table)、资源(Resource)、函数(Function)和实例(Instance)等。
一个用户可以同时拥有多个项目空间的权限。通过安全授权,可以在一个项目空间中访问另一个项目空间中的对象,例如表(Table)、资源(Resource)、函数(Function)等
2.1.4 表
表是DataOcean的数据存储单元,它在逻辑上是由行和列组成的二维结构,每行代表一条记录,每列表示相同数据类型的一个字段,一条记录可以包含一个或多个列。您可以创建表、删除表以及向表中导入数据。表的支持类型为内部表
2.1.5 资源
2.1.5.1 概念
资源(Resource)是DataOcean的特有概念,如果您想使用自定义函数(UDF)或Jar作业功能需要依赖资源来完成
SQL UDF:您编写UDF后,需要将编译好的Jar包以资源的形式上传到DataOcean。运行此UDF时,DataOcean会自动加载这个Jar包,获取您的代码来运行UDF。上传Jar包的过程就是在DataOcean上创建资源的过程.
Jar作业:您编写Spark程序后,将编译好的Jar包作为一种资源上传到DataOcean。创建Spark Jar类型的作业,编辑作业时指定运行程序时上传后的jar包路径和入口主类,DataOcean会自动加载这个Jar资源,从入口主类的开始运行。
2.1.5.2 支持资源类型
DataOcean的资源包括以下几种类型: Jar类型:编译好的Java或者Scala Jar包。 Archive类型: 通过资源名称中的后缀识别压缩类型,支持上传的压缩扩展名为zip、rar或gz的文件。 其他类型: 不限资源的上传后缀格式,但是平台会默认识别成TxT格式
2.1.6 函数
DataOcean为您提供了SQL计算功能,您可以在SQL作业中使用Hive的内建函数或Spark 2.4的函数完成一定的计算功能。但当这些函数无法满足要求时,您可以使用DataOcean提供的Java编程接口开发自定义函数(User Defined Function,以下简称UDF)
自定义函数(UDF)可以进一步分为标量值函数(UDF),自定义聚合函数(UDAF)和自定义表值函数(UDTF)三种类型.您在开发完成UDF代码后,需要将代码编译成Jar包,并将此Jar包以Jar资源的形式上传到DataOcean,最后在DataOcean中注册此UDF函数。
2.1.7 作业
作业(Job)是DataOcean的基本计算单元。SQL以及Spark,Flink功能都是通过Job作业来完成的. 对应您提交的大多数作业,特别是计算型作业,DataOcean会根据不同的作业类型提交给不同的计算引擎来负责。作业在执行时会生成具体的作业实例,您可以操作这个实例(Instance)的信息,例如查看日志(View Log),终止实例运行(Kill Instance)等
2.1.8 租户和用户
租户: 租户也就是对平台底层集群中的多个资源的集合,具有分配和调度资源的能力。资源包括计算资源和存储资源。 用户通过“租用”需要的资源集合,来运行作业,并存放数据。在大数据集群上可以存在多个资源集合来支持多个用户的不同需求。DataOcean通过项目绑定具体的租户来提供企业级的大数据多租户解决方案.
用户: 用户就是平台的管理者和使用者。从使用平台的角度来讲,默认定义了三种角色的用户。
平台管理员 有租户管理,项目管理,集群管理,用户权限管理的权限 项目管理员 有对自己所在项目的编辑,添加项目成员的权限 平台普通用户 普通用户就是平台的大多使用者,好像是部门的员工,或者是项目组成员