最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

检查处理kettle数据流中的空行

来源:动视网 责编:小采 时间:2020-11-09 14:51:25
文档

检查处理kettle数据流中的空行

检查处理kettle数据流中的空行:检查处理kettle数据流中的空行 ETL处理过程中,有时需要生成数据,但是却没有输入数据,这可能有一些问题,所以通常需要ETL数据流产生一个空行数据;有时处理中需要一些聚集功能,则意味着当没有输入数据时,生成值为0;本文说明怎样检测并处理空行数据流。
推荐度:
导读检查处理kettle数据流中的空行:检查处理kettle数据流中的空行 ETL处理过程中,有时需要生成数据,但是却没有输入数据,这可能有一些问题,所以通常需要ETL数据流产生一个空行数据;有时处理中需要一些聚集功能,则意味着当没有输入数据时,生成值为0;本文说明怎样检测并处理空行数据流。


检查处理kettle数据流中的空行 ETL处理过程中,有时需要生成数据,但是却没有输入数据,这可能有一些问题,所以通常需要ETL数据流产生一个空行数据;有时处理中需要一些聚集功能,则意味着当没有输入数据时,生成值为0;本文说明怎样检测并处理空行数据流。

检查处理kettle数据流中的空行

ETL处理过程中,有时需要生成数据,但是却没有输入数据,这可能有一些问题,所以通常需要ETL数据流产生一个空行数据;有时处理中需要一些聚集功能,则意味着当没有输入数据时,生成值为0;本文说明怎样检测并处理空行数据流。

示例场景

假设有需求需要读取输入数据代表销售(有三个字段:product产品名称、items_sold销售量、turnover销售金额).ETL处理流程需要计算产品的销售总量及销售总额;这里的处理大概是:从输入文件中读取多行数据,然后使用聚集功能,产生期望的结果。

这种方法有缺陷,因为当没有输入数据时,不产生任何输出数据,在这个示例中,可以切换两个输入的连接线,测试结果。

第一种解决方案:使用group by步骤

如果使用group by步骤实现聚集,你能设置总返回结果行,即使没有输入,启用“Alwaysgive back a result row”选项。如下图所示:

第二种解决方案:使用Detect empty stream步骤(检测空数据流)

如果这个场景更复杂,字段更多,我们就需要有一般性的解决方案检测空数据流,我们使用“detect empty stream”步骤。连接输入源(源有可能为空)到空步骤,从空步骤拷贝数据到两个分支,其中“detect empty stream”步骤不处理有数据流的行情况,但是没有任何输入行数据时,则创建一行数据且所有字段值为空,该行表示没有数据。

示例中,可以切换输入连接失效,则没有数据行输入,然后通过javascript步骤手工修改product=“none”,item_sold=0,turnover=0.0;如下图所示,当输入数据确实为空时,“detect empty stream”步骤产生一空行,然后被更新为期望的输出。代码下载。

文档

检查处理kettle数据流中的空行

检查处理kettle数据流中的空行:检查处理kettle数据流中的空行 ETL处理过程中,有时需要生成数据,但是却没有输入数据,这可能有一些问题,所以通常需要ETL数据流产生一个空行数据;有时处理中需要一些聚集功能,则意味着当没有输入数据时,生成值为0;本文说明怎样检测并处理空行数据流。
推荐度:
标签: 中的 处理 数据
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top