FlowMan用户手册

1. 手册简介

云原生数据集成中心(以下简称:FlowMan)是智领云自主研发的一款集数据集成、数据开发、数据资源管理、安全控制为一体的工具,提供一体化数据采集、清洗、转换、治理、计算的数据流水线处理;原生支持容器调度,实现容器化批处理任务的编排、调度、监控; 提供大数据资源Hadoop/Hive/Kafka 数据访问认证及授权管理,一套部署多环境支持,隔离发布,集成第三方应用,丰富调度和监控功能;同时通过友好界面UI,提供DAG作业界面式拖拉,作业及数据依赖全景图展示;全局的元数据统一管理等功能。

本手册通过对FlowMan的特点及优势介绍,功能介绍,旨在为用户提供产品定位和产品功能概览,帮助用户快速了解FlowMan的优势和特定,从而辅助商业决策。

2. 产品介绍

FlowMan通过对完善、明确的数据要求,统一的数据标准,统一数据采集的工具和API,保证数据的完整性、实时性和正确性,并对数据产生、采集任务的执行以及数据本身进行监控。

通过对完善、明确的数据要求,统一的数据标准,统一数据采集的工具和API,保证数据的完整性、实时性和正确性,并对数据产生、采集任务的执行以及数据本身进行监控。

3.产品特点及优势

3.1 资源集成

通过对完善、明确的数据要求,统一的数据标准,统一数据采集的工具和API,保证数据的完整性、实时性和正确性,并对数据产生、采集任务的执行以及数据本身进行监控。

3.1.1 数据资源集成

为系统接入数据源并添加计算资源,支持导出已有的数据资源,用于数据备份、数据迁移等场景及通过上传配置的方式来添加数据资源,支持用户根据实际生产需要配置多个环境,且每个环境所配置的数据源和计算资源相互隔离。支持的数据源类型,包括:Oracle/MySQL/MongoDB/SqlServer/MPP(Pgsql),同时还可以针对不同类型的数据库类型,选择特定的驱动(实现JDBC规范的jar包的JDBC驱动,系统通过JDBC接口执行数据库操作命令)

3.1.2 计算资源集成

系统初始化计算资源包括:Artifact/ElasticSearch/Hadoop/HBase/Hive/Kafka/Spark,且系统采用开放式架构,可根据实际生产需要接入其他计算资源

3.2 数据采集

3.2.1 自定义Hive函数

系统提供用户自定义Hive函数功能,用户在编写 Hive 作业的时候,能够直接调用被别人定义好的用户定义功能模块。类似于“截断, 掩码, 加密”的通用的功能,用户可通过此界面进行集中管理并灵活复用,从而对Hive数据进行灵活采集。

3.2.2 自定义程序

用户可自行添加本地程序,进行试运行并查看结果日志,支持把运行成功的程序转换成作业定时周期性运行。用户可通过自定义程序添加SparkStreaming程序(基于SparkStreaming技术的实时流程序),将源Kakfa的数据实时处理,写入到Hbase、Kafka以及GaussDB等目标端,实现批/流数据的采集。

3.2.3 Sqoop作业 - 实现结构化数据到大数据系统的数据导入

通过该作业从不同的数据源(包括Oracle,MySQL,MongDB等)中采集数据到目标数据库,如Hive,HDFS等,实现数据的导入。

3.3 数据的转换和治理

对原始数据的转换和治理,包括:元数据管理,数据的变化(格式,语法,语义,关联),存储和访问的效率(列存储,内存计算、数据库、MPP、图数据库,冷热存储),ETL任务调度、程序管理、数据质量管理、血缘分析以及数据敏感度、访问权限管理

3.3.1 Hive作业 - 实现数据的ETL

系统支持用户的Hive作业,可通过直接编写HQL,也可调用用户上传的自定义Hive函数,实现数据清洗、统计等。

3.3.2 Spark作业 - 实现数据的ETL

可使用Spark计算引擎对批处理数据进行数据清洗、整合

3.3.3 数据转换作业 - 实现数据转换

数据转换作业对目标数据源的输出进行转换,支持的目标数据源包括:HDFS、Hive、Mongo、MySQL、触发器、Oracle等,转换操作支持:Filter(过滤)、Python(自定义程序转换)、Select(选择)、Update(更新),支持的输出源包括:Hive、MySQL、Oracle、ElasticSearch、HBase、MPP(PgSql)等

3.3.4 自定义作业

系统支持用户自定义作业,通过代码形式自行添加程序参数,方便用户根据实际生产需要进行参数配置,以满足更加丰富的业务场景,且方便批量添加变量。

3.3.5 实时数据处理

支持用户定义脱敏规则,一个Topic可以支持多个Field进行脱敏操作,但是单个Field只支持一种脱敏规则。从而进行数据截断(直接舍弃业务不需要的信息),脱敏/掩码(用通用字符替换原始数据中的部分信息),替换(按照特定规则对原始数据进行替换),向下取整(按照一定粒度对时间进行向上或向下偏移取整)等数据操作

3.4 作业-任务调度

通过提供用户定制作业,自定义工作流及自定义程序(支持程序-作业的转换)的方式,帮助用户管理数据ETL过程任务。用户可以轻松地管理成百上千乃至上万个数据采集、处理任务,并允许用户根据业务需要,创建不同的作业,分别为其设置所需的调度周期,从而实现作业-任务的调度,极大简化数据从采集到转换和治理的整个流水线。

