From 676a9386710ad1c5f00f440fb4bb4eecbcc887a1 Mon Sep 17 00:00:00 2001
From: David Li
Date: Fri, 24 Oct 2025 16:33:25 +0900
Subject: [PATCH 1/2] WIP: [Dataset] Initialize compute module
---
dataset/src/main/cpp/jni_wrapper.cc | 8 ++++++++
.../main/java/org/apache/arrow/dataset/jni/JniLoader.java | 1 +
.../java/org/apache/arrow/dataset/jni/JniWrapper.java | 3 +++
3 files changed, 12 insertions(+)
diff --git a/dataset/src/main/cpp/jni_wrapper.cc b/dataset/src/main/cpp/jni_wrapper.cc
index 49cc85251c..e8087648eb 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 631b8b1bbe..5fb4816488 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 void ensureLoaded() {
}
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 6637c113d9..cfef098ec4 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 native long createScanner(
* uninitialized, then this is a noop.
*/
public native void ensureS3Finalized();
+
+ /** Initialize Arrow Compute. */
+ public native void initialize();
}
From 635c82e40562f55b20ac2959a21c4a5e24ddf81d Mon Sep 17 00:00:00 2001
From: David Li
Date: Fri, 24 Oct 2025 19:31:57 +0900
Subject: [PATCH 2/2] fix docs
---
docs/source/substrait.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/source/substrait.rst b/docs/source/substrait.rst
index b3678ac815..5ec07f1658 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 `
+The ``arrow-dataset`` module can execute Substrait_ plans via the :external+arrow:doc:`Acero `
query engine.
Executing Queries Using Substrait Plans