GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - numaproj/numaflow-java: Numaflow Java SDK

BranchesTags
Open more actions menu

Latest commit

 

History

165 Commits
165 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
examples
examples
 
 
hack
hack
 
 
src
src
 
 
.editorconfig
.editorconfig
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
development.md
development.md
 
 
lombok.config
lombok.config
 
 
pom.xml
pom.xml
 
 
releases.md
releases.md
 
 
settings.xml
settings.xml
 
 

Repository files navigation

Java SDK for Numaflow

Build License Release Version Maven Central

This SDK provides the interface for writing UDSources , UDTransformer , UDFs and UDSinks in Java.

Getting Started

Requirements

  • java 11+
  • maven 3.6+

Importing Numaflow Java SDK

Maven users

Add this dependency to your project's POM:

<dependency>
  <groupId>io.numaproj.numaflow</groupId>
  <artifactId>numaflow-java</artifactId>
  <version>0.13.0</version>
</dependency>

Gradle users

Add this dependency to your project's build file:

compile "io.numaproj.numaflow:numaflow-java:0.13.0"

Build

mvn clean install

Examples on how to write UDSources, UDTransformers, UDFs, UDSinks and SideInputs in Java

  • User Defined Source(UDSource)

    • Source
  • User Defined Source Transformer(UDTransformer)

    • Source Transformer
  • User Defined Function(UDF)

    • MapStream
    • Map
    • Reduce
    • ReduceStream
    • SessionReduce
  • User Defined Sink(UDSink)

    • Sink
  • User Defined SideInput(SideInput)

    • SideInput

You will see a warning in the log on startup, which you can safely ignore:

Oct 25, 2022 12:26:30 PM io.netty.bootstrap.AbstractBootstrap setChannelOption
WARNING: Unknown channel option 'SO_KEEPALIVE' for channel '[id: 0x6e9c19c7]'

This is due to grpc-netty trying to set SO_KEEPALIVE when it shouldn't (https://github.com/grpc/grpc-java/blob/47ddfa4f205d4672e035c37349dfd3036c74efb6/netty/src/main/java/io/grpc/netty/NettyClientTransport.java#L237)

It is suggested to use amazoncorretto:11 as base for your docker image. We observed that without a base image, the java user-defined container can fail the Numaflow health check.

API Documentation

Please, refer to our Javadoc website.

Development

Updating proto definition files

To keep up-to-date, do the following before building(using udf as an example):

  • copy the *.proto files from numaflow-go into /src/main/proto
  • replace the go_package lines with the following java_package:
option java_package = "io.numaproj.numaflow.function.v1";

Code Style

Use Editor Config.

About

Numaflow Java SDK

Topics

javanumaflownumaflow-sdk

Resources

Readme
Apache-2.0 license
Activity
Custom properties

Stars

28 stars

Watchers

13 watching

Forks

12 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.