支持五种作业及Spark、Python程序的统一调度来满足批量数据用户在不同场景下的需求,分别是Sqoop作业,Hive作业,Spark作业,自定义作业、数据转换作业,来支持数据抽取、转换、加载(ETL/ELT),数据汇聚,数据的复杂计算以及Spark,Python等全流程。

3.4.1 调度周期

作业调度周期

自定义作业调度周期,定期定时运行

程序-作业转换

可自定义添加数据采集、数据处理程序,试运行成功后可转换为作业进行作业/任务调度周期设置,定期定时运行

3.4.2 工作流

通过流水线,对多个作业建立依赖关系,在工作流中集中、批量运行,以流水线的方式,一体化实现数据的采集、清洗和计算转换的全过程,并帮助用户管理复杂的调度任务。

3.4.3 任务血缘分析

动态查看任务全景,包括:数据源、启动作业、延迟作业、挂起作业即这些作业间的依赖关系。用户可通过鼠标定位,对单个作业或多个作业链路进行高亮显示。

3.5 数据计算/资源管理

产生的数据必须保持数据标准的统一,异构的数据分析程序的统一调度,管理和资源共享,对各种计算框架的弹性支持,测试环境和生产环境的隔离和无缝转换,Ad-hoc / 批处理/实时任务的统一管理,数据访问的监控和审计,计算效率的提高,分析程序及结果的重用

3.5.1 隔离环境及多环境支持

容器环境指基于大数据的容器准备,本系统的Worker列表即为容器环境列表,容器为不同类型的数据处理准备了相应的隔离环境。例如Hive的Beeline环境:basic-etl-worker、Spark的脚本环境:Spark等。当Worker数据较多时,用户可通过“Worker名称”和“镜像名称”来搜索相关的Worker。同时支持用户对已有的Worker进行编辑修改,或者删除不再需要的Worker。

3.5.2 数据资源目录及保留策略

用户可以上传CSV或者Excel文件,一次性将数据导入Hive DB 当中,并允许用户指定目标数据库以及对应的表,查看指定数据库中的Hive表信息,包括表的Schema详细信息及分区信息。支持对表内容进行抽样查看,创建新的策略来自定义数据保留周期

3.5.3 数据访问、监控和审计

系统支持用户对HDFS目录进行访问授权,支持添加多个目录,路径递归授权;对Hive库表访问进行授权;对Kafka的Topic访问进行授权。

3.5.4 日志查看及操作记录

对数据产生、采集任务的执行以及数据本身的操作进行日志查看,包括错误信息和详细日志信息。

4. 产品功能介绍

云原生数据集成中心(FlowMan)以流水线式集成数据,一体化采集、清洗和计算转换;提供数据开发、服务、监控、展示和质量管理,是一个集程序管理和数据资源管理、安全为一体的工具。

用户可通过简单的交互页面灵活地配置数据采集任务,包括:支持多种常规数据库、结构化及非结构化数据;支持增量、全量采集,灵活配置采集条件及周期;支持Push、Pull模式的数据采集及基于http的广域网采集;提供方便的任务管理,支持任务启停及重运行;全面监控所有数据采集任务,提供采集报告及异常报警;提供方便的基于Python的ETL工具,灵活处理数据。

FlowMan是一款大数据的任务调度产品,支持数据抽取、转换、加载(ETL/ELT),数据汇聚,数据的复杂计算以及Spark,Python等。基于数据调度功能,帮助用户管理复杂的调度任务,实现智能化运维。是一个集程序管理和数据资源管理、安全为一体的任务调度工具。

4.1 调度任务总体概览

用户在【首页】中可查看FlowMan作业的整体概览,如:作业总数、暂停作业数量、延迟作业数量、正在运行的任务和失败的任务等内容。如下图所示:

注:本系统中一个作业可包含多个任务,如:一个作业的调度周期为每天0点运行一次,每运行一次即为一个任务

4.2 资源集成管理

用户(系统运维人员)通过资源集成中心界面为系统接入数据源并添加计算资源,仅系统管理员有权限管理资源基础中心相关配置。对数据源和计算资源的管理,系统支持导出已有的数据源配置和计算资源配置,同时支持上传本地的资源配置文件。

导出

支持用户导出【资源管理】列表中的对已有的数据资源。用户只需要勾选所需的一个或者多个资源,点击【导出】按钮便可以导出数据资源配置。该功能可以用于数据备份、数据迁移等场景

上传配置

支持用户通过【上传配置】的方式来添加数据资源。上传本地的资源配置文件后,点击【导入】,成功后会提示“导入成功”。在【数据源列表】界面的数据资源列表查看。

支持环境

支持环境包括:生产环境(Production)、测试环境(Test),同时支持用户根据实际生产需要配置更多的环境,且每个环境所配置的数据源和计算资源相互隔离。

4.2.1 数据源列表查看

界面展示添加至本系统的数据源,包括:系统初始时默认添加的MySQL数据源、用户自定义添加的数据源等,用户可通过搜索栏对资源类型、创建时间、更新时间对添加的资源进行精确定位,进行数据库资源查找。系统当前版本支持的数据源类型,包括:Oracle/MySQL/MongoDB/SqlServer/MPP(Pgsql)。

