You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by np...@apache.org on 2021/11/09 12:42:04 UTC

[arrow-site] branch master updated: ARROW-14511: [Website][Rust] Rust 6.0.0 release blog post (#156)

This is an automated email from the ASF dual-hosted git repository.

npr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-site.git


The following commit(s) were added to refs/heads/master by this push:
     new fca401d  ARROW-14511: [Website][Rust] Rust 6.0.0 release blog post (#156)
fca401d is described below

commit fca401db2ad8fc6a090e7ee31f14f06cf6cf1056
Author: Benson Muite <bk...@users.noreply.github.com>
AuthorDate: Tue Nov 9 15:41:56 2021 +0300

    ARROW-14511: [Website][Rust] Rust 6.0.0 release blog post (#156)
    
    * Initial creation based on previous version
    
    * Update _posts/2021-11-02-6.0.0-rs-release.md
    
    Co-authored-by: Neal Richardson <ne...@gmail.com>
    
    * Update _posts/2021-11-02-6.0.0-rs-release.md
    
    Co-authored-by: Neal Richardson <ne...@gmail.com>
    
    * Add changes.
    
    * add example
    
    * update date
    
    * add link to source
    
    * Update date
    
    Co-authored-by: Neal Richardson <ne...@gmail.com>
    
    * grammar fix
    
    Co-authored-by: Neal Richardson <ne...@gmail.com>
    
    * fix link
    
    Co-authored-by: Neal Richardson <ne...@gmail.com>
    
    * fix link
    
    Co-authored-by: Neal Richardson <ne...@gmail.com>
    
    * fix link
    
    Co-authored-by: Neal Richardson <ne...@gmail.com>
    
    * remove redundant item
    
    Co-authored-by: Andrew Lamb <an...@nerdnetworks.org>
    
    * grammar fix
    
    Co-authored-by: Andrew Lamb <an...@nerdnetworks.org>
    
    * style improvement
    
    Co-authored-by: Andrew Lamb <an...@nerdnetworks.org>
    
    * additional feature
    
    Co-authored-by: Andrew Lamb <an...@nerdnetworks.org>
    
    * remove unnecessary sentence
    
    * update authors
    
    * revert change
    
    * Update date
    
    Co-authored-by: Neal Richardson <ne...@gmail.com>
    Co-authored-by: Andrew Lamb <an...@nerdnetworks.org>
---
 _posts/2021-11-02-6.0.0-rs-release.md | 151 ++++++++++++++++++++++++++++++++++
 1 file changed, 151 insertions(+)

diff --git a/_posts/2021-11-02-6.0.0-rs-release.md b/_posts/2021-11-02-6.0.0-rs-release.md
new file mode 100644
index 0000000..7f9ca74
--- /dev/null
+++ b/_posts/2021-11-02-6.0.0-rs-release.md
@@ -0,0 +1,151 @@
+---
+layout: post
+title: Apache Arrow Rust 6.0.0 Release
+date: "2021-11-09 00:00:00"
+author: pmc
+categories: [release]
+---
+<!--
+{% comment %}
+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.
+{% endcomment %}
+-->
+
+We recently released the 6.0.0 Rust version of Apache Arrow, which 
+coincides with the [Arrow 6.0.0 release]({{ site.baseurl }}/6.0.0.html). This 
+post highlights some of the improvements in the Rust implementation. The full changelog can be 
+found [here](https://github.com/apache/arrow-rs/blob/6.0.0/CHANGELOG.md).
+
+<!--
+(arrow_dev) bkmgit@Linux:~/arrow-rs$ git log --pretty=oneline 5.0.0..6.0.0 | wc -l
+     99
+(arrow_dev) bkmgit@Linux:~/arrow-rs$ git shortlog -sn 5.0.0..6.0.0 | wc -l
+     35
+-->
+
+The Rust Arrow implementation would not be possible without the wonderful work and support of our community, and 
+the 6.0.0 release is no exception. It includes 99 commits from 35 individual contributors, many of them with 
+their first contribution. Thank you all very much.
+
+# Arrow
+
+Highlighted features and changes between release 5.0.0 and this release are:
+1. New MapArray support
+2. Add optimized filter kernel for regular expression matching
+4. Implement `sort()` for `BinaryArray`
+5. Replace `ArrayData::new()` with `ArrayData::try_new()` and `unsafe ArrayData::new_unchecked`
+6. Sorting should require less memory and be faster
+
+Of course, this release also contains bug fixes, performance improvements, and improved documentation examples. For the full list of changes, 
+please consult the [changelog](https://github.com/apache/arrow-rs/blob/6.0.0/CHANGELOG.md).
+
+# More Frequent Releases
+Arrow releases major versions every three months. The Rust implementation follows this 
+major release cycle, and additionally releases minor version updates approximately every other week
+to speed the flow of new features and fixes.
+
+You can always find the latest releases on crates.io: [`arrow`](https://crates.io/crates/arrow), [`parquet`](https://crates.io/crates/parquet), 
+[`arrow-flight`](https://crates.io/crates/arrow-flight), and [`parquet-derive`](https://crates.io/crates/parquet-derive).
+
+# DataFusion & Ballista
+[DataFusion](https://docs.rs/datafusion/) is an in-memory query engine with DataFrame and SQL APIs, built on top of Arrow. 
+Ballista is a distributed compute platform. These projects are now in their [own repository](https://github.com/apache/arrow-datafusion), 
+and are no longer released in lock-step with Arrow.
+
+# Highlighted Functionality
+The memory required to do sorting has been improve by the pull request resolving issue [553](https://github.com/apache/arrow-rs/issues/553). 
+A demonstration for how to sort follows.
+```rust
+extern crate arrow;
+
+use arrow::array::{
+    Int32Array,
+    ArrayRef,
+};
+use std::sync::Arc;
+use arrow::compute::sort;
+
+fn main() {
+    
+    let array: ArrayRef = Arc::new(Int32Array::from(vec![5, 4, 23, 1, 20, 2]));
+    println!("{:?}", array);
+    let sorted_array = sort(&array, None).unwrap();
+    println!("{:?}", sorted_array);
+}
+```
+For further examples, see the [source code](https://github.com/apache/arrow-rs/blob/master/arrow/src/compute/kernels/sort.rs).
+
+# Roadmap for 7.0.0 and Beyond
+Here are some of the initiatives that contributors are currently working on for future releases:
+
+* Validate arguments to ArrayData::new and null bit buffer and buffers
+* add ilike comparitor
+* refactor regexp_is_match_utf8_scalar
+* add support for float 16
+* Updated `UnionArray` support to follow the latest arrow spec
+
+# Contributors to 6.0.0:
+Again, thank you to all the contributors for this release. Here is the raw git listing:
+
+<!--
+(arrow_dev) bkmgit@Linux:~/arrow-rs$ git shortlog -sn 5.0.0..6.0.0
+.. list below ..
+-->
+
+```
+    23  Andrew Lamb
+     8  Ben Chambers
+     8  Navin
+     7  Jiayu Liu
+     5  Wakahisa
+     4  Ruihang Xia
+     3  Daniël Heres
+     3  Matthew Turner
+     3  Sumit
+     2  Boaz
+     2  Chojan Shang
+     2  Ilya Biryukov
+     2  Krisztián Szűcs
+     2  Markus Westerlind
+     2  Roee Shlomo
+     2  Sergii Mikhtoniuk
+     2  Wang Fenjin
+     2  baishen
+     1  Carol (Nichols || Goulding)
+     1  Christian Williams
+     1  Felix Yan
+     1  Jorge Leitao
+     1  Kornelijus Survila
+     1  Matthew Zeitlin
+     1  Mike Seddon
+     1  Mykhailo Osypov
+     1  Neal Richardson
+     1  Pete Koomen
+     1  QP Hou
+     1  Richard
+     1  Xavier Lange
+     1  Yuan Zhou
+     1  aiglematth
+     1  mathiaspeters-sig
+     1  msalib
+```
+
+# How to Get Involved
+If you are interested in contributing to the Rust implementation of Apache Arrow, we would love to have you! You can help by 
+trying out Arrow on some of your own data and projects and filing bug reports and helping to improve the documentation, or 
+contribute to the documentation, tests or code. A list of open issues suitable for beginners is 
+[here](https://github.com/apache/arrow-rs/labels/good%20first%20issue) and the full list is
+[here](https://github.com/apache/arrow-rs/issues)