This is an automated email from the ASF dual-hosted git repository.
alamb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/master by this push:
new c5cf2f21a add readme (#1940)
c5cf2f21a is described below
commit c5cf2f21a59bec896b1db48f97b8aa0faacf624b
Author: Remzi Yang <[email protected]>
AuthorDate: Sat Jun 25 03:00:26 2022 +0800
add readme (#1940)
Signed-off-by: remzi <[email protected]>
---
arrow/src/compute/README.md | 48 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/arrow/src/compute/README.md b/arrow/src/compute/README.md
new file mode 100644
index 000000000..761713a53
--- /dev/null
+++ b/arrow/src/compute/README.md
@@ -0,0 +1,48 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+## Apache Arrow Rust Compute Kernels
+
+This module contains analytical kernels that process primarily Arrow
+columnar data; some kernels can process scalar or Arrow-based array
+inputs. These are intended for use inside query engines, data frame libraries,
+etc.
+
+Many kernels have SQL-like semantics in that they perform elementwise or
+scalar operations on whole arrays at a time. Other kernels are not SQL-like
+and compute results that may be a different length or whose results depend on
+the order of the values.
+
+We use the term "kernel" to refer to particular general operation that
contains many different functions corresponding to different combinations of
types or function behavior options.
+
+Types of functions
+
+* Scalar functions: elementwise functions that perform scalar operations in a
+ vectorized manner. These functions are generally valid for SQL-like
+ context. These are called "scalar" in that the functions executed consider
+ each value in an array independently, and the output array or arrays have the
+ same length as the input arrays. The result for each array cell is generally
+ independent of its position in the array.
+* Vector functions, which produce a result whose output is generally dependent
+ on the entire contents of the input arrays. These functions **are generally
+ not valid** for SQL-like processing because the output size may be different
+ than the input size, and the result may change based on the order of the
+ values in the array. This includes things like array subselection, sorting,
+ hashing, and more.
+* Scalar aggregate functions of which can be used in a SQL-like context
\ No newline at end of file