4.2.2 计算资源列表查看

界面展示添加至本系统的计算资源,系统初始化计算资源包括:Artifact/ElasticSearch/Hadoop/HBase/Hive/Kafka/Spark,且系统采用开放式架构,可根据实际生产需要接入其他计算资源。系统此处计算资源列表为管理员在集群初始化时进行安装的列表。

4.2.3 添加数据库

用户可以菜单栏点击“添加数据库”,建立自己的数据连接,以便程序/作业可以直接使用该数据库。目前支持Oracle/MySQL/MongoDB/SqlServer/MPP(Pgsql)五种数据库。同时还可以针对不同类型的数据库类型,选择特定的驱动(实现JDBC规范的jar包的JDBC驱动,系统通过JDBC接口执行数据库操作命令)。可通过勾选不同的环境,同时配置专属生产和测试的两个资源组,分别用于不同的使用目的,并且互相保持独立。

注:此处配置需要由管理员账号下的运维人员完成。

在添加数据库界面,用户可建立自己的数据连接,以便程序/作业可以直接使用该数据库。以添加Oracle数据库为例:

信息项 内容 备注
名称 用户自定义服务器
数据库名称 这是需要填写数据库名称
主机名 用户填写主机IP(数据库服务器IP)
端口 Oracle默认端口1521,用户根据实际情况填写
用户名 用户连接数据库的用户名
密码 用户连接数据库所用的用户名密码,不填即表示使用默认密码

在完成配置项的填写后,可点击【测试连接】,确保所添加的资源可以正常访问。

4.2.4 添加计算资源

用户在【菜单栏】界面点击“添加数据资源”。目前支持七种数据资源:Artfact/ES/Hadoop/Hbase/Hive/Kafka/Spark。在界面中,用户可以选择添加任何一种数据资源类型。计算资源可由运维人员提供文件服务器自行进行上传配置。可通过勾选不同的环境,同时配置专属生产和测试的两个资源组,分别用于不同的使用目的,并且互相保持独立。

注:此处配置需要由管理员账号下的运维人员完成。

本用户手册以Hadoop为例,如下图所示:

完成配置项的填写后,点击【测试连接】,确保所添加的资源可以正常访问。

注:若在实际使用中系统所提供的变量未涉及实际生产环境,用户可以通过【添加变量】的方式自定义所需要的变量。

4.3 程序坞管理

4.3.1 Worker(容器环境)列表查看

容器环境指基于大数据的容器准备,本系统的Worker列表即为容器环境列表,容器为不同类型的数据处理准备了相应的环境。例如Hive的Beeline环境:basic-etl-worker、Spark的脚本环境:Spark等。

当Worker数据较多时,用户可通过“Worker名称”和“镜像名称”来搜索相关的Worker。同时支持用户对已有的Worker进行编辑修改,或者删除不再需要的Worker。

4.3.2 新增Worker(容器环境)

用户从菜单【程序坞-新增Worker】进入界面,即可为集群添加一个Worker。

信息项 内容 备注
名称* 用户自定义名称
镜像名称* 用户根据实际情况填写镜像名称
Worker类型* 预置/自定义 用户根据实际情况选择,被系统支持的两种类型在当前版本下只是对容器环境的一个分类
描述 可选项,用户自定义

当用户完成以上信息的填写后,点击【保存】,页面跳转到【Worker列表】界面,用户可在Worker列表中查看到新建的Worker。

4.3.3 自定义Hive函数列表查看

系统提供用户自定义Hive函数功能,用户在编写 Hive 作业的时候,能够直接调用被别人定义好的用户定义功能模块。类似于“截断, 掩码, 加密”的通用的功能,用户可通过此界面进行集中管理并灵活复用。

用户通过【程序坞-自定义Hive函数列表】进入,查看已添加至本系统的自定义Hive函数。可在【程序坞-新增自定义Hive函数】界面进行添加

选择任意自定义Hive函数名称点击进入,可查看该Hive函数的基本信息,并可对基本信息进行修改

4.3.4 新增自定义Hive函数

系统此界面可创建一个由用户来自定义功能的Hive函数,并把所有用户自定义Hive函数在此界面进行集中管理。以便在创建的Hive作业中灵活调用这些函数。

用户可参考下表进行填入

类目 内容 补充
名称* 用户自定义
函数名* 用户自定义,建议填入字母、数字、下划线,如:demo_test01
类路径* 填入上传jar包的主程序相对路径
数据库* 从下拉框选择已和本系统建立连接的数据库
jar包地址* 点击上传jar包后自动填入。上传成功后,可在Hive作业中通过Hive语句灵活调用 UDF的编写参考https://cwiki.apache.org/confluence/display/Hive/HivePlugins

4.3.5 程序列表查看

用户在【程序】界面查看已创建的程序。当程序较多是,用户可以通过“Work名称”、“程序名称”和“程序来源”的组合方式来快速搜索程序。用户完成程序创建后,可在此列表选择程序,点击试运行按钮进入试运行界面,如下图

