This is an automated email from the ASF dual-hosted git repository.
lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-java.git
The following commit(s) were added to refs/heads/main by this push:
new a4f3f3ef GH-899: [Dataset] Initialize compute module (#893)
a4f3f3ef is described below
commit a4f3f3ef8eaca1328a3a6032397caf7a2f9ac22d
Author: David Li <[email protected]>
AuthorDate: Wed Oct 29 13:55:21 2025 +0900
GH-899: [Dataset] Initialize compute module (#893)
## What's Changed
Depends on https://github.com/apache/arrow-java/pull/865
Closes #899.
---
dataset/src/main/cpp/jni_wrapper.cc | 8 ++++++++
dataset/src/main/java/org/apache/arrow/dataset/jni/JniLoader.java | 1 +
.../src/main/java/org/apache/arrow/dataset/jni/JniWrapper.java | 3 +++
docs/source/substrait.rst | 2 +-
4 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/dataset/src/main/cpp/jni_wrapper.cc
b/dataset/src/main/cpp/jni_wrapper.cc
index 49cc8525..e8087648 100644
--- a/dataset/src/main/cpp/jni_wrapper.cc
+++ b/dataset/src/main/cpp/jni_wrapper.cc
@@ -23,6 +23,7 @@
#include "arrow/array/concatenate.h"
#include "arrow/c/bridge.h"
#include "arrow/c/helpers.h"
+#include "arrow/compute/initialize.h"
#include "arrow/dataset/api.h"
#include "arrow/dataset/file_base.h"
#ifdef ARROW_CSV
@@ -807,6 +808,13 @@ JNIEXPORT void JNICALL
Java_org_apache_arrow_dataset_jni_JniWrapper_ensureS3Fina
JNI_METHOD_END()
}
+JNIEXPORT void JNICALL Java_org_apache_arrow_dataset_jni_JniWrapper_initialize(
+ JNIEnv* env, jobject) {
+ JNI_METHOD_START
+ JniAssertOkOrThrow(arrow::compute::Initialize());
+ JNI_METHOD_END()
+}
+
/*
* Class: org_apache_arrow_dataset_file_JniWrapper
* Method: makeFileSystemDatasetFactory
diff --git a/dataset/src/main/java/org/apache/arrow/dataset/jni/JniLoader.java
b/dataset/src/main/java/org/apache/arrow/dataset/jni/JniLoader.java
index 631b8b1b..5fb48164 100644
--- a/dataset/src/main/java/org/apache/arrow/dataset/jni/JniLoader.java
+++ b/dataset/src/main/java/org/apache/arrow/dataset/jni/JniLoader.java
@@ -56,6 +56,7 @@ public final class JniLoader {
}
loadRemaining();
ensureS3FinalizedOnShutdown();
+ JniWrapper.get().initialize();
}
private synchronized void loadRemaining() {
diff --git a/dataset/src/main/java/org/apache/arrow/dataset/jni/JniWrapper.java
b/dataset/src/main/java/org/apache/arrow/dataset/jni/JniWrapper.java
index 6637c113..cfef098e 100644
--- a/dataset/src/main/java/org/apache/arrow/dataset/jni/JniWrapper.java
+++ b/dataset/src/main/java/org/apache/arrow/dataset/jni/JniWrapper.java
@@ -124,4 +124,7 @@ public class JniWrapper {
* uninitialized, then this is a noop.
*/
public native void ensureS3Finalized();
+
+ /** Initialize Arrow Compute. */
+ public native void initialize();
}
diff --git a/docs/source/substrait.rst b/docs/source/substrait.rst
index b3678ac8..5ec07f16 100644
--- a/docs/source/substrait.rst
+++ b/docs/source/substrait.rst
@@ -19,7 +19,7 @@
Substrait
=========
-The ``arrow-dataset`` module can execute Substrait_ plans via the
:external+arrow:doc:`Acero <cpp/streaming_execution>`
+The ``arrow-dataset`` module can execute Substrait_ plans via the
:external+arrow:doc:`Acero <cpp/acero>`
query engine.
Executing Queries Using Substrait Plans