Skip to content

Commit ab3c4ef

Browse files
authored
Fix link typos (#34512)
* fix link typo * fix link typos * add to side navigation
1 parent dceafdf commit ab3c4ef

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

website/www/site/content/en/documentation/sdks/python-custom-multi-language-pipelines-guide.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@ Apache Beam's powerful model enables the development of scalable, resilient, and
2222

2323
With SDKs available in multiple languages (Java, Python, Golang, YAML, etc.), creating and maintaining transforms for each language becomes a challenge, particularly for IOs. Developers must navigate different APIs, address unique quirks, and manage ongoing maintenance—such as updates, new features, and documentation—while ensuring consistent behavior across SDKs. This results in redundant work, as the same functionality is implemented repeatedly for each language (M x N effort, where M is the number of SDKs and N is the number of transforms).
2424

25-
To streamline this process, Beam’s portability framework enables the use of portable transforms that can be shared across languages. This reduces duplication, allowing developers to focus on maintaining only N transforms. Pipelines combining [portable transforms](#portable-transform) from other SDK(s) are known as [“multi-language” pipelines](../programming-guide.md#13-multi-language-pipelines-multi-language-pipelines).
25+
To streamline this process, Beam’s portability framework enables the use of portable transforms that can be shared across languages. This reduces duplication, allowing developers to focus on maintaining only N transforms. Pipelines combining [portable transforms](#portable-transform) from other SDK(s) are known as [“multi-language” pipelines](../../programming-guide/#13-multi-language-pipelines-multi-language-pipelines).
2626

2727
The SchemaTransform framework represents the latest advancement in enhancing this multi-language capability.
2828

2929
The following jumps straight into the guide. Check out the [appendix](#appendix) section below for some of the terminology used here. For a runnable example, check out this [page](python-multi-language-pipelines-2.md).
3030

3131
## Create a Java SchemaTransform
3232

33-
For better readability, use [**TypedSchemaTransformProvider**](https://beam.apache.org/releases/javadoc/current/index.html?org/apache/beam/sdk/schemas/transforms/TypedSchemaTransformProvider.html), a [SchemaTransformProvider](#schematransformprovider) parameterized on a custom configuration type `T`. TypedSchemaTransformProvider will take care of converting the custom type definition to a Beam [Schema](../basics.md#schema), and converting an instance to a Beam Row.
33+
For better readability, use [**TypedSchemaTransformProvider**](https://beam.apache.org/releases/javadoc/current/index.html?org/apache/beam/sdk/schemas/transforms/TypedSchemaTransformProvider.html), a [SchemaTransformProvider](#schematransformprovider) parameterized on a custom configuration type `T`. TypedSchemaTransformProvider will take care of converting the custom type definition to a Beam [Schema](../../basics/#schema), and converting an instance to a Beam Row.
3434

3535
```java
3636
TypedSchemaTransformProvider<T> extends SchemaTransformProvider {
@@ -93,7 +93,7 @@ pipeline:
9393
### Implement a TypedSchemaTransformProvider
9494
Next, implement the `TypedSchemaTransformProvider`. The following two methods are required:
9595

96-
- `identifier`: Returns a unique identifier for this transform. The [Beam standard](../programming-guide.md#1314-defining-a-urn) follows this structure: `<namespace>:<org>:<functionality>:<version>`.
96+
- `identifier`: Returns a unique identifier for this transform. The [Beam standard](../../programming-guide/#1314-defining-a-urn) follows this structure: `<namespace>:<org>:<functionality>:<version>`.
9797
- `from`: Builds the transform using a provided configuration.
9898

9999
An [expansion service](#expansion-service) uses these methods to find and build the transform. The `@AutoService(SchemaTransformProvider.class)` annotation is also required to ensure this provider is recognized by the expansion service.
@@ -268,7 +268,7 @@ inspect.signature(MyTransform)
268268
# bar: "int: Description of what bar does....")
269269
```
270270

271-
This metadata is generated directly from the provider's implementation. The class documentation is generated from the [optional **description** method](#additional-metadata). The signature information is generated from the `@SchemaFieldDescription` annotations in the [configuration object](#implement-a-configuration).
271+
This metadata is generated directly from the provider's implementation. The class documentation is generated from the [optional **description** method](#additional-metadata-optional). The signature information is generated from the `@SchemaFieldDescription` annotations in the [configuration object](#implement-a-configuration).
272272

273273
### Using Beam native Java SchemaTransforms
274274
If there's an existing Beam native Java SchemaTransform you'd like to use, and you know which expansion service module it's in, you can connect to it using `BeamJarExpansionService`:
@@ -291,7 +291,7 @@ with beam.Pipeline(argv=args) as p:
291291

292292
### Portable transform
293293

294-
Also known as a [cross-language transform](../glossary.md#cross-language-transforms): a transform that is made available to other SDKs (i.e. other languages) via an expansion service. Such a transform must offer a way to be constructed using language-agnostic parameter types.
294+
Also known as a [cross-language transform](../../glossary/#cross-language-transforms): a transform that is made available to other SDKs (i.e. other languages) via an expansion service. Such a transform must offer a way to be constructed using language-agnostic parameter types.
295295

296296
### Expansion Service
297297

website/www/site/layouts/partials/section-menu/en/sdks.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
<li><a href="/documentation/sdks/python-type-safety/">Ensuring Python type safety</a></li>
4343
<li><a href="/documentation/sdks/python-machine-learning/">Machine Learning</a></li>
4444
<li><a href="/documentation/sdks/python-pipeline-dependencies/">Managing pipeline dependencies</a></li>
45+
<li><a href="/documentation/sdks/python-custom-multi-language-pipelines-guide/">Python multi-language pipelines guide</a></li>
4546
<li><a href="/documentation/sdks/python-multi-language-pipelines/">Python multi-language pipelines quickstart</a></li>
4647
<li><a href="/documentation/sdks/python-unrecoverable-errors/">Python Unrecoverable Errors</a></li>
4748
<li><a href="/documentation/sdks/python-sdk-image-build/">Python SDK image build</a></li>

0 commit comments

Comments
 (0)