用户进入试运行详细界面后,点击【运行】按钮,程序开始运行。用户可在界面查看程序运行日志。当运行结果符合用户预期时,点击【转换成作业】即可通过定期调度的作业进行运行,并可在【作业管理】界面设置作业详细配置。

4.3.6 新增程序

用户通过菜单【程序坞-新增程序】界面进入,可填入基本信息并创建新的程序。

可参考如下表格填写相关信息:

信息项 内容 备注
程序名称* 用户自定义程序名称
程序来源* 选择“预置程序”或者“自定义程序”
指定Worker* 点击下拉列表框选择所需Worker,或点击链接创建所需Worker
描述 用户自定义
主程序包* 用户“点击上传”按钮选择已有程序包

4.3.7 程序运行日志查看

点击【程序坞】-【运行日志】可查看日志列表,以及日志详细信息。支持用户通过“运行状态”,“程序名称”和“试运行名称”来搜索程序的日志。

查看日志

点击日志的“试运行程序”名称可查看日志的详细内容。包括:试运行程序基本信息、参数信息和运行日志,如不需要打印日志,用户可点击运行日志旁的暂停按钮进行暂停

转换成作业

当运行结果符合用户预期时,点击界面右上角【转换成作业】即可把程序转换成作业,通过【作业管理】界面设置作业详细配置,定时周期性运行。

4.4 作业管理

作业管理通过提供用户定制作业,自定义工作流的方式,帮助用户管理服务任务。用户可以轻松地管理成百上千乃至上万个任务。作业管理允许用户创建不同的作业,并为其设置所需的调度周期。

目前FlowMan支持五种作业来满足用户在不同场景下的需求,分别是Sqoop作业,Hive作业,Spark作业,自定义作业、数据转换作业。五种作业分别支持以下功能:

4.4.1 新建Sqoop作业

通过该作业从不同的数据源(包括Oracle,MySQL,MongDB等)中采集数据到目标数据库,如Hive,HDFS等。用户只需参照如下说明即可进行配置采集作业配置。在菜单栏【作业管理】选择新建 Sqoop 作业开始设置作业具体内容。

基本信息

信息项 内容 备注
名称* job_name 作业名称用户可自行更改
数据源* 下拉框选择 由用户在【资源集成中心-添加数据库】加入
表* 选择数据表

采集配置

信息项 内容 备注
作业调度周期 用户自行选择调度周期,可参考Cron表达式用法进行修改
信息项
开始时间 默认当天零点时间,用户可根据需要选择过去、现在或将来任何时间
结束时间 默认不填 用户可以指定作业结束时间
失败重试次数* 默认3 系统提供0,1,2,3四种重试次数
重试间隔(单位:秒)* 默认60 系统提供60,120,180秒三种选项
数据范围* 默认全量 全量或增量(周期性采集选择增量)
增量字段(列) 以时间维度增量

高级选项

信息项 内容 备注
导出字段(列) 默认全部导出 置空表示全部导出
用户自定义变量 保持默认
where 使用时根据实际需要进行填写SQL语句,并可对语法进行验证
数据分区字段 默认1 目前分区字段只有四个:year、month、day、hour。 对这四个字段可以进行任意组合,不同对组合,导致存储路径变化。 场景可以用于,当调度周期是按月,则分区字段调整为year和month
数据分区存储路径格式 保持默认

导出选项

Hive数据存储方式

条目 内容 备注
数据存储方式 Hive 系统支持HDFS/Hive两种数据存储方式 存储到Hive比HDFS多了一层支持关系型库表查询的计算方式。如果需要对数据进行快速方便的SQL计算,应该以Hive方式存储
Hive 数据库名称 选择数据库 根据实际情况从下拉框选择
Hive 表名称 填入Hive表名称 选择上一步所选择Hive数据库内的Hive表
HDFS 存储路径 自动写入,不可更改 路径是默认规则生成的:/user/${用户名}/ingestion/${数据库名}${数据库表}${采集周期}_${采集范围},例如从etl数据库每小时全量采集job表,默认规则是/user/dcos/ingestion/etl_job_hourly_full

HDFS数据存储方式

条目 内容 备注
数据存储方式 HDFS 系统支持HDFS/Hive两种数据存储方式
HDFS存储路径* 根据实际情况进行填写

4.4.2 新建Hive作业

系统支持用户的Hive作业,在菜单栏【作业管理】选择新建 Hive 作业即可开始配置,详细配置项说明请参考下表:

详细配置项说明请参考如下内容:

基本信息

信息项 内容 备注
名称* 用户自定义作业名称
拥有者* 下拉框选择账号作为该作业的拥有者
描述 对作业进行描述说明,非必填项

作业计划

信息项 内容 备注
调度周期 用户自行选择调度周期,可参考Cron表达式用法进行填写
开始时间 默认当天零点时间,用户可根据需要选择过去、现在或将来任何时间
失败重试次数 默认3 系统提供0,1,2,3四种重试次数
重试间隔时间(单位:秒) 默认60 系统提供60,120,180秒三种选项

高级功能

用户可通过高级功能对Hive作业进行更进一步的配置,目前的高级功能支持:设置系统变量,设置用户自定义变量,上传python文件来辅助计算,设置HQL变量,以及制定计算使用的数据库资源

