Apache Flink VS Deep Java Library (DJL)

Compare Apache Flink vs Deep Java Library (DJL) and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
Apache Flink Deep Java Library (DJL)
9 13
23,107 3,813
1.0% 1.5%
9.9 9.4
7 days ago 7 days ago
Java Java
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Apache Flink

Posts with mentions or reviews of Apache Flink. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-15.
  • First 15 Open Source Advent projects
    16 projects | dev.to | 15 Dec 2023
    7. Apache Flink | Github | tutorial
  • I keep getting build failure when I try to run mvn clean compile package
    2 projects | /r/AskProgramming | 8 Apr 2023
    I'm trying to use https://github.com/mauricioaniche/ck to analyze the ck metrics of https://github.com/apache/flink. I have the latest version of java downloaded and I have the latest version of apache maven downloaded too. My environment variables are set correctly. I'm in the correct directory as well. However, when I run mvn clean compile package in powershell it always says build error. I've tried looking up the errors but there's so many. https://imgur.com/a/Zk8Snsa I'm very new to programming in general so any suggestions would be appreciated.
  • We Are Changing the License for Akka
    6 projects | news.ycombinator.com | 7 Sep 2022
  • DeWitt Clause, or Can You Benchmark %DATABASE% and Get Away With It
    21 projects | dev.to | 2 Jun 2022
    Apache Drill, Druid, Flink, Hive, Kafka, Spark
  • Computation reuse via fusion in Amazon Athena
    2 projects | news.ycombinator.com | 20 May 2022
    It took me some time to get a good grasp of the power of SQL; and it really kicked in when I learned about optimization rules. It's a program that you rewrite, just like an optimizing compiler would.

    You state what you want; you have different ways to fetch and match and massage data; and you can search through this space to produce a physical plan. Hopefully you used knowledge to weight parts to be optimized (table statistics, like Java's JIT would detect hot spots).

    I find it fascinating to peer through database code to see what is going on. Lately, there's been new advances towards streaming databases, which bring a whole new design space. For example, now you have latency of individual new rows to optimize for, as opposed to batch it whole to optimize the latency of a dataset. Batch scanning will be benefit from better use of your CPU caches.

    And maybe you could have a hybrid system which reads history from a log and aggregates in a batched manner, and then switches to another execution plan when it reaches the end of the log.

    If you want to have a peek at that here are Flink's set of rules [1], generic and stream-specific ones. The names can be cryptic, but usually give a good sense of what is going on. For example: PushFilterIntoTableSourceScanRule makes the WHERE clause apply the earliest possible, to save some CPU/network bandwidth further down. PushPartitionIntoTableSourceScanRule tries to make a fan-out/shuffle happen the earliest possible, so that parallelism can be made use of.

    [1] https://github.com/apache/flink/blob/5f8fb304fb5d68cdb0b3e3c...

  • Avro SpecificRecord File Sink using apache flink is not compiling due to error incompatible types: FileSink<?> cannot be converted to SinkFunction<?>
    3 projects | /r/apacheflink | 14 Sep 2021
    [1]: https://mvnrepository.com/artifact/org.apache.avro/avro-maven-plugin/1.8.2 [2]: https://github.com/apache/flink/blob/master/flink-connectors/flink-connector-files/src/main/java/org/apache/flink/connector/file/sink/FileSink.java [3]: https://ci.apache.org/projects/flink/flink-docs-master/docs/connectors/datastream/file_sink/ [4]: https://github.com/apache/flink/blob/c81b831d5fe08d328251d91f4f255b1508a9feb4/flink-end-to-end-tests/flink-file-sink-test/src/main/java/FileSinkProgram.java [5]: https://github.com/rajcspsg/streaming-file-sink-demo

Deep Java Library (DJL)

Posts with mentions or reviews of Deep Java Library (DJL). We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-11.
  • Is deeplearning4j a good choice?
    2 projects | /r/java | 11 Mar 2023
    It seems to have been picked up by Eclipse and there is also Oracle Labs' Tribuo and Deep Java Library. All seem active, but I don't know much about any of them. I agree it's probably best to follow the community and use a more popular tool like PyTorch.
  • Just want to vent a bit
    3 projects | /r/ProgrammingLanguages | 3 Dec 2022
    Although it may be a bit more work, you can do both machine learning and AI in Java. If you are doing deep learning, you can use DeepJavaLibrary (I do work on this one at Amazon). If you are looking for other ML algorithms, I have seen Smile, Tribuo, or some around Spark.
  • Best way to combine Python and Java?
    10 projects | /r/java | 29 Oct 2022
    Image preprocessing I know less about, but tokenization is something I've dealt with a bunch. There are a few options, either push the tokenizer into the ONNX model and use MS's ONNX Runtime extensions (we've used this when working with sentencepiece tokenizers), port the tokenizer entirely to Java (we did this for BERT), or use a sentencepiece or HF tokenizers wrapper directly (e.g. Amazon's DJL did this - HF, sentencepiece).
  • Anybody here using Java for machine learning?
    11 projects | /r/java | 13 Sep 2022
    https://djl.ai/ seems very promising. I've played around with it quite a bit, not in real production though. It's a very well documented (https://d2l.djl.ai/) and active project, with Amazon working on it.
    11 projects | /r/java | 13 Sep 2022
    Well, we've been using Tribuo in production for many years now. The ONNX Runtime Java API that I maintain in MS's ONNX Runtime project has also seen a bunch of uptake in companies, and Amazon have been building DJL for several years too.
  • Good document classification library in Java
    2 projects | /r/java | 12 Sep 2022
  • 2021-09 - Plans & Hopes for Clojure Data Science
    3 projects | /r/Clojure | 3 Sep 2021
    Here is link number 1 - Previous text "DJL"
    3 projects | /r/Clojure | 3 Sep 2021
    Regarding Tensorflow: As far as I understand, it is accessible through DJL, which has a Clojure wrapper (work in progress): clj-djl. (But I haven't tried it.)
  • [D] Java vs Python for Machine learning
    4 projects | /r/MachineLearning | 25 Jul 2021
    To give a contrasting perspective, I think the Java ecosystem is much better suited for many data science tasks, and has a growing and well-maintained set of libraries for general purpose machine learning. I won't list them all, but TF-Java, DJL et al. have implementations of many modern architectures and there are a number of excellent libraries (CoreNLP, Lucene et al.) for working with text.
  • Does Java has similar project like this one in C#? (ml, data)
    6 projects | /r/java | 23 May 2021

What are some alternatives?

When comparing Apache Flink and Deep Java Library (DJL) you can also consider the following projects:

Deeplearning4j - Suite of tools for deploying and training deep learning models using the JVM. Highlights include model import for keras, tensorflow, and onnx/pytorch, a modular and tiny c++ library for running math code and a java based math library on top of the core c++ library. Also includes samediff: a pytorch/tensorflow like library for running deep learning using automatic differentiation.

Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration

Trino - Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)

mediapipe - Cross-platform, customizable ML solutions for live and streaming media.

Tribuo - Tribuo - A Java machine learning library

Apache Spark - Apache Spark - A unified analytics engine for large-scale data processing

H2O - Sparkling Water provides H2O functionality inside Spark cluster

Scio - A Scala API for Apache Beam and Google Cloud Dataflow.

Apache Kafka - Mirror of Apache Kafka

Gearpump - Lightweight real-time big data streaming engine over Akka

CoreNLP - CoreNLP: A Java suite of core NLP tools for tokenization, sentence segmentation, NER, parsing, coreference, sentiment analysis, etc.