Installation
Quick Start
Here’s a simple word count example:Core Concepts
Root and Pipeline
Pipelines are built using a Root PValue:PCollection
PCollections represent distributed datasets:Transforms
Apply transforms using.apply() or convenience methods:
TypeScript-Specific Features
Schema-First Approach
The TypeScript SDK emphasizes working with structured data:Map and FlatMap
Use familiar array-like operations:Async/Await Support
Work with asynchronous operations:Context Parameters
Access element metadata and side inputs:Working with Multiple Outputs
Split PCollections based on element properties:Grouping and Combining
Group By Key
Aggregations
Cross-Language Transforms
Use transforms from Python and Java SDKs:I/O Operations
Reading Files
Writing Files
BigQuery (via Python)
Running Pipelines
Direct Runner (Local)
Flink Runner
Flink infrastructure is automatically downloaded:Dataflow Runner
Configuring Runners
Windowing
Process streaming data with time windows:Best Practices
Use TypeScript for Type Safety
Use TypeScript for Type Safety
Define interfaces for your data:
Leverage Cross-Language Transforms
Leverage Cross-Language Transforms
Use mature I/O connectors from Python and Java:
Use Generators for FlatMap
Use Generators for FlatMap
Generators provide clean syntax for emitting multiple elements:
Handle Async Operations Carefully
Handle Async Operations Carefully
Use async/await for I/O operations:
Composite Transforms
Create reusable transform functions:Testing
Test your transforms:Starter Project
Clone the official starter project:Resources
TypeScript SDK Docs
Official TypeScript SDK documentation
Starter Project
Template project to get started quickly
Code Examples
Sample pipelines and patterns
API Reference
Detailed API documentation
Next Steps
- Explore runners for executing pipelines
- Check out windowing for stream processing
- Learn about core concepts and the programming model
- Browse examples for practical patterns