信息项 内容 备注
系统变量 默认无 系统提供year,month,hour,day,minute,second,datetime及timestamps等变量,用户根据需要设置参数。系统时间变量是提供当前调度时间对应某个固定格式的变量,比如year就是调度时间的年份、datetime就是yyyyMMddHHmmss的固定格式。主要作用在于,如果被调度的程序,需要获取调度时间,则可以通过上述变量进行传递。
用户自定义变量 默认无 用户根据需要,自行【添加】变量并设置参数值。系统时间变量是提供当前调度时间对应某个固定格式的变量,比如year就是调度时间的年份、datetime就是yyyyMMddHHmmss的固定格式。 时间变量的区别是,用户可以以调度时间为基准进行时间自定义,比如前一天,上个月同一天等,同时时间格式也是可以自定义的。
上传Python文件 默认无 用户根据需要,上传已编辑好的Python文件 python文件是用户编写的自定义函数,Hive调用python脚本实现数据清洗、统计过程。 参考用例: https://dwgeek.com/hive-udf-using-python-use-python-script-into-hive-example.html/
HQL变量 默认无 用户根据需要,自行【添加】变量并设置参数值 将复杂的HQL拆解成多个子HQL执行,将子HQL的执行结果赋值给HQL变量,然后变量给到其他HQL使用。 例如子HQL定义如下: 变量名 HQL pv_num select count(view_page) from page_view where page=’首页’ uv_num select count(distinct user) from page_view where page=’首页’ 主HQL: select , )
数据源配置* 默认无 用户根据需要,选择作业需要用的数据源,并给数据源定义键名

编写主程序

信息项 内容 备注
编辑 用户在此区域编辑Hive SQL
预览 点击预览可查看脚本内容

4.4.3 新建Spark作业

用户可以在菜单栏【作业管理】选择新建 Spark作业开始作业配置。系统支持用户上传程序,为Spark作业进行设置。用户还可以通过高级功能对Spark作业进行更进一步的配置,目前的高级功能支持:设置系统变量,设置用户自定义变量,以及制定计算使用的数据库资源,请参考下表进行创建:

基本信息

信息项 内容 备注
名称* 用户自定义作业名称
拥有者* 下拉框选择账号作为该作业的拥有者
描述 对作业进行描述说明,非必填项

作业计划

信息项 内容 备注
调度周期 用户自行选择调度周期,可参考Cron表达式用法进行修改
开始时间 2019-09-27 00:00:00 默认当天零点时间,用户可根据需要选择过去、现在或将来任何时间
结束时间 默认不填 用户可以指定作业结束时间 指定了结束时间,这个作业按时调度,当过了结束时间,就不会再被调度,场景可以用于补一段历史时间的数据
失败重试次数 默认3 系统提供0,1,2,3四种重试次数
重试间隔时间(单位:秒) 默认60 系统提供60,120,180秒三种选项

高级功能

信息项 内容 备注
系统变量 默认无 系统提供year,month,hour,day,minute,second,datetime及timestamps等变量,用户根据需要设置参数。系统时间变量是提供当前调度时间对应某个固定格式的变量,比如year就是调度时间的年份、datetime就是yyyyMMddHHmmss的固定格式。主要作用在于,如果被调度的程序,需要获取调度时间,则可以通过上述变量进行传递。
用户自定义变量 默认无 用户根据需要,自行【添加】变量并设置参数值。系统时间变量是提供当前调度时间对应某个固定格式的变量,比如year就是调度时间的年份、datetime就是yyyyMMddHHmmss的固定格式。 时间变量的区别是,用户可以以调度时间为基准进行时间自定义,比如前一天,上个月同一天等,同时时间格式也是可以自定义的。
数据源配置 默认无 用户根据需要,选择作业需要用的数据源,并给数据源定义键名

Spark-Java**程序配置(编写java语言,使用spark计算引擎进行数据清洗和整合,批处理的技术手段,性能上优于hive)**

信息项 内容 备注
主程序包* 点击【上传】本地程序包 将已制作好的程序包上传,支持添加多个依赖包
主程序类* 用户主程序类的值
executor-memory* 1g(系统默认) 执行器的内存,用户自定义
executor-cores* 1(系统默认) 执行器内核个数,用户自定义
total-executor-cores* 1(系统默认) 执行器的内核个数总和
driver-memory* 1g(系统默认) 驱动参数,用户自定义
dirver-cores 2(系统默认) 驱动内核数,用户自定义
程序参数 用户自定义

Spark-Python**程序配置(编写python语言,使用spark计算引擎进行数据清洗和整合,批处理的技术手段,性能上优于hive)**

信息项 内容 备注
主程序* 点击【上传】程序包 将已制作好的程序包上传,支持添加多个依赖包
主程序类* 点击【上传】依赖文件 将已制作好的第三方库依赖文件上传,支持添加多个依赖包
executor-memory* 1g(系统默认) 执行器的内存,用户自定义
executor-cores* 1(系统默认) 执行器内核个数,用户自定义
total-executor-cores* 1(系统默认) 执行器的内核个数总和
driver-memory* 2g(系统默认) 驱动参数,用户自定义
dirver-cores* 2(系统默认) 驱动内核数,用户自定义
程序参数 用户自定义

4.4.4 新建数据转换作业

