This is an automated email from the ASF dual-hosted git repository.

xqhu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new 65a896b9780 Fix #37894: Update yaml doc for composite transform 
changes (#37901)
65a896b9780 is described below

commit 65a896b97808beeb478fb4d100f6e33d149d038e
Author: liferoad <[email protected]>
AuthorDate: Mon Mar 23 19:33:57 2026 -0400

    Fix #37894: Update yaml doc for composite transform changes (#37901)
    
    * Fix #37833: Use named logger instead of root logger in transforms/util.py
    
    Replace root logger calls (logging.info, logging.warning, etc.) with a
    module-level named logger (_LOGGER = logging.getLogger(__name__)) in
    apache_beam.transforms.util. This allows sdk_harness_log_level_overrides
    to properly control log levels for this module.
    
    * Update yaml-schema.md with implicit input chaining documentation
---
 .../content/en/documentation/sdks/yaml-schema.md   | 48 ++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/website/www/site/content/en/documentation/sdks/yaml-schema.md 
b/website/www/site/content/en/documentation/sdks/yaml-schema.md
index a563bf486be..ad712f97d7a 100644
--- a/website/www/site/content/en/documentation/sdks/yaml-schema.md
+++ b/website/www/site/content/en/documentation/sdks/yaml-schema.md
@@ -110,6 +110,54 @@ pipeline:
         elements: []
 ```
 
+## Implicit Input Chaining for Composite Transforms
+
+When using `type: composite`, you can now omit explicit `input` specifications 
on
+sub-transforms. The sub-transforms will automatically chain together, similar 
to
+how `type: chain` works.
+
+For example, this pipeline:
+
+```yaml
+pipeline:
+  type: composite
+  input: SomeInput
+  transforms:
+    - type: MapToFields
+      config:
+        language: python
+        fields:
+          x: "element.x * 2"
+    - type: Filter
+      config:
+        language: python
+        keep: "element.x > 5"
+```
+
+Is equivalent to:
+
+```yaml
+pipeline:
+  type: composite
+  input: SomeInput
+  transforms:
+    - type: MapToFields
+      input: SomeInput
+      config:
+        language: python
+        fields:
+          x: "element.x * 2"
+    - type: Filter
+      input: MapToFields
+      config:
+        language: python
+        keep: "element.x > 5"
+```
+
+Note: Implicit chaining only works when:
+1. The composite transform has an input (e.g., `input: SomeInput`)
+2. Sub-transforms have no explicit `input` or `output` specifications
+
 WARNING: If a transform doesn't have the error_handling configuration available
 and a user chooses to use this optional output_schema feature, any failures
 found will result in the entire pipeline failing. If the user would still like

Reply via email to