tustvold commented on code in PR #305:
URL: https://github.com/apache/arrow-site/pull/305#discussion_r1103860013


##########
_posts/2023-01-26-rust-32.0.0.md:
##########
@@ -0,0 +1,193 @@
+---
+layout: post
+title: "January 2023 Rust Apache Arrow Highlights"
+date: "2023-01-26 00:00:00 +0000"
+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 %}
+-->
+
+# Introduction
+
+With the recent release of [32.0.0](https://crates.io/crates/arrow/32.0.0) of 
the Rust implementation of [Apache Arrow](https://arrow.apache.org/), it seemed 
timely to highlight some of the communities work since the [last 
update](https://arrow.apache.org/blog/2022/06/16/rust-16.0.0/).
+
+The most recent list of detailed changes can always be found in the 
[CHANGELOG](https://github.com/apache/arrow-rs/blob/master/CHANGELOG.md), with 
the full historical list available 
[here](https://github.com/apache/arrow-rs/blob/master/CHANGELOG-old.md).
+
+# Arrow
+
+[arrow](https://crates.io/crates/arrow) and 
[arrow-flight](https://crates.io/crates/arrow-flight) are native Rust 
implementations of Apache Arrow. Apache Arrow defines a language-independent 
columnar memory format for flat and hierarchical data, organized for efficient 
analytic operations on modern hardware like CPUs and GPUs. The Arrow memory 
format also supports zero-copy reads for lightning-fast data access without 
serialization overhead.
+
+The [Rust language](https://www.rust-lang.org/) offers best in class 
performance,  memory safety, and the developer productivity of a modern 
programming language. These features make Rust an excellent choice for building 
modern high performance analytical systems. When combined, Rust and the Apache 
Arrow Ecosystem are a compelling toolkit for building the next generation of 
systems.
+
+The [repository](https://github.com/apache/arrow-rs) recently passed 1400 
stars on github, and the community has been focused on performance and feature 
completeness.
+
+
+**Major Highlights**
+
+* **New CSV and JSON Readers**: The CSV and JSON readers have been revamped. 
Their performance has more than doubled, and they now support push-driven 
parsing, and better streaming object storage integration.
+* **Faster Build Times and Reduced Codegen**: The `arrow` crate has been split 
into multiple smaller crates, and large kernels have been moved behind optional 
feature flags. These changes allow downstream projects to choose a smaller 
dependency footprint and build times, if desired.
+* **Support for Copy-On-Write**: Arrow arrays now support copy-on-write, via 
the 
[`into_builder`](https://docs.rs/arrow/32.0.0/arrow/array/struct.ArrayData.html#method.into_builder)
 methods
+* **Comparable Row Format**: [Much faster  multi-column Sorting and 
Grouping](https://arrow.apache.org/blog/2022/11/07/multi-column-sorts-in-arrow-rust-part-1/)
 is now possible with the the new spillable, comparable 
[row-format](https://docs.rs/arrow-row/32.0.0/arrow_row/index.html)
+* **FlightSQL Support**: 
[FlightSQL](https://arrow.apache.org/docs/format/FlightSql.html) 
[support](https://docs.rs/arrow-flight/32.0.0/arrow_flight/sql/index.html) has 
been expanded
+* **Mid-Level Flight Client**: A new 
[FlightClight](https://docs.rs/arrow-flight/32.0.0/arrow_flight/client/struct.FlightClient.html)
 is available that handles lower level protocol details, and easier to use 
[encoding](https://docs.rs/arrow-flight/32.0.0/arrow_flight/encode/struct.FlightDataEncoderBuilder.html)
 and  
[decoding](https://docs.rs/arrow-flight/32.0.0/arrow_flight/decode/struct.FlightDataDecoder.html)
 APIs.

Review Comment:
   ```suggestion
   * **Mid-Level Flight Client**: A new 
[FlightClight](https://docs.rs/arrow-flight/32.0.0/arrow_flight/client/struct.FlightClient.html)
 is available that handles lower level protocol details, and easier to use 
[encoding](https://docs.rs/arrow-flight/32.0.0/arrow_flight/encode/struct.FlightDataEncoderBuilder.html)
 and 
[decoding](https://docs.rs/arrow-flight/32.0.0/arrow_flight/decode/struct.FlightDataDecoder.html)
 APIs.
   ```



##########
_posts/2023-01-26-rust-32.0.0.md:
##########
@@ -0,0 +1,193 @@
+---
+layout: post
+title: "January 2023 Rust Apache Arrow Highlights"
+date: "2023-01-26 00:00:00 +0000"
+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 %}
+-->
+
+# Introduction
+
+With the recent release of [32.0.0](https://crates.io/crates/arrow/32.0.0) of 
the Rust implementation of [Apache Arrow](https://arrow.apache.org/), it seemed 
timely to highlight some of the communities work since the [last 
update](https://arrow.apache.org/blog/2022/06/16/rust-16.0.0/).
+
+The most recent list of detailed changes can always be found in the 
[CHANGELOG](https://github.com/apache/arrow-rs/blob/master/CHANGELOG.md), with 
the full historical list available 
[here](https://github.com/apache/arrow-rs/blob/master/CHANGELOG-old.md).
+
+# Arrow
+
+[arrow](https://crates.io/crates/arrow) and 
[arrow-flight](https://crates.io/crates/arrow-flight) are native Rust 
implementations of Apache Arrow. Apache Arrow defines a language-independent 
columnar memory format for flat and hierarchical data, organized for efficient 
analytic operations on modern hardware like CPUs and GPUs. The Arrow memory 
format also supports zero-copy reads for lightning-fast data access without 
serialization overhead.
+
+The [Rust language](https://www.rust-lang.org/) offers best in class 
performance,  memory safety, and the developer productivity of a modern 
programming language. These features make Rust an excellent choice for building 
modern high performance analytical systems. When combined, Rust and the Apache 
Arrow Ecosystem are a compelling toolkit for building the next generation of 
systems.
+
+The [repository](https://github.com/apache/arrow-rs) recently passed 1400 
stars on github, and the community has been focused on performance and feature 
completeness.
+
+
+**Major Highlights**
+
+* **New CSV and JSON Readers**: The CSV and JSON readers have been revamped. 
Their performance has more than doubled, and they now support push-driven 
parsing, and better streaming object storage integration.
+* **Faster Build Times and Reduced Codegen**: The `arrow` crate has been split 
into multiple smaller crates, and large kernels have been moved behind optional 
feature flags. These changes allow downstream projects to choose a smaller 
dependency footprint and build times, if desired.
+* **Support for Copy-On-Write**: Arrow arrays now support copy-on-write, via 
the 
[`into_builder`](https://docs.rs/arrow/32.0.0/arrow/array/struct.ArrayData.html#method.into_builder)
 methods
+* **Comparable Row Format**: [Much faster  multi-column Sorting and 
Grouping](https://arrow.apache.org/blog/2022/11/07/multi-column-sorts-in-arrow-rust-part-1/)
 is now possible with the the new spillable, comparable 
[row-format](https://docs.rs/arrow-row/32.0.0/arrow_row/index.html)
+* **FlightSQL Support**: 
[FlightSQL](https://arrow.apache.org/docs/format/FlightSql.html) 
[support](https://docs.rs/arrow-flight/32.0.0/arrow_flight/sql/index.html) has 
been expanded
+* **Mid-Level Flight Client**: A new 
[FlightClight](https://docs.rs/arrow-flight/32.0.0/arrow_flight/client/struct.FlightClient.html)
 is available that handles lower level protocol details, and easier to use 
[encoding](https://docs.rs/arrow-flight/32.0.0/arrow_flight/encode/struct.FlightDataEncoderBuilder.html)
 and  
[decoding](https://docs.rs/arrow-flight/32.0.0/arrow_flight/decode/struct.FlightDataDecoder.html)
 APIs.
+* **IPC File Compression**: Arrow IPC file 
[compression](https://docs.rs/arrow-ipc/32.0.0/arrow_ipc/gen/Message/struct.CompressionType.html)
 with ZSTD and LZ4 is now fully supported.
+* **Full Decimal Support**: 256-bit decimals and negative scales can be 
created and manipulated using many kernels, such as arithmetic.
+* **Improved Dictionary Support**: Dictionaries are now transparently 
supported in most kernels.
+* **Improved Temporal Support**: Timestamps with Timezones and other temporal 
types are supported in many more kernels.
+* **Improved Generics**: Improved generics allow writing code generic over all 
arrays, or all arrays with the same layout
+* **Downcast Macros**: Various 
[helper](https://docs.rs/arrow/32.0.0/arrow/macro.downcast_primitive_array.html)
 
[macros](https://docs.rs/arrow/32.0.0/arrow/macro.downcast_dictionary_array.html)
 are now available to simplify dynamic dispatch to statically typed 
implementations.
+
+# Parquet
+
+[Apache Parquet](https://parquet.apache.org/) is an open source, 
column-oriented data file format designed for efficient data storage and 
retrieval. It provides efficient data compression and encoding schemes with 
enhanced performance to handle complex data in bulk. The Apache Parquet 
implementation in Rust is one of the [fastest and most sophisticated 
](https://arrow.apache.org/blog/2022/12/26/querying-parquet-with-millisecond-latency/)
 open source implementations available.
+
+
+**Major Highlights**
+
+* **Arbitrarily Nested Schema**: Arbitrarily nested schemas can be read to and 
written from arrow, as described in the series of [blog 
posts](https://arrow.apache.org/blog/2022/10/05/arrow-parquet-encoding-part-1/) 
on the topic.
+* **Predicate Pushdown**: The [arrow 
reader](https://docs.rs/parquet/32.0.0/parquet/arrow/index.html) now supports 
advanced predicate pushdown, including late materialization, as described in a 
[the blog 
posts](https://arrow.apache.org/blog/2022/12/26/querying-parquet-with-millisecond-latency/).
 See 
[RowSelection](https://docs.rs/parquet/32.0.0/parquet/arrow/arrow_reader/struct.RowSelection.html)
 for the code.
+* **Bloom Filter Support**: Support for both [reading and writing bloom 
filters](https://docs.rs/parquet/32.0.0/parquet/bloom_filter/index.html) has 
been added.
+* **CLI Tools**: additional [CLI 
tools](https://github.com/apache/arrow-rs/tree/master/parquet/src/bin) have 
been added to introspect and manipulate parquet data.
+
+# Object Store
+
+Modern analytic workloads increasingly make use of blob storage facilities, 
such as S3, to store large volumes of queryable data. A native Rust object 
storage implementation that works well with the Rust Ecosystem and general and 
the Arrow IO abstractions, is an important building block for many applications.
+The [object_store](https://docs.rs/object_store/latest/object_store/) crate 
was [donated to the Apache Arrow project in July 
2022](https://www.influxdata.com/blog/rust-object-store-donation/) to fill this 
need, and while it follows a separate release schedule than the `arrow` and 
`parquet` crates, it forms an integral part of the overarching Arrow IO story.
+
+Recent improvements include the following:
+
+**Major Highlights**
+
+* **Streaming Upload**: Multipart uploads are now supported.
+* **Minimised dependency footprint**: Upstream SDKs are no longer used, 
improving consistency and reducing dependencies.
+* **HTTP / WebDAV Support**: Applications can access arbitrary HTTP servers 
supporting `WebDAV`.
+* **Configurable Networking**: Socks proxies, and advanced HTTP client 
configuration are now supported.
+* **Serializable Configuration**: Configuration information can now be easily 
serialized and deserialized.
+* **Configurable  Authentication**: Additional authentication options are now 
available for the various cloud providers.

Review Comment:
   ```suggestion
   * **Additional Authentication**: Additional authentication options are now 
available for the various cloud providers.
   ```
   It was configurable before, there is just now more, perhaps?



##########
_posts/2023-01-26-rust-32.0.0.md:
##########
@@ -0,0 +1,193 @@
+---
+layout: post
+title: "January 2023 Rust Apache Arrow Highlights"
+date: "2023-01-26 00:00:00 +0000"
+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 %}
+-->
+
+# Introduction
+
+With the recent release of [32.0.0](https://crates.io/crates/arrow/32.0.0) of 
the Rust implementation of [Apache Arrow](https://arrow.apache.org/), it seemed 
timely to highlight some of the communities work since the [last 
update](https://arrow.apache.org/blog/2022/06/16/rust-16.0.0/).
+
+The most recent list of detailed changes can always be found in the 
[CHANGELOG](https://github.com/apache/arrow-rs/blob/master/CHANGELOG.md), with 
the full historical list available 
[here](https://github.com/apache/arrow-rs/blob/master/CHANGELOG-old.md).
+
+# Arrow
+
+[arrow](https://crates.io/crates/arrow) and 
[arrow-flight](https://crates.io/crates/arrow-flight) are native Rust 
implementations of Apache Arrow. Apache Arrow defines a language-independent 
columnar memory format for flat and hierarchical data, organized for efficient 
analytic operations on modern hardware like CPUs and GPUs. The Arrow memory 
format also supports zero-copy reads for lightning-fast data access without 
serialization overhead.
+
+The [Rust language](https://www.rust-lang.org/) offers best in class 
performance,  memory safety, and the developer productivity of a modern 
programming language. These features make Rust an excellent choice for building 
modern high performance analytical systems. When combined, Rust and the Apache 
Arrow Ecosystem are a compelling toolkit for building the next generation of 
systems.
+
+The [repository](https://github.com/apache/arrow-rs) recently passed 1400 
stars on github, and the community has been focused on performance and feature 
completeness.
+
+
+**Major Highlights**
+
+* **New CSV and JSON Readers**: The CSV and JSON readers have been revamped. 
Their performance has more than doubled, and they now support push-driven 
parsing, and better streaming object storage integration.

Review Comment:
   ```suggestion
   * **New CSV and JSON Readers**: The CSV and JSON readers have been revamped. 
Their performance has more than doubled, and they now support push-driven 
parsing facilitating async streaming decode from object storage.
   ```
   
   I think we should highlight why you would care about push-driving parsing 
:smile: 



##########
_posts/2023-01-26-rust-32.0.0.md:
##########
@@ -0,0 +1,193 @@
+---
+layout: post
+title: "January 2023 Rust Apache Arrow Highlights"
+date: "2023-01-26 00:00:00 +0000"
+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 %}
+-->
+
+# Introduction
+
+With the recent release of [32.0.0](https://crates.io/crates/arrow/32.0.0) of 
the Rust implementation of [Apache Arrow](https://arrow.apache.org/), it seemed 
timely to highlight some of the communities work since the [last 
update](https://arrow.apache.org/blog/2022/06/16/rust-16.0.0/).
+
+The most recent list of detailed changes can always be found in the 
[CHANGELOG](https://github.com/apache/arrow-rs/blob/master/CHANGELOG.md), with 
the full historical list available 
[here](https://github.com/apache/arrow-rs/blob/master/CHANGELOG-old.md).
+
+# Arrow
+
+[arrow](https://crates.io/crates/arrow) and 
[arrow-flight](https://crates.io/crates/arrow-flight) are native Rust 
implementations of Apache Arrow. Apache Arrow defines a language-independent 
columnar memory format for flat and hierarchical data, organized for efficient 
analytic operations on modern hardware like CPUs and GPUs. The Arrow memory 
format also supports zero-copy reads for lightning-fast data access without 
serialization overhead.
+
+The [Rust language](https://www.rust-lang.org/) offers best in class 
performance,  memory safety, and the developer productivity of a modern 
programming language. These features make Rust an excellent choice for building 
modern high performance analytical systems. When combined, Rust and the Apache 
Arrow Ecosystem are a compelling toolkit for building the next generation of 
systems.
+
+The [repository](https://github.com/apache/arrow-rs) recently passed 1400 
stars on github, and the community has been focused on performance and feature 
completeness.
+
+
+**Major Highlights**
+
+* **New CSV and JSON Readers**: The CSV and JSON readers have been revamped. 
Their performance has more than doubled, and they now support push-driven 
parsing, and better streaming object storage integration.
+* **Faster Build Times and Reduced Codegen**: The `arrow` crate has been split 
into multiple smaller crates, and large kernels have been moved behind optional 
feature flags. These changes allow downstream projects to choose a smaller 
dependency footprint and build times, if desired.
+* **Support for Copy-On-Write**: Arrow arrays now support copy-on-write, via 
the 
[`into_builder`](https://docs.rs/arrow/32.0.0/arrow/array/struct.ArrayData.html#method.into_builder)
 methods
+* **Comparable Row Format**: [Much faster  multi-column Sorting and 
Grouping](https://arrow.apache.org/blog/2022/11/07/multi-column-sorts-in-arrow-rust-part-1/)
 is now possible with the the new spillable, comparable 
[row-format](https://docs.rs/arrow-row/32.0.0/arrow_row/index.html)
+* **FlightSQL Support**: 
[FlightSQL](https://arrow.apache.org/docs/format/FlightSql.html) 
[support](https://docs.rs/arrow-flight/32.0.0/arrow_flight/sql/index.html) has 
been expanded
+* **Mid-Level Flight Client**: A new 
[FlightClight](https://docs.rs/arrow-flight/32.0.0/arrow_flight/client/struct.FlightClient.html)
 is available that handles lower level protocol details, and easier to use 
[encoding](https://docs.rs/arrow-flight/32.0.0/arrow_flight/encode/struct.FlightDataEncoderBuilder.html)
 and  
[decoding](https://docs.rs/arrow-flight/32.0.0/arrow_flight/decode/struct.FlightDataDecoder.html)
 APIs.
+* **IPC File Compression**: Arrow IPC file 
[compression](https://docs.rs/arrow-ipc/32.0.0/arrow_ipc/gen/Message/struct.CompressionType.html)
 with ZSTD and LZ4 is now fully supported.
+* **Full Decimal Support**: 256-bit decimals and negative scales can be 
created and manipulated using many kernels, such as arithmetic.
+* **Improved Dictionary Support**: Dictionaries are now transparently 
supported in most kernels.
+* **Improved Temporal Support**: Timestamps with Timezones and other temporal 
types are supported in many more kernels.
+* **Improved Generics**: Improved generics allow writing code generic over all 
arrays, or all arrays with the same layout
+* **Downcast Macros**: Various 
[helper](https://docs.rs/arrow/32.0.0/arrow/macro.downcast_primitive_array.html)
 
[macros](https://docs.rs/arrow/32.0.0/arrow/macro.downcast_dictionary_array.html)
 are now available to simplify dynamic dispatch to statically typed 
implementations.
+
+# Parquet
+
+[Apache Parquet](https://parquet.apache.org/) is an open source, 
column-oriented data file format designed for efficient data storage and 
retrieval. It provides efficient data compression and encoding schemes with 
enhanced performance to handle complex data in bulk. The Apache Parquet 
implementation in Rust is one of the [fastest and most sophisticated 
](https://arrow.apache.org/blog/2022/12/26/querying-parquet-with-millisecond-latency/)
 open source implementations available.
+
+
+**Major Highlights**
+
+* **Arbitrarily Nested Schema**: Arbitrarily nested schemas can be read to and 
written from arrow, as described in the series of [blog 
posts](https://arrow.apache.org/blog/2022/10/05/arrow-parquet-encoding-part-1/) 
on the topic.
+* **Predicate Pushdown**: The [arrow 
reader](https://docs.rs/parquet/32.0.0/parquet/arrow/index.html) now supports 
advanced predicate pushdown, including late materialization, as described in a 
[the blog 
posts](https://arrow.apache.org/blog/2022/12/26/querying-parquet-with-millisecond-latency/).
 See 
[RowSelection](https://docs.rs/parquet/32.0.0/parquet/arrow/arrow_reader/struct.RowSelection.html)
 for the code.
+* **Bloom Filter Support**: Support for both [reading and writing bloom 
filters](https://docs.rs/parquet/32.0.0/parquet/bloom_filter/index.html) has 
been added.
+* **CLI Tools**: additional [CLI 
tools](https://github.com/apache/arrow-rs/tree/master/parquet/src/bin) have 
been added to introspect and manipulate parquet data.
+
+# Object Store
+
+Modern analytic workloads increasingly make use of blob storage facilities, 
such as S3, to store large volumes of queryable data. A native Rust object 
storage implementation that works well with the Rust Ecosystem and general and 
the Arrow IO abstractions, is an important building block for many applications.
+The [object_store](https://docs.rs/object_store/latest/object_store/) crate 
was [donated to the Apache Arrow project in July 
2022](https://www.influxdata.com/blog/rust-object-store-donation/) to fill this 
need, and while it follows a separate release schedule than the `arrow` and 
`parquet` crates, it forms an integral part of the overarching Arrow IO story.
+
+Recent improvements include the following:
+
+**Major Highlights**
+
+* **Streaming Upload**: Multipart uploads are now supported.
+* **Minimised dependency footprint**: Upstream SDKs are no longer used, 
improving consistency and reducing dependencies.
+* **HTTP / WebDAV Support**: Applications can access arbitrary HTTP servers 
supporting `WebDAV`.

Review Comment:
   ```suggestion
   * **HTTP / WebDAV Support**: Applications can read from arbitrary HTTP 
servers, with mutation and listing supported on WebDAV-compatible endpoints.
   ```
   To make it clearer that you can read from arbitrary HTTP servers, you only 
need WebDAV if you want to mutate



##########
_posts/2023-01-26-rust-32.0.0.md:
##########
@@ -0,0 +1,193 @@
+---
+layout: post
+title: "January 2023 Rust Apache Arrow Highlights"
+date: "2023-01-26 00:00:00 +0000"
+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 %}
+-->
+
+# Introduction
+
+With the recent release of [32.0.0](https://crates.io/crates/arrow/32.0.0) of 
the Rust implementation of [Apache Arrow](https://arrow.apache.org/), it seemed 
timely to highlight some of the communities work since the [last 
update](https://arrow.apache.org/blog/2022/06/16/rust-16.0.0/).
+
+The most recent list of detailed changes can always be found in the 
[CHANGELOG](https://github.com/apache/arrow-rs/blob/master/CHANGELOG.md), with 
the full historical list available 
[here](https://github.com/apache/arrow-rs/blob/master/CHANGELOG-old.md).
+
+# Arrow
+
+[arrow](https://crates.io/crates/arrow) and 
[arrow-flight](https://crates.io/crates/arrow-flight) are native Rust 
implementations of Apache Arrow. Apache Arrow defines a language-independent 
columnar memory format for flat and hierarchical data, organized for efficient 
analytic operations on modern hardware like CPUs and GPUs. The Arrow memory 
format also supports zero-copy reads for lightning-fast data access without 
serialization overhead.
+
+The [Rust language](https://www.rust-lang.org/) offers best in class 
performance,  memory safety, and the developer productivity of a modern 
programming language. These features make Rust an excellent choice for building 
modern high performance analytical systems. When combined, Rust and the Apache 
Arrow Ecosystem are a compelling toolkit for building the next generation of 
systems.
+
+The [repository](https://github.com/apache/arrow-rs) recently passed 1400 
stars on github, and the community has been focused on performance and feature 
completeness.
+
+
+**Major Highlights**
+
+* **New CSV and JSON Readers**: The CSV and JSON readers have been revamped. 
Their performance has more than doubled, and they now support push-driven 
parsing, and better streaming object storage integration.
+* **Faster Build Times and Reduced Codegen**: The `arrow` crate has been split 
into multiple smaller crates, and large kernels have been moved behind optional 
feature flags. These changes allow downstream projects to choose a smaller 
dependency footprint and build times, if desired.
+* **Support for Copy-On-Write**: Arrow arrays now support copy-on-write, via 
the 
[`into_builder`](https://docs.rs/arrow/32.0.0/arrow/array/struct.ArrayData.html#method.into_builder)
 methods
+* **Comparable Row Format**: [Much faster  multi-column Sorting and 
Grouping](https://arrow.apache.org/blog/2022/11/07/multi-column-sorts-in-arrow-rust-part-1/)
 is now possible with the the new spillable, comparable 
[row-format](https://docs.rs/arrow-row/32.0.0/arrow_row/index.html)
+* **FlightSQL Support**: 
[FlightSQL](https://arrow.apache.org/docs/format/FlightSql.html) 
[support](https://docs.rs/arrow-flight/32.0.0/arrow_flight/sql/index.html) has 
been expanded
+* **Mid-Level Flight Client**: A new 
[FlightClight](https://docs.rs/arrow-flight/32.0.0/arrow_flight/client/struct.FlightClient.html)
 is available that handles lower level protocol details, and easier to use 
[encoding](https://docs.rs/arrow-flight/32.0.0/arrow_flight/encode/struct.FlightDataEncoderBuilder.html)
 and  
[decoding](https://docs.rs/arrow-flight/32.0.0/arrow_flight/decode/struct.FlightDataDecoder.html)
 APIs.
+* **IPC File Compression**: Arrow IPC file 
[compression](https://docs.rs/arrow-ipc/32.0.0/arrow_ipc/gen/Message/struct.CompressionType.html)
 with ZSTD and LZ4 is now fully supported.
+* **Full Decimal Support**: 256-bit decimals and negative scales can be 
created and manipulated using many kernels, such as arithmetic.
+* **Improved Dictionary Support**: Dictionaries are now transparently 
supported in most kernels.
+* **Improved Temporal Support**: Timestamps with Timezones and other temporal 
types are supported in many more kernels.
+* **Improved Generics**: Improved generics allow writing code generic over all 
arrays, or all arrays with the same layout
+* **Downcast Macros**: Various 
[helper](https://docs.rs/arrow/32.0.0/arrow/macro.downcast_primitive_array.html)
 
[macros](https://docs.rs/arrow/32.0.0/arrow/macro.downcast_dictionary_array.html)
 are now available to simplify dynamic dispatch to statically typed 
implementations.
+
+# Parquet
+
+[Apache Parquet](https://parquet.apache.org/) is an open source, 
column-oriented data file format designed for efficient data storage and 
retrieval. It provides efficient data compression and encoding schemes with 
enhanced performance to handle complex data in bulk. The Apache Parquet 
implementation in Rust is one of the [fastest and most sophisticated 
](https://arrow.apache.org/blog/2022/12/26/querying-parquet-with-millisecond-latency/)
 open source implementations available.
+
+
+**Major Highlights**
+
+* **Arbitrarily Nested Schema**: Arbitrarily nested schemas can be read to and 
written from arrow, as described in the series of [blog 
posts](https://arrow.apache.org/blog/2022/10/05/arrow-parquet-encoding-part-1/) 
on the topic.
+* **Predicate Pushdown**: The [arrow 
reader](https://docs.rs/parquet/32.0.0/parquet/arrow/index.html) now supports 
advanced predicate pushdown, including late materialization, as described in a 
[the blog 
posts](https://arrow.apache.org/blog/2022/12/26/querying-parquet-with-millisecond-latency/).
 See 
[RowSelection](https://docs.rs/parquet/32.0.0/parquet/arrow/arrow_reader/struct.RowSelection.html)
 for the code.

Review Comment:
   ```suggestion
   * **Predicate Pushdown**: The [arrow 
reader](https://docs.rs/parquet/32.0.0/parquet/arrow/index.html) now supports 
advanced predicate pushdown, including late materialization, as described 
[here](https://arrow.apache.org/blog/2022/12/26/querying-parquet-with-millisecond-latency/).
 See 
[RowSelection](https://docs.rs/parquet/32.0.0/parquet/arrow/arrow_reader/struct.RowSelection.html)
 and 
[ArrowPredicate](https://docs.rs/parquet/32.0.0/parquet/arrow/arrow_reader/trait.ArrowPredicate.html).
   ```



##########
_posts/2023-01-26-rust-32.0.0.md:
##########
@@ -0,0 +1,193 @@
+---
+layout: post
+title: "January 2023 Rust Apache Arrow Highlights"
+date: "2023-01-26 00:00:00 +0000"
+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 %}
+-->
+
+# Introduction
+
+With the recent release of [32.0.0](https://crates.io/crates/arrow/32.0.0) of 
the Rust implementation of [Apache Arrow](https://arrow.apache.org/), it seemed 
timely to highlight some of the communities work since the [last 
update](https://arrow.apache.org/blog/2022/06/16/rust-16.0.0/).
+
+The most recent list of detailed changes can always be found in the 
[CHANGELOG](https://github.com/apache/arrow-rs/blob/master/CHANGELOG.md), with 
the full historical list available 
[here](https://github.com/apache/arrow-rs/blob/master/CHANGELOG-old.md).
+
+# Arrow
+
+[arrow](https://crates.io/crates/arrow) and 
[arrow-flight](https://crates.io/crates/arrow-flight) are native Rust 
implementations of Apache Arrow. Apache Arrow defines a language-independent 
columnar memory format for flat and hierarchical data, organized for efficient 
analytic operations on modern hardware like CPUs and GPUs. The Arrow memory 
format also supports zero-copy reads for lightning-fast data access without 
serialization overhead.
+
+The [Rust language](https://www.rust-lang.org/) offers best in class 
performance,  memory safety, and the developer productivity of a modern 
programming language. These features make Rust an excellent choice for building 
modern high performance analytical systems. When combined, Rust and the Apache 
Arrow Ecosystem are a compelling toolkit for building the next generation of 
systems.
+
+The [repository](https://github.com/apache/arrow-rs) recently passed 1400 
stars on github, and the community has been focused on performance and feature 
completeness.
+
+
+**Major Highlights**
+
+* **New CSV and JSON Readers**: The CSV and JSON readers have been revamped. 
Their performance has more than doubled, and they now support push-driven 
parsing, and better streaming object storage integration.
+* **Faster Build Times and Reduced Codegen**: The `arrow` crate has been split 
into multiple smaller crates, and large kernels have been moved behind optional 
feature flags. These changes allow downstream projects to choose a smaller 
dependency footprint and build times, if desired.
+* **Support for Copy-On-Write**: Arrow arrays now support copy-on-write, via 
the 
[`into_builder`](https://docs.rs/arrow/32.0.0/arrow/array/struct.ArrayData.html#method.into_builder)
 methods
+* **Comparable Row Format**: [Much faster  multi-column Sorting and 
Grouping](https://arrow.apache.org/blog/2022/11/07/multi-column-sorts-in-arrow-rust-part-1/)
 is now possible with the the new spillable, comparable 
[row-format](https://docs.rs/arrow-row/32.0.0/arrow_row/index.html)
+* **FlightSQL Support**: 
[FlightSQL](https://arrow.apache.org/docs/format/FlightSql.html) 
[support](https://docs.rs/arrow-flight/32.0.0/arrow_flight/sql/index.html) has 
been expanded
+* **Mid-Level Flight Client**: A new 
[FlightClight](https://docs.rs/arrow-flight/32.0.0/arrow_flight/client/struct.FlightClient.html)
 is available that handles lower level protocol details, and easier to use 
[encoding](https://docs.rs/arrow-flight/32.0.0/arrow_flight/encode/struct.FlightDataEncoderBuilder.html)
 and  
[decoding](https://docs.rs/arrow-flight/32.0.0/arrow_flight/decode/struct.FlightDataDecoder.html)
 APIs.
+* **IPC File Compression**: Arrow IPC file 
[compression](https://docs.rs/arrow-ipc/32.0.0/arrow_ipc/gen/Message/struct.CompressionType.html)
 with ZSTD and LZ4 is now fully supported.
+* **Full Decimal Support**: 256-bit decimals and negative scales can be 
created and manipulated using many kernels, such as arithmetic.
+* **Improved Dictionary Support**: Dictionaries are now transparently 
supported in most kernels.
+* **Improved Temporal Support**: Timestamps with Timezones and other temporal 
types are supported in many more kernels.
+* **Improved Generics**: Improved generics allow writing code generic over all 
arrays, or all arrays with the same layout
+* **Downcast Macros**: Various 
[helper](https://docs.rs/arrow/32.0.0/arrow/macro.downcast_primitive_array.html)
 
[macros](https://docs.rs/arrow/32.0.0/arrow/macro.downcast_dictionary_array.html)
 are now available to simplify dynamic dispatch to statically typed 
implementations.
+
+# Parquet
+
+[Apache Parquet](https://parquet.apache.org/) is an open source, 
column-oriented data file format designed for efficient data storage and 
retrieval. It provides efficient data compression and encoding schemes with 
enhanced performance to handle complex data in bulk. The Apache Parquet 
implementation in Rust is one of the [fastest and most sophisticated 
](https://arrow.apache.org/blog/2022/12/26/querying-parquet-with-millisecond-latency/)
 open source implementations available.
+
+
+**Major Highlights**
+
+* **Arbitrarily Nested Schema**: Arbitrarily nested schemas can be read to and 
written from arrow, as described in the series of [blog 
posts](https://arrow.apache.org/blog/2022/10/05/arrow-parquet-encoding-part-1/) 
on the topic.
+* **Predicate Pushdown**: The [arrow 
reader](https://docs.rs/parquet/32.0.0/parquet/arrow/index.html) now supports 
advanced predicate pushdown, including late materialization, as described in a 
[the blog 
posts](https://arrow.apache.org/blog/2022/12/26/querying-parquet-with-millisecond-latency/).
 See 
[RowSelection](https://docs.rs/parquet/32.0.0/parquet/arrow/arrow_reader/struct.RowSelection.html)
 for the code.
+* **Bloom Filter Support**: Support for both [reading and writing bloom 
filters](https://docs.rs/parquet/32.0.0/parquet/bloom_filter/index.html) has 
been added.
+* **CLI Tools**: additional [CLI 
tools](https://github.com/apache/arrow-rs/tree/master/parquet/src/bin) have 
been added to introspect and manipulate parquet data.
+
+# Object Store
+
+Modern analytic workloads increasingly make use of blob storage facilities, 
such as S3, to store large volumes of queryable data. A native Rust object 
storage implementation that works well with the Rust Ecosystem and general and 
the Arrow IO abstractions, is an important building block for many applications.

Review Comment:
   ```suggestion
   Modern analytic workloads increasingly make use of blob storage facilities, 
such as S3, to store large volumes of queryable data. A native Rust object 
storage implementation that works well with the Rust Ecosystem in general, and 
the Arrow IO abstractions, is an important building block for many applications.
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to