支持用户的数据转换作业,点击选择【作业管理】-【数据转换作业】,并开始对作业进行配置。数据转换作业支持的数据源包括:HDFS、Hive、Mongo、MySQL、触发器、Oracle等,转换操作支持:Filter(过滤)、Python(用户参照我们提供的python模版,实现必要的方法,上传这个python程序文件,完成每条记录级的自定义程序转换)、Select(选择)、Update(更新)等,支持的输出源包括:Hive、MySQL、Oracle、ElasticSearch、HBase、MPP(PgSql)等。详细配置项可参考下表

基本信息

信息项 内容 备注
名称* 用户自定义作业名称
拥有者* 下拉框选择账号作为该作业的拥有者
描述 对作业进行描述说明,非必填项

作业计划

信息项 内容 备注
调度周期 用户自行选择调度周期,可参考Cron表达式用法进行修改
开始时间 默认当前时间,用户可根据需要选择过去、现在或将来任何时间
结束时间 默认不填 用户可以指定作业结束时间 指定了结束时间,这个作业按时调度,当过了结束时间,就不会再被调度,场景可以用于补一段历史时间的数据
失败重试次数 默认3 系统提供0,1,2,3四种重试次数
重试间隔时间(单位:秒) 默认60 系统提供60,120,180秒三种选项

高级功能

信息项 内容 备注
数据源配置 默认无 用户可选择此作业需要用的数据源,并给数据源定义键名

配置项

信息项 内容 备注
数据源 目前系统支持的数据源:HDFS,Hive,MongoDB,MySQL、触发器、Oracle
转换操作 Filter,Python,Select,Update
输出源 Hive,MySQL,Oracle、ElasticSearch、HBase、MPP(PgSql)

注:数据源、输出源、转换操作需要点击编辑按钮进行选择,点击删除按钮可进行删除

【输出源Hive】

Hive 是构建在 Hadoop 之上的、进行数据查询和分析的数据仓库 工具。Hive 的元数据管理将 HDFS 上存储的结构化文件定义成数据库中的表,同时 ,Hive 提供类似 SQL 的数据库查询语言来查询存储在 HDFS 上的结构化文件,这些查询作业将会转化成 MapReduce 作业在 Hadoop 上运行。

【输出源MySQL】

MySQL 支持大型的数据库,可以处理上千万条记录。它将不同的数据库保存在不同的文 件中,提高了存储和访问效率。MySQL 支持高可用的集群模式。

【输出源Oracle】

通用的关系型数据库系统。

【输出源ElasticSearch】

是一个分布式的文档数据库,同时通过对文档进行索引 ,实现对文档的快速检索。

【输出源HBase】

HBase是构建在 HDFS 之上的一个高可用、基于列存储、 进行快速随机查询的分布式数据库。提供对数据的索引,随机查询速度很快。数据导入到HBase之后,用户可以使用命令行方式进行查询。

【输出源MPP(PgSql)、MPP(GaussDB)】

MPP即大规模并行处理,是分布式、并行、结构化数据库集群,相对于PB级解决方案Hadoop。PgSql是MPP是实现方式之一,支持广泛的数据类型和大部分SQL标准。

GaussDB华为高斯数据库,也是全球首款人工智能原生(AI-Native)数据库。为用户提供更高性能、更高可用、更多算力支持的分布式数据库。

注:系统以可扩展的方式,可根据用户实际生产需要灵活扩展输出源

工作区

信息项 内容 备注
操作区域 用户通过拖拽的方式选择数据源、转换操作和输出源
样本数据预览 开启样本数据后,可以查看部分数据样本
变量管理 用户自定义添加系统变量和用户变量 所有变量都是全局变量,这里的变量跟其他作业的变量都是一样的模式

4.4.5 新建自定义作业

系统支持用户自定义作业,以满足更加丰富的业务场景,且方便批量添加变量。用户只需参照说明配置自己的自定义作业作业,详细内容可以参看下表:

配置自定义作业程序参照说明:

基本信息

信息项 内容 备注
名称* 用户自定义作业名字
拥有者* 下拉框选择账号作为该作业的拥有者
描述 用户根据需要填写

作业计划

信息项 内容 备注
调度周期 用户自行选择调度周期,可参考Cron表达式用法进行修改
开始时间 默认当天零点时间,用户可根据需要选择过去、现在或将来任何时间
结束时间 用户可以指定作业结束时间 指定了结束时间,这个作业按时调度,当过了结束时间,就不会再被调度,场景可以用于补一段历史时间的数据
失败重试次数 默认3 系统提供0,1,2,3四种重试次数
重试间隔时间(单位:秒) 默认60 系统提供60,120,180秒三种选项

高级功能

用户可通过高级功能对自定义作业进行更进一步的配置,目前的高级功能支持:设置系统变量,设置用户自定义变量,以及制定计算使用的数据库资源。同时支持使用JSON格式的参数配置。

