# 步骤2：数据开发处理
当需要快速掌握用户偏好与痛点时，面对海量的BI报表原始数据，人工难以实时提炼出关键洞察，导致决策滞后。本步骤通过作业定期调度，分析并导出10大用户关注最多的产品和10大用户评价最差的商品至数据表，以支撑高效的信息分析。
#### 脚本开发
分析10大用户关注最多的产品和分析10大用户评价最差的商品两种场景的脚本开发操作步骤介绍。
- [分析10大用户关注最多的产品]
  
  1. [登录DataArts Studio管理控制台](https://console.huaweicloud.com/dayu/)。
     
     详情请参考[访问DataArts Studio实例控制台](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0001.html)。
     
     
  
  2. 在DataArts Studio控制台首页，选择对应工作空间的"数据开发"模块，进入数据开发页面。
  
  3. 参见[图1]，新建DLI SQL脚本，通过DLI SQL语句来创建数据表。
     
     图1新建脚本   
     ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001207518476.png "点击放大")
     
     
  
  4. 在新建脚本弹出的SQL编辑器中，填写关键参数。 
     表1关键参数 
     | 参数   | 说明                                                                                                                                      |
     |:---|:---|
     | 数据连接 | [步骤5](https://support.huaweicloud.com/qs-dataartsstudio/dataartsstudio_04_0022.html#dataartsstudio_04_0022__li4298133815461)中创建的DLI数据连接。 |
     | 数据库   | [步骤7](https://support.huaweicloud.com/qs-dataartsstudio/dataartsstudio_04_0022.html#dataartsstudio_04_0022__li17522165311514)中创建的数据库。     |
     | 资源队列   | 可使用提供的默认资源队列"default"。                                                                                                                  |
        
     图2关键参数   
     ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000002687818072.png "点击放大")
     
     输入如下SQL语句，单击"运行"，从OBS原始数据表中计算出10大用户关注最多的产品，将结果存放到top_like_product表。
     ```
     INSERT
       OVERWRITE table top_like_product
     SELECT
       product.brand as brand,
       COUNT(product.brand) as like_count
     FROM
       action
       JOIN product ON (action.product_id = product.product_id)
     WHERE
       action.type = 'like'
     group by
       brand
     ORDER BY
       like_count desc
     LIMIT
       10
     ```
     图3脚本（分析10大用户关注最多的产品）   
     ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000002687977946.png "点击放大")
     ![](https://support.huaweicloud.com/qs-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
     - 当前由于DLI的"default"队列默认Spark组件版本较低，可能会出现无法支持建表语句执行的报错，这种情况下建议您选择自建队列运行业务。如需"default"队列支持建表语句执行，可联系DLI服务客服或技术支持人员协助解决。
     
     - DLI的"default"队列为共享队列，仅用于用户体验，用户间可能会出现抢占资源的情况，不能保证每次都可以得到资源执行相关操作。当遇到执行时间较长或无法执行的情况，建议您在业务低峰期再次重试，或选择自建队列运行业务。
       
      
     
     
  
  5. 脚本调试无误后，单击"保存"保存该脚本，脚本名称为"top_like_product"。单击"提交"，提交脚本版本。后续[开发并调度作业]会引用该脚本。
  
  6. 脚本保存完成且运行成功后，可以参考[步骤3]新建DLI SQL脚本，执行如下SQL语句查看top_like_product表数据。您还可以参考[图4]，下载或转储表数据。
     
     ```
     SELECT * FROM top_like_product
     ```
     图4查看top_like_product表数据   
     ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001251906233.png "点击放大")
     
     
   
- [分析10大用户评价最差的商品]
  
  1. [登录DataArts Studio管理控制台](https://console.huaweicloud.com/dayu/)。
     
     详情请参考[访问DataArts Studio实例控制台](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0001.html)。
     
     
  
  2. 在DataArts Studio控制台首页，选择对应工作空间的"数据开发"模块，进入数据开发页面。
  
  3. 参见[图5]，新建DLI SQL脚本，通过DLI SQL语句来创建数据表。
     
     图5新建脚本   
     ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001207518476.png "点击放大")
     
     
  
  4. 在新建脚本弹出的SQL编辑器中，填写关键参数。 
     表2关键参数 
     | 参数   | 说明                                                                                                                                      |
     |:---|:---|
     | 数据连接 | [步骤5](https://support.huaweicloud.com/qs-dataartsstudio/dataartsstudio_04_0022.html#dataartsstudio_04_0022__li4298133815461)中创建的DLI数据连接。 |
     | 数据库   | [步骤7](https://support.huaweicloud.com/qs-dataartsstudio/dataartsstudio_04_0022.html#dataartsstudio_04_0022__li17522165311514)中创建的数据库。     |
     | 资源队列   | 可使用提供的默认资源队列"default"。                                                                                                                  |
        
     图6关键参数   
     ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000002687871372.png "点击放大")
     
     输入如下SQL语句，单击"运行"，从OBS原始数据表中计算出10大用户评价最差的产品，将结果存放到top_bad_comment_product表。
     ```
     INSERT
       OVERWRITE table top_bad_comment_product
     SELECT
       DISTINCT product_id,
       comment_num,
       bad_comment_rate 
     FROM 
       comment 
     WHERE 
       comment_num > 3 
     ORDER BY
       bad_comment_rate desc 
     LIMIT
       10
     ```
     图7脚本（分析10大用户评价最差的产品）   
     ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000002688031236.png "点击放大")
     ![](https://support.huaweicloud.com/qs-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
     - 当前由于DLI的"default"队列默认Spark组件版本较低，可能会出现无法支持建表语句执行的报错，这种情况下建议您选择自建队列运行业务。如需"default"队列支持建表语句执行，可联系DLI服务客服或技术支持人员协助解决。
     
     - DLI的"default"队列为共享队列，仅用于用户体验，用户间可能会出现抢占资源的情况，不能保证每次都可以得到资源执行相关操作。当遇到执行时间较长或无法执行的情况，建议您在业务低峰期再次重试，或选择自建队列运行业务。
       
      
     
     
  
  5. 脚本调试无误后，单击"保存"保存该脚本，脚本名称为"top_bad_comment_product"。单击"提交"，提交脚本版本。后续[开发并调度作业]会引用该脚本。
  
  6. 脚本保存完成且运行成功后，可以参考[步骤3]新建DLI SQL脚本，执行如下SQL语句查看top_bad_comment_product表数据。您还可以参考[图8]，下载或转储表数据。
     
     ```
     SELECT * FROM top_bad_comment_product
     ```
     图8查看top_bad_comment_product表数据   
     ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001252307479.png "点击放大")
     
     
   
 #### 开发并调度作业
