
# 数据处理介绍
#### DWR如何实现数据处理
DWR提供的近数据处理能力，可以对OBS内存储的数据，按照用户编排的工作流进行自动化处理（如解析、转码、截图等）。
DWR基于函数工作流FunctionGraph的函数能力，将复杂的业务处理逻辑编排为工作流，通过事件触发器或API驱动，自动化完成多项复杂的数据处理任务。DWR提供图形化界面，方便用户直观便捷的构建数据处理流程，同时提供了预置的算子和自定义函数能力，覆盖数据处理的各种场景。预置算子的详细介绍，请参见[官方算子一览](https://support.huaweicloud.com/usermanual-dwr/dwr_03_0004.html)。用户在自行开发自定义函数时，函数的输入参数和输出参数需要遵守[自定义函数开发规范](https://support.huaweicloud.com/usermanual-dwr/dwr_03_0008.html)。
DWR支持异步和同步两种方式启动工作流，其中同步方式支持直接返回数据：
- 通过事件触发器启动工作流（异步方式） 在OBS桶上配置事件触发器，指定工作流触发的条件，如桶内什么数据在执行某类操作后开始处理，当事件触发时异步执行满足条件的复杂任务。通常这类复杂任务处理逻辑相同，可以对一类对象进行操作。比较典型的场景是：用户上传视频对象后，可以根据工作流自动完成视频解析或者转码。
  
- 通过API启动工作流（同步和异步都支持） 在少数场景下，用户对单个对象或者一类对象进行的复杂操作是有区别的，这就要求用户通过API调用方式来实现单个对象粒度的复杂任务处理，可以指定某个对象立即执行某个特定的工作流。
  
图1数据处理工作流   
![](https://support.huaweicloud.com/usermanual-dwr/zh-cn_image_0000001260073821.png)
#### 优势
- 简单易用：通过控制台的图形化界面，轻松按需搭建数据处理流程。
- 功能强大：支持华为云各种数据处理服务的工作流处理能力。
- 容错性好：通过内置错误重试能力，自动重试失败或超时的任务，对不同类型错误做出不同响应。同时提供工作流异常或失败后的恢复接口，从失败的位置继续执行工作流。
 
#### 权限说明
请参见[权限管理](https://support.huaweicloud.com/productdesc-dwr/dwr_01_0006.html)。
#### 约束与限制
请参见[使用限制](https://support.huaweicloud.com/productdesc-dwr/dwr_01_0004.html)。
#### 使用方式
DWR支持通过控制台、API配置数据处理的工作流和事件触发器。
| 支持的使用方式 | 参考文档                                                                                                                                                                                                                                                                                                                      |
|:---|:---|
| 控制台     | - [创建工作流](https://support.huaweicloud.com/usermanual-dwr/dwr_03_0006.html)  - [创建事件触发器](https://support.huaweicloud.com/usermanual-dwr/dwr_03_0007.html)   |
| API     | 请参见[《数据工坊API参考》](https://support.huaweicloud.com/api-dwr/dwr_04_0122.html)。                                                                                                                                                                                                                                               |
   
#### 前提条件
已创建工作流。
