Apache Beam starter repo for Kotlin

Clone this repo:
  1. a369f40 Merge pull request #13 from davidcavazos/patch-1 by Ahmet Altay · 2 years ago main
  2. d882a05 Removing apilloud by David Cavazos · 2 years ago
  3. 00a835f Merge pull request #7 from apache/dependabot/gradle/org.jetbrains.kotlin.jvm-1.7.20 by Brian Hulette · 2 years, 1 month ago
  4. 2e8b8e1 Merge pull request #8 from apache/dependabot/gradle/beamVersion-2.42.0 by Brian Hulette · 2 years, 1 month ago
  5. 88c89a4 Add reviewers for dependabot PRs (#9) by David Cavazos · 2 years, 1 month ago

Apache Beam starter for Kotlin

If you want to clone this repository to start your own project, you can choose the license you prefer and feel free to delete anything related to the license you are dropping.

Before you begin

Make sure you have a Java development environment ready with Gradle. If you don't, an easy way to install it is with sdkman.

# Install sdkman.
curl -s "https://get.sdkman.io" | bash

# Make sure you have Java 17 and Gradle installed.
sdk install java 17.0.3-tem
sdk install gradle

Source file structure

This is a very basic Apache Beam project to help you get started.

There are only two source files:

Running the pipeline

You can run your pipeline with Gradle.

# To do a simple run.
gradle run

# To run passing command line arguments.
gradle run --args=--inputText="🎉"

# To run the tests.
gradle test --info

To build a self-contained jar file, we need to configure the jar task in the build.gradle file.

# Build a self-contained jar.
gradle jar

# Run the jar application.
java -jar app/build/pipeline.jar --inputText="🎉"

GitHub Actions automated testing

This project already comes with automated testing via GitHub Actions.

To configure it, look at the .github/workflows/test.yaml file.

Using other runners

To keep this template small, it only includes the Direct Runner.

For a comparison of what each runner currently supports, look at the Beam Capability Matrix.

To add a new runner, visit the runner's page for instructions on how to include it.

Contributing

Thank you for your interest in contributing! All contributions are welcome! 🎉🎊

Please refer to the CONTRIBUTING.md file for more information.

License

This software is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE for details.