信息项 内容 备注
系统变量 默认无 系统提供year,month,hour,day,minute,second,datetime及timestamps等变量,用户根据需要设置参数。系统时间变量是提供当前调度时间对应某个固定格式的变量,比如year就是调度时间的年份、datetime就是yyyyMMddHHmmss的固定格式。主要作用在于,如果被调度的程序,需要获取调度时间,则可以通过上述变量进行传递。
用户自定义变量 默认无 用户根据需要,自行【添加】变量并设置参数值。系统时间变量是提供当前调度时间对应某个固定格式的变量,比如year就是调度时间的年份、datetime就是yyyyMMddHHmmss的固定格式。 时间变量的区别是,用户可以以调度时间为基准进行时间自定义,比如前一天,上个月同一天等,同时时间格式也是可以自定义的。
数据源配置 默认无 用户可选择此作业需要用的数据源,并给数据源定义键名

自定义程序

条目 内容 备注
自定义程序 默认无 选择程序名称(只有自定义程序)和程序版本号
自定义程序参数 默认无 用户可通过代码形式自行添加程序参数,方便用户根据实际生产需要进行参数配置

4.4.6 作业列表查看

在作业列表界面,用户可查看作业创建的作业,并对单个/批量作业进行管理。

作业查询

用户可在界面通过“作业类型”,“状态”,“进度”,“最新任务状态”,“作业名称”项目来查找所需的作业。

作业删除

如用户不再需要某项作业时,点击【删除】按钮删除该项作业。删除动作请慎重,需提前查看是否有工作流正在使用该作业,有工作流正在使用的作业无法单独对作业进行删除,需要先暂停工作流再进行删除操作。请通过下载的方式对作业进行备份,以免误删除带来风险。

作业的下载与上传

用户可在界面通过“导出”按钮下载指定作业的配置。该操作适合用户对作业进行备份,迁移等操作时提前导出作业配置。

上传作业配置:可将已有的作业配置,通过点击“上传配置”按钮来上传已有作业配置,完成上传后列表会生成新的作业。

4.5 工作流管理

4.5.1 流水线列表查看

用户在流水线列表界面,可查看所有创建的工作流,并对单个/批量工作流进行管理。

系统支持的流水线操作:

条目 内容
批量操作 批量选择流水线进行导出
启动 启动单个流水线
修改 修改单个流水线(添加作业、删除作业、更改作业间依赖关系)
克隆工作流 克隆单个流水线到生产/测试环境
删除 删除单个/批量流水线
搜索 可通过工作流名称、工作流内作业名称、工作流创建的开始/结束时间进行条件搜索
上传配置 点击「上传配置」选择已有的工作流配置文件,完成配置后,工作流列表会生成一条新的工作流
下载配置 可通过“导出”按钮下载工作流的配置

4.5.2 新建流水线

Step1 选择作业

在如下操作界面,选择作业类型后可模糊查找所需作业,作业名称可不填。点击所需作业的勾选框后,该作业会显示在工作流操作区,如图所示。按照该方法,依次添加所需作业,完成后点击【保存】,在工作流列表中即可见已创建的工作流

Step2 建立作业依赖关系

点击作业下方的+为作业建立依赖关系,完成后点击【保存】,可在工作流列表中查看已经建立的工作流

Step3 管理工作流

当用户不再需要某项工作流时,可点击工作流右端的删除按钮(删除操作请慎重),或点击暂停该工作流(需要时启动)

4.6.任务管理

任务是作业通过调度周期运行的实例,针对作业的每一次调度,用户都可以在任务管理找到对应的记录。基于目前系统版本的功能,用户可以进行任务全文查找

4.6.1 任务列表查看

任务搜索

用户可查看系统内所有任务列表,同时可使用搜索作业名称、任务状态、调度开始时间-调度结束时间的组合方式来查找相关任务,过滤出符合条件的记录。

注:如任务详细表中有多条记录,说明用户设置了作业失败后的重试次数,当作业失败后,对作业进行了多次运行的尝试。

任务重试

在任务管理界面,用户可以对某一条任务进行【重新执行】的操作,无论任务是否执行成功,根据需要都可以采取重试操作。系统支持用户进行单一任务重试或者批量任务重试。

任务标记

系统提供两种标记:【成功】和【失败】,用户可以对选中需要标记的任务进行勾选,对任务状态进行批量标记.

4.6.2 任务全景依赖图

动态查看任务全景,包括:数据源、启动作业、延迟作业、挂起作业即这些作业间的依赖关系。用户可通过鼠标定位,对单个作业或多个作业链路进行高亮显示。

全局查询

用于查看作业的上下游依赖关系

作业状态概览

通常用图来查看历史、现在的工作流,作业运行状态

预估完成时间

查看正在运行的作业还需多久完成,即将进入队列的作业,还需要等待多久,预估需要多久完成

4.7 Kafka

通过Kafka界面,提供流处理数据的实时合并,对多表进行关联、按业务规则对数据拆分、行列互换、排序/修改序号、去除重复记录,支持使用 Kafka 作为中间件将关系型数据库数据加载至大数据平台,可将源端数据 DDL 和DML 由关系型数据库直接穿透 Kafka 同步至大数据平台。

支持数据脱敏,实时动态数据脱敏,内置多种脱敏算法,动态脱敏支持实时筛选数据访问请求,依据用户角色、权限和其他脱敏规则屏蔽敏感数据进行实时脱敏,支持Lookup联表操作。

包括整合数据源端管理、数据清洗设计、数据转换设计、数据脱敏设计等 。

4.7.1 创建Kafka Connector