在OBS中存储的原始BI报表通常每日更新，业务人员希望同步获取最新的分析结果以支持决策。然而，手动处理每日更新的数据不仅效率低下，还容易因人为操作导致数据不同步或遗漏。您可以使用数据开发的作业编排和作业调度功能，实现结果的每日自动更新。
1. [登录DataArts Studio管理控制台](https://console.huaweicloud.com/dayu/)。
   
   详情请参考[访问DataArts Studio实例控制台](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0001.html)。
   
   
2. 在DataArts Studio控制台首页，选择对应工作空间的"数据开发"模块，进入数据开发页面。
3. 创建一个数据开发批处理作业，作业名称为"BI_analysis"。 
   图9新建作业   
   ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001207667720.png "点击放大")
   图10配置作业   
   ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001896565684.png "点击放大")
   
   
   
4. 进入到作业开发页面，拖动两个Dummy节点和两个DLI SQL节点到画布中，选中连线图标![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001225692895.png)并拖动，编排[图11]所示的作业。
   
   图11连接和配置节点属性   
   ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001354785869.png "点击放大")
   表3关键节点说明 
   | 关键节点                               | 说明                                                                                                               |
   |:---|:---|
   | Begin（Dummy节点）                     | 不执行任何操作，只作为起始点的标识。                                                                                                |
   | top_like_product（DLI SQL节点）       | 在节点属性中，关联[分析10大用户关注最多的产品]中开发完成的DLI SQL脚本"top_like_product"。       |
   | top_bad_comment_product（DLI SQL节点） | 在节点属性中，关联[分析10大用户评价最差的商品]中开发完成的DLI SQL脚本"top_bad_comment_product"。 |
   | Finish（Dummy节点）                  | 不执行任何操作，只作为结束点的标识。                                                                                             |
      
   
   
5. 作业编排完成后，单击"测试运行"![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001207668686.png)，测试运行作业。
   
   图12测试运行   
   ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000002717631923.png "点击放大")
   
   
   
6. 作业测试运行正常后，单击右侧的"调度配置"，配置作业的调度策略。 
   图13调度配置   
   ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001354787069.png "点击放大")
   
   表4调度配置参数 
   | 参数       | 说明                                                       |
   |:---|:---|
   | 调度方式  | 本示例中选择"周期调度"。                                              |
   | 调度属性   | 请根据业务需要配置作业的生效时间范围（如2022/02/09至2022/02/28），每天1点00分执行一次作业。 |
   | 依赖属性 | 可以配置为依赖其他作业运行，本例不涉及，无需配置。                                |
   | 跨周期依赖   | 可以选择配置为自依赖或者不依赖上一周期，此处配置为不依赖上一周期即可。                     |
      
   
   
7. 依次单击"保存"、"提交"、"执行调度"。实现作业每天自动运行，BI报表分析结果自动保存到"top_like_product"和"top_bad_comment_product"表。 
   图14执行调度   
   ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000002717792229.png "点击放大")
   
   
   
8. 最后保存并提交版本（单击![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001252188645.png)），执行调度作业（单击![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001207508690.png)）。实现作业每天自动运行，BI报表分析结果自动保存到"top_like_product"和"top_bad_comment_product"表。
9. 在数据开发主界面的左侧导航栏，选择"运维调度 \> 实例监控"，查看作业的执行结果，如[图15]所示。
   
   图15查看作业执行情况   
   ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001252588575.png "点击放大")
   
   
数据开发还支持配置通知管理，可以选择配置当作业运行异常/失败后，进行短信、邮件等多种方式提醒，此处不再展开描述。
至此，基于电商BI报表的数据开发流程示例完成。此外，您还可以根据原始BI报表数据，分析用户的年龄分布、性别比例、商品评价情况、购买情况、浏览情况等，为营销决策、广告推荐、信用评级、品牌监控、用户行为预测等提供高质量的信息。
