alamb commented on a change in pull request #201:
URL: https://github.com/apache/arrow-site/pull/201#discussion_r830451128



##########
File path: _posts/2022-03-16-datafusion-contrib.md
##########
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Introducing Apache Arrow DataFusion Contrib
+date: "2022-03-16 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 %}
+-->
+
+# Introduction
+
+[DataFusion](https://arrow.apache.org/datafusion/) is an extensible query 
execution framework, written in Rust, that uses Apache Arrow as its in-memory 
format.
+
+When you want to extend your Rust project with [SQL 
support](https://arrow.apache.org/datafusion/user-guide/sql/sql_status.html), a 
DataFrame API, or the ability to read and process Parquet, JSON, Avro or CSV 
data, DataFusion is definitely worth checking out.

Review comment:
       ```suggestion
   When you want to extend your Rust project with [SQL 
support](https://arrow.apache.org/datafusion/user-guide/sql/sql_status.html), a 
DataFrame API, or the ability to read and process Parquet, JSON, Avro or CSV 
data, DataFusion is definitely worth checking out. DataFusion's pluggable 
design makes creating extensions at various points particular easy to build.
   ```

##########
File path: _posts/2022-03-16-datafusion-contrib.md
##########
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Introducing Apache Arrow DataFusion Contrib
+date: "2022-03-16 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 %}
+-->
+
+# Introduction
+
+[DataFusion](https://arrow.apache.org/datafusion/) is an extensible query 
execution framework, written in Rust, that uses Apache Arrow as its in-memory 
format.
+
+When you want to extend your Rust project with [SQL 
support](https://arrow.apache.org/datafusion/user-guide/sql/sql_status.html), a 
DataFrame API, or the ability to read and process Parquet, JSON, Avro or CSV 
data, DataFusion is definitely worth checking out.
+
+DataFusion's  SQL, `DataFrame`, and manual `PlanBuilder` API let users access 
a sophisticated query optimizer and execution engine capable of fast, resource 
efficient, and parallel execution that takes optimal advantage of todays 
multicore hardware. Being written in Rust means DataFusion can offer *both* the 
safety of dynamic languages as well as the resource efficiency of a compiled 
language.
+
+The Apache Arrow DataFusion team is pleased to announce the creation of the 
[DataFusion-Contrib](https://github.com/datafusion-contrib) GitHub 
organization.  This organization was created to provide an unofficial testing 
ground for new DataFusion features and as home for extensions to the core 
DataFusion project.  There are currently five active repositories within this 
organization which are summarized below.
+
+## DataFusion-Python
+
+This [project](https://github.com/datafusion-contrib/datafusion-python) 
provides Python bindings to the core Rust implementation of DataFusion.  It 
already provides many core methods for working with DataFusion such as:
+
+- Work with a SQL or DataFrame API for creating query plans, executing them in 
a multi-threaded environment, and returning results in Python
+- Creation of User Defined Functions and User Defined Aggregate Functions for 
complex operations
+- Provides zero copy between Python and underlying Rust based execution engine
+
+### Upcoming enhancements
+
+Going forward there will be a focus on exposing more features from the 
underlying Rust implementation of DataFusion and improving documentation.

Review comment:
       ```suggestion
   The team is focusing on exposing more features from the underlying Rust 
implementation of DataFusion and improving documentation.
   ```

##########
File path: _posts/2022-03-16-datafusion-contrib.md
##########
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Introducing Apache Arrow DataFusion Contrib
+date: "2022-03-16 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 %}
+-->
+
+# Introduction
+
+[DataFusion](https://arrow.apache.org/datafusion/) is an extensible query 
execution framework, written in Rust, that uses Apache Arrow as its in-memory 
format.
+
+When you want to extend your Rust project with [SQL 
support](https://arrow.apache.org/datafusion/user-guide/sql/sql_status.html), a 
DataFrame API, or the ability to read and process Parquet, JSON, Avro or CSV 
data, DataFusion is definitely worth checking out.
+
+DataFusion's  SQL, `DataFrame`, and manual `PlanBuilder` API let users access 
a sophisticated query optimizer and execution engine capable of fast, resource 
efficient, and parallel execution that takes optimal advantage of todays 
multicore hardware. Being written in Rust means DataFusion can offer *both* the 
safety of dynamic languages as well as the resource efficiency of a compiled 
language.
+
+The Apache Arrow DataFusion team is pleased to announce the creation of the 
[DataFusion-Contrib](https://github.com/datafusion-contrib) GitHub 
organization.  This organization was created to provide an unofficial testing 
ground for new DataFusion features and as home for extensions to the core 
DataFusion project.  There are currently five active repositories within this 
organization which are summarized below.

Review comment:
       ```suggestion
   The DataFusion team is pleased to announce the creation of the 
[DataFusion-Contrib](https://github.com/datafusion-contrib) GitHub organization 
to support and accelerate other projects.  While the core DataFusion library 
remains under Apache governance, the contrib organization provides a more 
flexible testing ground for new DataFusion features and a home for DataFusion 
extensions.
   
   There are currently several active repositories within this organization 
which are summarized below.
   ```

##########
File path: _posts/2022-03-16-datafusion-contrib.md
##########
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Introducing Apache Arrow DataFusion Contrib
+date: "2022-03-16 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 %}
+-->
+
+# Introduction
+
+[DataFusion](https://arrow.apache.org/datafusion/) is an extensible query 
execution framework, written in Rust, that uses Apache Arrow as its in-memory 
format.
+
+When you want to extend your Rust project with [SQL 
support](https://arrow.apache.org/datafusion/user-guide/sql/sql_status.html), a 
DataFrame API, or the ability to read and process Parquet, JSON, Avro or CSV 
data, DataFusion is definitely worth checking out.
+
+DataFusion's  SQL, `DataFrame`, and manual `PlanBuilder` API let users access 
a sophisticated query optimizer and execution engine capable of fast, resource 
efficient, and parallel execution that takes optimal advantage of todays 
multicore hardware. Being written in Rust means DataFusion can offer *both* the 
safety of dynamic languages as well as the resource efficiency of a compiled 
language.
+
+The Apache Arrow DataFusion team is pleased to announce the creation of the 
[DataFusion-Contrib](https://github.com/datafusion-contrib) GitHub 
organization.  This organization was created to provide an unofficial testing 
ground for new DataFusion features and as home for extensions to the core 
DataFusion project.  There are currently five active repositories within this 
organization which are summarized below.
+
+## DataFusion-Python
+
+This [project](https://github.com/datafusion-contrib/datafusion-python) 
provides Python bindings to the core Rust implementation of DataFusion.  It 
already provides many core methods for working with DataFusion such as:
+
+- Work with a SQL or DataFrame API for creating query plans, executing them in 
a multi-threaded environment, and returning results in Python
+- Creation of User Defined Functions and User Defined Aggregate Functions for 
complex operations
+- Provides zero copy between Python and underlying Rust based execution engine
+
+### Upcoming enhancements
+
+Going forward there will be a focus on exposing more features from the 
underlying Rust implementation of DataFusion and improving documentation.
+
+### How to install
+
+From `pip`
+
+```bash
+pip install datafusion
+```
+
+Or
+
+```bash
+python -m pip install datafusion
+```
+
+## DataFusion-ObjectStore-S3
+
+This [crate](https://github.com/datafusion-contrib/datafusion-objectstore-s3) 
provides an `ObjectStore` implementation for querying data stored in S3 or S3 
compatible storage.
+
+- Ability to create `S3FileSystem` to register as part of DataFusion 
`ExecutionContext`
+- Register files or directories stored on S3 with `ctx.register_listing_table`
+
+### Upcoming enhancements
+
+The current priority is adding python bindings for `S3FileSystem`.  After that 
there will be async improvements as DataFusion adopts more of that 
functionality and we are looking into S3 Select functionality.
+
+### How to Install
+
+Add the below to your `Cargo.toml` in your Rust Project with DataFusion.
+
+```toml
+datafusion-objectstore-s3 = "0.1.0"
+```
+
+## DataFusion-Substrait
+
+Substrait provides a cross-language serialization format for relational 
algebra, based on protocol buffers.
+
+This [crate](https://github.com/datafusion-contrib/datafusion-substrait) 
provides a Substrait producer and consumer for DataFusion.  A producer converts 
a DataFusion logical plan into a Substrait protobuf and a consumer does the 
reverse.
+
+Examples of how to use this crate can be found 
[here](https://github.com/datafusion-contrib/datafusion-substrait/blob/main/src/lib.rs).
+
+### Potential Use Cases
+
+- Replace current DataFusion protobuf definition used in Ballista for passing 
query plan fragments to executors.
+- Make it easier to pass query plans over FFI boundaries, such as from Python 
to Rust
+- Allow Apache Calcite query plans to be executed in DataFusion
+
+## DataFusion-BigTable
+
+This [crate](https://github.com/datafusion-contrib/datafusion-bigtable) 
implements [Bigtable](https://cloud.google.com/bigtable) as a data source and 
physical executor for DataFusion queries.  It currently supports both UTF-8 
string and 64-bit big-endian signed integers in Bigtable.  From a SQL 
perspective it supports both simple and composite row keys with `=`, `IN`, and 
`BETWEEN` operators as well as projection pushdown.  The physical execution for 
queries is handled by this crate while any subsequent aggregation, group bys, 
or joins are handled in DataFusion.
+
+### Upcoming Enhancements
+
+- Predicate pushdown
+  - Value range
+  - Value Regex
+  - Timestamp range
+- Multithreaded
+- Partition aware execution
+- Production ready
+
+### How to Install
+
+Add the below to your `Cargo.toml` in your Rust Project with DataFusion.
+
+```toml
+datafusion-bigtable = "0.1.0"
+```
+
+## DataFusion-HDFS
+
+This 
[crate](https://github.com/datafusion-contrib/datafusion-objectstore-hdfs) 
introduces `HadoopFileSystem` as a remote `ObjectStore` which provides the 
ability to query HDFS files.  For HDFS access the 
[fs-hdfs](https://github.com/yahoNanJing/fs-hdfs) library is used.
+
+## DataFusion-Tokomak
+
+This [crate](https://github.com/datafusion-contrib/datafusion-tokomak) 
provides an e-graph based DataFusion optimization framework based on the Rust 
[egg](https://egraphs-good.github.io) library.  An e-graph is a data structure 
that powers the equality saturation optimization technique.
+
+As context, the optimizer framework within DataFusion is currently under 
review with the objective of implementing a more strategic long term solution 
that is more efficient and simpler to develop.
+
+Some of the benefits of using `egg` within DataFusion are:
+
+- Implements optimized algorithms that are hard to match with manually written 
optimization passes
+- Makes it easy and less verbose to add optimization rules
+- Plugin framework to add more complex optimizations
+- Egg does not depend on rule order and can lead to a higher level of 
optimization by being able to apply multiple rules at the same time until it 
converges
+- Allows for cost-based optimizations
+
+This is an exciting new area for DataFusion with lots of opportunity for 
community involvement!
+
+## DataFusion-Tui
+
+[DataFusion-tui](https://github.com/datafusion-contrib/datafusion-tui) aka 
`dft` provides a feature rich terminal application for using DataFusion.  It 
has drawn inspiration and several features from `datafusion-cli`.  In contrast 
to `datafusion-cli` the objective of this tool is to provide a light SQL IDE 
experience for querying data with DataFusion.  This includes features such as 
the following which are currently implemented:
+
+- Tab Management to provide clean and structured organization of DataFusion 
queries, results, `ExecutionContext` information, and logs
+  - SQL Editor
+    - Text editor for writing SQL queries
+  - Query History
+    - History of executed queries, their execution time, and the number of 
returned rows
+  - `ExecutionContext` information
+    - Expose information on which physical optimizers are used and which 
`ExecutionConfig` settings are set
+  - Logs
+    - Logs from `dft`, DataFusion, and any dependent libraries
+- Support for custom `ObjectStore`s
+  - S3
+- Preload DDL from `~/.datafusionrc` to enable having local "database" 
available at startup
+
+### Upcoming Enhancements
+
+- SQL Editor
+  - Command to write query results to file
+  - Multiple SQL editor tabs
+- Expose more information from `ExecutionContext`
+- A new help tab that provides information on functions
+- Query custom `TableProvider`s such as 
[DeltaTable](https://github.com/delta-io/delta-rs) or 
[BigTable](https://github.com/datafusion-contrib/datafusion-bigtable)
+
+## DataFusion-Java
+
+This [project](https://github.com/datafusion-contrib/datafusion-java) created 
an initial set of Java bindings to DataFusion.  The project is currently in 
maintenance mode and is looking for maintainers to drive future development.
+
+# How to Get Involved
+
+If you are interested in contributing to DataFusion, and learning about state 
of

Review comment:
       I feel like we should plug / suggest how to add new community 
contributions here too 🤔  

##########
File path: _posts/2022-03-16-datafusion-contrib.md
##########
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Introducing Apache Arrow DataFusion Contrib
+date: "2022-03-16 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 %}
+-->
+
+# Introduction
+
+[DataFusion](https://arrow.apache.org/datafusion/) is an extensible query 
execution framework, written in Rust, that uses Apache Arrow as its in-memory 
format.

Review comment:
       ```suggestion
   Apache Arrow [DataFusion](https://arrow.apache.org/datafusion/) is an 
extensible query execution framework, written in Rust, that uses [Apache 
Arrow](https://arrow.apache.org) as its in-memory format.
   ```

##########
File path: _posts/2022-03-16-datafusion-contrib.md
##########
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Introducing Apache Arrow DataFusion Contrib
+date: "2022-03-16 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 %}
+-->
+
+# Introduction
+
+[DataFusion](https://arrow.apache.org/datafusion/) is an extensible query 
execution framework, written in Rust, that uses Apache Arrow as its in-memory 
format.
+
+When you want to extend your Rust project with [SQL 
support](https://arrow.apache.org/datafusion/user-guide/sql/sql_status.html), a 
DataFrame API, or the ability to read and process Parquet, JSON, Avro or CSV 
data, DataFusion is definitely worth checking out.
+
+DataFusion's  SQL, `DataFrame`, and manual `PlanBuilder` API let users access 
a sophisticated query optimizer and execution engine capable of fast, resource 
efficient, and parallel execution that takes optimal advantage of todays 
multicore hardware. Being written in Rust means DataFusion can offer *both* the 
safety of dynamic languages as well as the resource efficiency of a compiled 
language.
+
+The Apache Arrow DataFusion team is pleased to announce the creation of the 
[DataFusion-Contrib](https://github.com/datafusion-contrib) GitHub 
organization.  This organization was created to provide an unofficial testing 
ground for new DataFusion features and as home for extensions to the core 
DataFusion project.  There are currently five active repositories within this 
organization which are summarized below.
+
+## DataFusion-Python
+
+This [project](https://github.com/datafusion-contrib/datafusion-python) 
provides Python bindings to the core Rust implementation of DataFusion.  It 
already provides many core methods for working with DataFusion such as:
+
+- Work with a SQL or DataFrame API for creating query plans, executing them in 
a multi-threaded environment, and returning results in Python
+- Creation of User Defined Functions and User Defined Aggregate Functions for 
complex operations
+- Provides zero copy between Python and underlying Rust based execution engine
+
+### Upcoming enhancements
+
+Going forward there will be a focus on exposing more features from the 
underlying Rust implementation of DataFusion and improving documentation.
+
+### How to install
+
+From `pip`
+
+```bash
+pip install datafusion
+```
+
+Or
+
+```bash
+python -m pip install datafusion
+```
+
+## DataFusion-ObjectStore-S3
+
+This [crate](https://github.com/datafusion-contrib/datafusion-objectstore-s3) 
provides an `ObjectStore` implementation for querying data stored in S3 or S3 
compatible storage.

Review comment:
       ```suggestion
   This 
[crate](https://github.com/datafusion-contrib/datafusion-objectstore-s3) 
provides an `ObjectStore` implementation for querying data stored in S3 or S3 
compatible storage. This makes it almost as easy to query data that lives on S3 
as lives in local files
   ```

##########
File path: _posts/2022-03-16-datafusion-contrib.md
##########
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Introducing Apache Arrow DataFusion Contrib
+date: "2022-03-16 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 %}
+-->
+
+# Introduction
+
+[DataFusion](https://arrow.apache.org/datafusion/) is an extensible query 
execution framework, written in Rust, that uses Apache Arrow as its in-memory 
format.
+
+When you want to extend your Rust project with [SQL 
support](https://arrow.apache.org/datafusion/user-guide/sql/sql_status.html), a 
DataFrame API, or the ability to read and process Parquet, JSON, Avro or CSV 
data, DataFusion is definitely worth checking out.
+
+DataFusion's  SQL, `DataFrame`, and manual `PlanBuilder` API let users access 
a sophisticated query optimizer and execution engine capable of fast, resource 
efficient, and parallel execution that takes optimal advantage of todays 
multicore hardware. Being written in Rust means DataFusion can offer *both* the 
safety of dynamic languages as well as the resource efficiency of a compiled 
language.
+
+The Apache Arrow DataFusion team is pleased to announce the creation of the 
[DataFusion-Contrib](https://github.com/datafusion-contrib) GitHub 
organization.  This organization was created to provide an unofficial testing 
ground for new DataFusion features and as home for extensions to the core 
DataFusion project.  There are currently five active repositories within this 
organization which are summarized below.
+
+## DataFusion-Python
+
+This [project](https://github.com/datafusion-contrib/datafusion-python) 
provides Python bindings to the core Rust implementation of DataFusion.  It 
already provides many core methods for working with DataFusion such as:
+
+- Work with a SQL or DataFrame API for creating query plans, executing them in 
a multi-threaded environment, and returning results in Python
+- Creation of User Defined Functions and User Defined Aggregate Functions for 
complex operations
+- Provides zero copy between Python and underlying Rust based execution engine
+
+### Upcoming enhancements
+
+Going forward there will be a focus on exposing more features from the 
underlying Rust implementation of DataFusion and improving documentation.
+
+### How to install
+
+From `pip`
+
+```bash
+pip install datafusion
+```
+
+Or
+
+```bash
+python -m pip install datafusion
+```
+
+## DataFusion-ObjectStore-S3
+
+This [crate](https://github.com/datafusion-contrib/datafusion-objectstore-s3) 
provides an `ObjectStore` implementation for querying data stored in S3 or S3 
compatible storage.
+
+- Ability to create `S3FileSystem` to register as part of DataFusion 
`ExecutionContext`
+- Register files or directories stored on S3 with `ctx.register_listing_table`
+
+### Upcoming enhancements
+
+The current priority is adding python bindings for `S3FileSystem`.  After that 
there will be async improvements as DataFusion adopts more of that 
functionality and we are looking into S3 Select functionality.
+
+### How to Install
+
+Add the below to your `Cargo.toml` in your Rust Project with DataFusion.
+
+```toml
+datafusion-objectstore-s3 = "0.1.0"
+```
+
+## DataFusion-Substrait
+
+Substrait provides a cross-language serialization format for relational 
algebra, based on protocol buffers.

Review comment:
       ```suggestion
   [Substrait](https://substrait.io/) is an emerging standard that provides a 
cross-language serialization format for relational algebra (e.g. expressions 
and query plans).
   ```

##########
File path: _posts/2022-03-16-datafusion-contrib.md
##########
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Introducing Apache Arrow DataFusion Contrib
+date: "2022-03-16 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 %}
+-->
+
+# Introduction
+
+[DataFusion](https://arrow.apache.org/datafusion/) is an extensible query 
execution framework, written in Rust, that uses Apache Arrow as its in-memory 
format.
+
+When you want to extend your Rust project with [SQL 
support](https://arrow.apache.org/datafusion/user-guide/sql/sql_status.html), a 
DataFrame API, or the ability to read and process Parquet, JSON, Avro or CSV 
data, DataFusion is definitely worth checking out.
+
+DataFusion's  SQL, `DataFrame`, and manual `PlanBuilder` API let users access 
a sophisticated query optimizer and execution engine capable of fast, resource 
efficient, and parallel execution that takes optimal advantage of todays 
multicore hardware. Being written in Rust means DataFusion can offer *both* the 
safety of dynamic languages as well as the resource efficiency of a compiled 
language.
+
+The Apache Arrow DataFusion team is pleased to announce the creation of the 
[DataFusion-Contrib](https://github.com/datafusion-contrib) GitHub 
organization.  This organization was created to provide an unofficial testing 
ground for new DataFusion features and as home for extensions to the core 
DataFusion project.  There are currently five active repositories within this 
organization which are summarized below.
+
+## DataFusion-Python
+
+This [project](https://github.com/datafusion-contrib/datafusion-python) 
provides Python bindings to the core Rust implementation of DataFusion.  It 
already provides many core methods for working with DataFusion such as:
+
+- Work with a SQL or DataFrame API for creating query plans, executing them in 
a multi-threaded environment, and returning results in Python
+- Creation of User Defined Functions and User Defined Aggregate Functions for 
complex operations

Review comment:
       ```suggestion
   - Create User Defined Functions and User Defined Aggregate Functions for 
complex operations
   ```

##########
File path: _posts/2022-03-16-datafusion-contrib.md
##########
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Introducing Apache Arrow DataFusion Contrib
+date: "2022-03-16 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 %}
+-->
+
+# Introduction
+
+[DataFusion](https://arrow.apache.org/datafusion/) is an extensible query 
execution framework, written in Rust, that uses Apache Arrow as its in-memory 
format.
+
+When you want to extend your Rust project with [SQL 
support](https://arrow.apache.org/datafusion/user-guide/sql/sql_status.html), a 
DataFrame API, or the ability to read and process Parquet, JSON, Avro or CSV 
data, DataFusion is definitely worth checking out.
+
+DataFusion's  SQL, `DataFrame`, and manual `PlanBuilder` API let users access 
a sophisticated query optimizer and execution engine capable of fast, resource 
efficient, and parallel execution that takes optimal advantage of todays 
multicore hardware. Being written in Rust means DataFusion can offer *both* the 
safety of dynamic languages as well as the resource efficiency of a compiled 
language.
+
+The Apache Arrow DataFusion team is pleased to announce the creation of the 
[DataFusion-Contrib](https://github.com/datafusion-contrib) GitHub 
organization.  This organization was created to provide an unofficial testing 
ground for new DataFusion features and as home for extensions to the core 
DataFusion project.  There are currently five active repositories within this 
organization which are summarized below.
+
+## DataFusion-Python
+
+This [project](https://github.com/datafusion-contrib/datafusion-python) 
provides Python bindings to the core Rust implementation of DataFusion.  It 
already provides many core methods for working with DataFusion such as:

Review comment:
       ```suggestion
   This [project](https://github.com/datafusion-contrib/datafusion-python) 
provides Python bindings to the core Rust implementation of DataFusion, which 
allows users to:
   ```

##########
File path: _posts/2022-03-16-datafusion-contrib.md
##########
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Introducing Apache Arrow DataFusion Contrib
+date: "2022-03-16 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 %}
+-->
+
+# Introduction
+
+[DataFusion](https://arrow.apache.org/datafusion/) is an extensible query 
execution framework, written in Rust, that uses Apache Arrow as its in-memory 
format.
+
+When you want to extend your Rust project with [SQL 
support](https://arrow.apache.org/datafusion/user-guide/sql/sql_status.html), a 
DataFrame API, or the ability to read and process Parquet, JSON, Avro or CSV 
data, DataFusion is definitely worth checking out.
+
+DataFusion's  SQL, `DataFrame`, and manual `PlanBuilder` API let users access 
a sophisticated query optimizer and execution engine capable of fast, resource 
efficient, and parallel execution that takes optimal advantage of todays 
multicore hardware. Being written in Rust means DataFusion can offer *both* the 
safety of dynamic languages as well as the resource efficiency of a compiled 
language.
+
+The Apache Arrow DataFusion team is pleased to announce the creation of the 
[DataFusion-Contrib](https://github.com/datafusion-contrib) GitHub 
organization.  This organization was created to provide an unofficial testing 
ground for new DataFusion features and as home for extensions to the core 
DataFusion project.  There are currently five active repositories within this 
organization which are summarized below.
+
+## DataFusion-Python
+
+This [project](https://github.com/datafusion-contrib/datafusion-python) 
provides Python bindings to the core Rust implementation of DataFusion.  It 
already provides many core methods for working with DataFusion such as:
+
+- Work with a SQL or DataFrame API for creating query plans, executing them in 
a multi-threaded environment, and returning results in Python
+- Creation of User Defined Functions and User Defined Aggregate Functions for 
complex operations
+- Provides zero copy between Python and underlying Rust based execution engine

Review comment:
       ```suggestion
   - Pay no overhead to copy between Python and underlying Rust execution 
engine (by way of Apache Arrow arrays)
   ```

##########
File path: _posts/2022-03-16-datafusion-contrib.md
##########
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Introducing Apache Arrow DataFusion Contrib
+date: "2022-03-16 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 %}
+-->
+
+# Introduction
+
+[DataFusion](https://arrow.apache.org/datafusion/) is an extensible query 
execution framework, written in Rust, that uses Apache Arrow as its in-memory 
format.
+
+When you want to extend your Rust project with [SQL 
support](https://arrow.apache.org/datafusion/user-guide/sql/sql_status.html), a 
DataFrame API, or the ability to read and process Parquet, JSON, Avro or CSV 
data, DataFusion is definitely worth checking out.
+
+DataFusion's  SQL, `DataFrame`, and manual `PlanBuilder` API let users access 
a sophisticated query optimizer and execution engine capable of fast, resource 
efficient, and parallel execution that takes optimal advantage of todays 
multicore hardware. Being written in Rust means DataFusion can offer *both* the 
safety of dynamic languages as well as the resource efficiency of a compiled 
language.
+
+The Apache Arrow DataFusion team is pleased to announce the creation of the 
[DataFusion-Contrib](https://github.com/datafusion-contrib) GitHub 
organization.  This organization was created to provide an unofficial testing 
ground for new DataFusion features and as home for extensions to the core 
DataFusion project.  There are currently five active repositories within this 
organization which are summarized below.
+
+## DataFusion-Python
+
+This [project](https://github.com/datafusion-contrib/datafusion-python) 
provides Python bindings to the core Rust implementation of DataFusion.  It 
already provides many core methods for working with DataFusion such as:
+
+- Work with a SQL or DataFrame API for creating query plans, executing them in 
a multi-threaded environment, and returning results in Python

Review comment:
       ```suggestion
   - Work with familiar SQL or DataFrame APIs to run queries in a safe, 
multi-threaded environment, returning results in Python
   ```

##########
File path: _posts/2022-03-16-datafusion-contrib.md
##########
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Introducing Apache Arrow DataFusion Contrib
+date: "2022-03-16 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 %}
+-->
+
+# Introduction
+
+[DataFusion](https://arrow.apache.org/datafusion/) is an extensible query 
execution framework, written in Rust, that uses Apache Arrow as its in-memory 
format.
+
+When you want to extend your Rust project with [SQL 
support](https://arrow.apache.org/datafusion/user-guide/sql/sql_status.html), a 
DataFrame API, or the ability to read and process Parquet, JSON, Avro or CSV 
data, DataFusion is definitely worth checking out.
+
+DataFusion's  SQL, `DataFrame`, and manual `PlanBuilder` API let users access 
a sophisticated query optimizer and execution engine capable of fast, resource 
efficient, and parallel execution that takes optimal advantage of todays 
multicore hardware. Being written in Rust means DataFusion can offer *both* the 
safety of dynamic languages as well as the resource efficiency of a compiled 
language.
+
+The Apache Arrow DataFusion team is pleased to announce the creation of the 
[DataFusion-Contrib](https://github.com/datafusion-contrib) GitHub 
organization.  This organization was created to provide an unofficial testing 
ground for new DataFusion features and as home for extensions to the core 
DataFusion project.  There are currently five active repositories within this 
organization which are summarized below.
+
+## DataFusion-Python
+
+This [project](https://github.com/datafusion-contrib/datafusion-python) 
provides Python bindings to the core Rust implementation of DataFusion.  It 
already provides many core methods for working with DataFusion such as:
+
+- Work with a SQL or DataFrame API for creating query plans, executing them in 
a multi-threaded environment, and returning results in Python
+- Creation of User Defined Functions and User Defined Aggregate Functions for 
complex operations
+- Provides zero copy between Python and underlying Rust based execution engine
+
+### Upcoming enhancements
+
+Going forward there will be a focus on exposing more features from the 
underlying Rust implementation of DataFusion and improving documentation.
+
+### How to install
+
+From `pip`
+
+```bash
+pip install datafusion
+```
+
+Or
+
+```bash
+python -m pip install datafusion
+```
+
+## DataFusion-ObjectStore-S3
+
+This [crate](https://github.com/datafusion-contrib/datafusion-objectstore-s3) 
provides an `ObjectStore` implementation for querying data stored in S3 or S3 
compatible storage.
+
+- Ability to create `S3FileSystem` to register as part of DataFusion 
`ExecutionContext`
+- Register files or directories stored on S3 with `ctx.register_listing_table`
+
+### Upcoming enhancements
+
+The current priority is adding python bindings for `S3FileSystem`.  After that 
there will be async improvements as DataFusion adopts more of that 
functionality and we are looking into S3 Select functionality.
+
+### How to Install
+
+Add the below to your `Cargo.toml` in your Rust Project with DataFusion.
+
+```toml
+datafusion-objectstore-s3 = "0.1.0"
+```
+
+## DataFusion-Substrait
+
+Substrait provides a cross-language serialization format for relational 
algebra, based on protocol buffers.
+
+This [crate](https://github.com/datafusion-contrib/datafusion-substrait) 
provides a Substrait producer and consumer for DataFusion.  A producer converts 
a DataFusion logical plan into a Substrait protobuf and a consumer does the 
reverse.
+
+Examples of how to use this crate can be found 
[here](https://github.com/datafusion-contrib/datafusion-substrait/blob/main/src/lib.rs).
+
+### Potential Use Cases
+
+- Replace current DataFusion protobuf definition used in Ballista for passing 
query plan fragments to executors.

Review comment:
       ```suggestion
   - Replace custom DataFusion protobuf serialization.
   - Ecosystem interoperability: DataFusion can run plans produced by other 
query engines, and visa versa
   ```

##########
File path: _posts/2022-03-16-datafusion-contrib.md
##########
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Introducing Apache Arrow DataFusion Contrib
+date: "2022-03-16 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 %}
+-->
+
+# Introduction
+
+[DataFusion](https://arrow.apache.org/datafusion/) is an extensible query 
execution framework, written in Rust, that uses Apache Arrow as its in-memory 
format.
+
+When you want to extend your Rust project with [SQL 
support](https://arrow.apache.org/datafusion/user-guide/sql/sql_status.html), a 
DataFrame API, or the ability to read and process Parquet, JSON, Avro or CSV 
data, DataFusion is definitely worth checking out.
+
+DataFusion's  SQL, `DataFrame`, and manual `PlanBuilder` API let users access 
a sophisticated query optimizer and execution engine capable of fast, resource 
efficient, and parallel execution that takes optimal advantage of todays 
multicore hardware. Being written in Rust means DataFusion can offer *both* the 
safety of dynamic languages as well as the resource efficiency of a compiled 
language.
+
+The Apache Arrow DataFusion team is pleased to announce the creation of the 
[DataFusion-Contrib](https://github.com/datafusion-contrib) GitHub 
organization.  This organization was created to provide an unofficial testing 
ground for new DataFusion features and as home for extensions to the core 
DataFusion project.  There are currently five active repositories within this 
organization which are summarized below.
+
+## DataFusion-Python
+
+This [project](https://github.com/datafusion-contrib/datafusion-python) 
provides Python bindings to the core Rust implementation of DataFusion.  It 
already provides many core methods for working with DataFusion such as:
+
+- Work with a SQL or DataFrame API for creating query plans, executing them in 
a multi-threaded environment, and returning results in Python
+- Creation of User Defined Functions and User Defined Aggregate Functions for 
complex operations
+- Provides zero copy between Python and underlying Rust based execution engine
+
+### Upcoming enhancements
+
+Going forward there will be a focus on exposing more features from the 
underlying Rust implementation of DataFusion and improving documentation.
+
+### How to install
+
+From `pip`
+
+```bash
+pip install datafusion
+```
+
+Or
+
+```bash
+python -m pip install datafusion
+```
+
+## DataFusion-ObjectStore-S3
+
+This [crate](https://github.com/datafusion-contrib/datafusion-objectstore-s3) 
provides an `ObjectStore` implementation for querying data stored in S3 or S3 
compatible storage.
+
+- Ability to create `S3FileSystem` to register as part of DataFusion 
`ExecutionContext`
+- Register files or directories stored on S3 with `ctx.register_listing_table`
+
+### Upcoming enhancements
+
+The current priority is adding python bindings for `S3FileSystem`.  After that 
there will be async improvements as DataFusion adopts more of that 
functionality and we are looking into S3 Select functionality.
+
+### How to Install
+
+Add the below to your `Cargo.toml` in your Rust Project with DataFusion.
+
+```toml
+datafusion-objectstore-s3 = "0.1.0"
+```
+
+## DataFusion-Substrait
+
+Substrait provides a cross-language serialization format for relational 
algebra, based on protocol buffers.
+
+This [crate](https://github.com/datafusion-contrib/datafusion-substrait) 
provides a Substrait producer and consumer for DataFusion.  A producer converts 
a DataFusion logical plan into a Substrait protobuf and a consumer does the 
reverse.
+
+Examples of how to use this crate can be found 
[here](https://github.com/datafusion-contrib/datafusion-substrait/blob/main/src/lib.rs).
+
+### Potential Use Cases
+
+- Replace current DataFusion protobuf definition used in Ballista for passing 
query plan fragments to executors.
+- Make it easier to pass query plans over FFI boundaries, such as from Python 
to Rust
+- Allow Apache Calcite query plans to be executed in DataFusion
+
+## DataFusion-BigTable
+
+This [crate](https://github.com/datafusion-contrib/datafusion-bigtable) 
implements [Bigtable](https://cloud.google.com/bigtable) as a data source and 
physical executor for DataFusion queries.  It currently supports both UTF-8 
string and 64-bit big-endian signed integers in Bigtable.  From a SQL 
perspective it supports both simple and composite row keys with `=`, `IN`, and 
`BETWEEN` operators as well as projection pushdown.  The physical execution for 
queries is handled by this crate while any subsequent aggregation, group bys, 
or joins are handled in DataFusion.
+
+### Upcoming Enhancements
+
+- Predicate pushdown
+  - Value range
+  - Value Regex
+  - Timestamp range
+- Multithreaded
+- Partition aware execution
+- Production ready
+
+### How to Install
+
+Add the below to your `Cargo.toml` in your Rust Project with DataFusion.
+
+```toml
+datafusion-bigtable = "0.1.0"
+```
+
+## DataFusion-HDFS
+
+This 
[crate](https://github.com/datafusion-contrib/datafusion-objectstore-hdfs) 
introduces `HadoopFileSystem` as a remote `ObjectStore` which provides the 
ability to query HDFS files.  For HDFS access the 
[fs-hdfs](https://github.com/yahoNanJing/fs-hdfs) library is used.
+
+## DataFusion-Tokomak
+
+This [crate](https://github.com/datafusion-contrib/datafusion-tokomak) 
provides an e-graph based DataFusion optimization framework based on the Rust 
[egg](https://egraphs-good.github.io) library.  An e-graph is a data structure 
that powers the equality saturation optimization technique.
+
+As context, the optimizer framework within DataFusion is currently under 
review with the objective of implementing a more strategic long term solution 
that is more efficient and simpler to develop.

Review comment:
       ```suggestion
   As context, the optimizer framework within DataFusion is currently [under 
review](https://github.com/apache/arrow-datafusion/issues/1972) with the 
objective of implementing a more strategic long term solution that is more 
efficient and simpler to develop.
   ```

##########
File path: _posts/2022-03-16-datafusion-contrib.md
##########
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Introducing Apache Arrow DataFusion Contrib
+date: "2022-03-16 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 %}
+-->
+
+# Introduction
+
+[DataFusion](https://arrow.apache.org/datafusion/) is an extensible query 
execution framework, written in Rust, that uses Apache Arrow as its in-memory 
format.
+
+When you want to extend your Rust project with [SQL 
support](https://arrow.apache.org/datafusion/user-guide/sql/sql_status.html), a 
DataFrame API, or the ability to read and process Parquet, JSON, Avro or CSV 
data, DataFusion is definitely worth checking out.

Review comment:
       I thought maybe setting up the "DataFusion is extensible" would motivate 
the project some more as well as highlight another benefit of DataFusion




-- 
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