tysonjh commented on a change in pull request #12263:
URL: https://github.com/apache/beam/pull/12263#discussion_r457804483



##########
File path: 
sdks/java/extensions/ml/src/main/java/org/apache/beam/sdk/extensions/ml/DLPDeidentifyText.java
##########
@@ -177,19 +177,24 @@ public DLPDeidentifyText build() {
   @Override
   public PCollection<KV<String, DeidentifyContentResponse>> expand(
       PCollection<KV<String, String>> input) {
-    return input
-        .apply(ParDo.of(new MapStringToDlpRow(getColumnDelimiter())))
-        .apply("Batch Contents", ParDo.of(new 
BatchRequestForDLP(getBatchSizeBytes())))
-        .apply(
-            "DLPDeidentify",
+
+    ParDo.SingleOutput<KV<String, Iterable<Table.Row>>, KV<String, 
DeidentifyContentResponse>>
+        deidentifyParDo =
             ParDo.of(
                 new DeidentifyText(
                     getProjectId(),
                     getInspectTemplateName(),
                     getDeidentifyTemplateName(),
                     getInspectConfig(),
                     getDeidentifyConfig(),
-                    getHeaderColumns())));
+                    getHeaderColumns()));
+    if (getHeaderColumns() != null) {

Review comment:
       I'm not sure of all the available tools for testing DoFns in Beam so 
there may be better options but one way would be to use the @NeedsRunner 
annotation and some PAsserts to verify the expected output ([from the 
wiki](https://cwiki.apache.org/confluence/display/BEAM/Contribution+Testing+Guide#ContributionTestingGuide-EffectiveuseoftheTestPipelineJUnitrule))?
 
   
   It would require injecting a mock cloud client library to avoid making any 
calls to the live API.
   
   
   




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to