用户在【Kafka】-【Kafka Connect】界面点击【+添加Connector】,系统默认在右上下拉列表中显示JdbcSourceConnector。

当用户点击“高级”时,界面会新增一系列高级选项

当用户切换右上角下拉框内容为“HdfsSinkConnector”时,配置项填写方式请参考上述说明。用户完成了Connector后,可在【Kafka】界面中查看已创建的Connector。

4.7.2 创建Kafka Topic

用户在【Kafka】-【Kafka Topic】界面中点击【+添加】可以开始创建Topic。

完成了Topic的建立后,用户可在【kafka Topic】列表中查看已创建的Topic。对于不再需要的Topic,点击Topic右端的“删除”按钮进行删除.

4.7.3 创建Kafka Schema Registry

用户在【kafka】-【Kafka Schema Registry】界面中点击可以 Kafka的Schema Registry 进行管理。

4.8. 数据资源

4.8.1 Hive数据导入

用户可以上传一个CSV或者Excel文件,一次性将数据导入Hive DB 当中,并允许用户指定目标数据库以及对应的表。可以选择导入模式为“追加”或者“覆盖”。同时可以选择是否对上传的数据进行分区的操作。

4.8.2 Hive数据浏览

在【数据资源】-【Hive】中用户可以查看指定数据库中的Hive表信息。如图示,根据需要选择不同的数据库即可查看该数据库中的表列表。点击表名,可查看表的详细信息(如Schema,分区)以及对表内容进行抽样查看

4.8.3 数据保留策略管理

用户在【数据资源】-【数据保留策略】界面可以通过创建新的策略来自定义数据保留周期,点击【+添加策略】进行添加。请参考截图说明来添加策略:

完成信息填写后,点击【添加】按钮即可完成该策略的创建。同时,在【Hive数据保留策略】的界面查看已创建的策略,并支持用户对策略进行修改/删除等操作。

4.9 安全管理

4.9.1 授权管理

4.9.1.1 Hadoop策略管理

添加Hadoop策略

4.9.1.2 Hive策略管理

添加Hive策略

4.9.1.3 Kafka策略管理

添加Kafka策略

5.常见问题

5.1 如何为新用户开通Hadoop授权?

以demo安全组用户demouser01添加HDFS权限为例,为用户组添加HDFS权限后,用户组可以对本目录进行读写。也可单独为一个或多个用户

Step1-登录FlowMan

使用 admin 账号登录 BDOS,在快速登录点击 FlowMan

参考截图,进入安全管理-授权管理

Step2-新增 Hadoop策略

如图所示,添加Hadoop策略

Step3-填写策略基本配置

如图所示,参考下面表格填写

条目 内容 备注
策略名称 grant_hdfs_to_demo 可替换
策略描述 开通对 HDFS 的权限给 demo group 可替换
path / 点击添加按钮(根目录代表所有)

Step4-填写策略白名单

点击添加,如图所示,参考下面表格填写

条目 内容 备注
demo 在教程的场景中不能更改
用户 保持为空
权限 全部 勾选全部

注:如用户没有分组,也可单独在用户处直接添加用户,同时勾选权限全部

Step5-保存策略

点击保存

5.2 如何为新用户开通Hive授权?

以为demo安全组用户demouser01添加Hive权限为例,为用户组添加Hive权限后,用户组可以对上文创建的HIve库进行相应的权限操作。

Step1-登录FlowMan

使用 admin 账号登录云原生应用云平台,在导航菜单【快速登录】点击 FlowMan

参考截图,进入安全管理-授权管理

Step2-新增 Hive 策略

如图所示,添加Hive策略

Step3-填写策略基本配置

如图所示,参考下表填写

条目 内容 备注
策略名称 grant_hive_to_demo 可替换
策略描述 开通对 Hive 的权限给 demo group 可替换
策略类型 Tables 保持默认
Database 根据实际情况进行填写
Table * 下拉框选择,*代表对当前数据库下所有的表都有操作权限

Step4-策略白名单

点击添加,如图所示,参考下面表格填写

条目 内容 备注
demo 在教程的场景中不能更改
用户 保持为空
权限 全部 勾选全部

注:如用户没有分组,也可单独在用户处直接添加用户,同时勾选权限全部

Step5-保存策略

点击保存

5.3 如何为用户开通Kafka授权?

以为demo安全组用户demouser01添加Kafka权限为例,为用户组添加Kafka权限后,用户组可以Kafka进行相应的权限操作。

Step1-登录FlowMan

使用 admin 账号登录云原生应用云平台,在导航菜单【快速登录】点击 FlowMan

参考截图,进入安全管理-授权管理

Step2-新增 Hive 策略

如图所示,添加Hive策略

Step3-填写策略基本配置

如图所示,参考下表填写

条目 内容 备注
策略名称 grant_kafka_to_demo 可替换
策略描述 开通对 Kafka 的权限给 demo group 可替换
Topics 根据具体情况填写

Step4-策略白名单

点击添加,如图所示,参考下面表格填写

条目 内容 备注
demo 在教程的场景中不能更改
用户 保持为空
权限 全部 勾选全部

注:如用户没有分组,也可单独在用户处直接添加用户,同时勾选权限全部

Step5-保存策略

点击**保存**

6.术语