This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 25fedb5 Updating built site (build
8b65ef4cca454979abc8af8d802c7691ee803b32)
25fedb5 is described below
commit 25fedb51241ffeb1c52b839cb28a48244c239aad
Author: Neal Richardson <[email protected]>
AuthorDate: Fri Oct 23 15:24:31 2020 +0000
Updating built site (build 8b65ef4cca454979abc8af8d802c7691ee803b32)
---
...manifest-59b8ad9b3f186aacb3e1ce1050f0c6bf.json} | 2 +-
blog/2020/10/22/2.0.0-release/index.html | 423 +++++++++++++++++++++
blog/index.html | 15 +
feed.xml | 371 ++++++++----------
4 files changed, 606 insertions(+), 205 deletions(-)
diff --git a/assets/.sprockets-manifest-1cfd625f166867f000a50a1d51a6ddd3.json
b/assets/.sprockets-manifest-59b8ad9b3f186aacb3e1ce1050f0c6bf.json
similarity index 79%
rename from assets/.sprockets-manifest-1cfd625f166867f000a50a1d51a6ddd3.json
rename to assets/.sprockets-manifest-59b8ad9b3f186aacb3e1ce1050f0c6bf.json
index 4fd2c9c..b2136bb 100644
--- a/assets/.sprockets-manifest-1cfd625f166867f000a50a1d51a6ddd3.json
+++ b/assets/.sprockets-manifest-59b8ad9b3f186aacb3e1ce1050f0c6bf.json
@@ -1 +1 @@
-{"files":{"main-18cd3029557f73c1ee82e41113127b04f6fcd84c56d9db0cb9c40ebe26ef6e33.js":{"logical_path":"main.js","mtime":"2020-10-21T10:04:17-04:00","size":124531,"digest":"18cd3029557f73c1ee82e41113127b04f6fcd84c56d9db0cb9c40ebe26ef6e33","integrity":"sha256-GM0wKVV/c8HuguQRExJ7BPb82ExW2dsMucQOvibvbjM="}},"assets":{"main.js":"main-18cd3029557f73c1ee82e41113127b04f6fcd84c56d9db0cb9c40ebe26ef6e33.js"}}
\ No newline at end of file
+{"files":{"main-18cd3029557f73c1ee82e41113127b04f6fcd84c56d9db0cb9c40ebe26ef6e33.js":{"logical_path":"main.js","mtime":"2020-10-23T11:24:18-04:00","size":124531,"digest":"18cd3029557f73c1ee82e41113127b04f6fcd84c56d9db0cb9c40ebe26ef6e33","integrity":"sha256-GM0wKVV/c8HuguQRExJ7BPb82ExW2dsMucQOvibvbjM="}},"assets":{"main.js":"main-18cd3029557f73c1ee82e41113127b04f6fcd84c56d9db0cb9c40ebe26ef6e33.js"}}
\ No newline at end of file
diff --git a/blog/2020/10/22/2.0.0-release/index.html
b/blog/2020/10/22/2.0.0-release/index.html
new file mode 100644
index 0000000..c4196ed
--- /dev/null
+++ b/blog/2020/10/22/2.0.0-release/index.html
@@ -0,0 +1,423 @@
+<!DOCTYPE html>
+<html lang="en-US">
+ <head>
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <!-- The above meta tags *must* come first in the head; any other head
content must come *after* these tags -->
+
+ <title>Apache Arrow 2.0.0 Release | Apache Arrow</title>
+
+
+ <!-- Begin Jekyll SEO tag v2.7.1 -->
+<meta name="generator" content="Jekyll v3.8.4" />
+<meta property="og:title" content="Apache Arrow 2.0.0 Release" />
+<meta name="author" content="pmc" />
+<meta property="og:locale" content="en_US" />
+<meta name="description" content="The Apache Arrow team is pleased to announce
the 2.0.0 release. This covers over 3 months of development work and includes
511 resolved issues from 81 distinct contributors. See the Install Page to
learn how to get the libraries for your platform. The release notes below are
not exhaustive and only expose selected highlights of the release. Many other
bugfixes and improvements have been made: we refer you to the complete
changelog. Community Since the 1. [...]
+<meta property="og:description" content="The Apache Arrow team is pleased to
announce the 2.0.0 release. This covers over 3 months of development work and
includes 511 resolved issues from 81 distinct contributors. See the Install
Page to learn how to get the libraries for your platform. The release notes
below are not exhaustive and only expose selected highlights of the release.
Many other bugfixes and improvements have been made: we refer you to the
complete changelog. Community Since [...]
+<link rel="canonical"
href="https://arrow.apache.org/blog/2020/10/22/2.0.0-release/" />
+<meta property="og:url"
content="https://arrow.apache.org/blog/2020/10/22/2.0.0-release/" />
+<meta property="og:site_name" content="Apache Arrow" />
+<meta property="og:image" content="https://arrow.apache.org/img/arrow.png" />
+<meta property="og:type" content="article" />
+<meta property="article:published_time" content="2020-10-22T02:00:00-04:00" />
+<meta name="twitter:card" content="summary_large_image" />
+<meta property="twitter:image"
content="https://arrow.apache.org/img/arrow.png" />
+<meta property="twitter:title" content="Apache Arrow 2.0.0 Release" />
+<meta name="twitter:site" content="@ApacheArrow" />
+<meta name="twitter:creator" content="@pmc" />
+<script type="application/ld+json">
+{"image":"https://arrow.apache.org/img/arrow.png","@type":"BlogPosting","url":"https://arrow.apache.org/blog/2020/10/22/2.0.0-release/","headline":"Apache
Arrow 2.0.0
Release","dateModified":"2020-10-22T02:00:00-04:00","datePublished":"2020-10-22T02:00:00-04:00","author":{"@type":"Person","name":"pmc"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://arrow.apache.org/blog/2020/10/22/2.0.0-release/"},"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://arro
[...]
+<!-- End Jekyll SEO tag -->
+
+
+ <!-- favicons -->
+ <link rel="icon" type="image/png" sizes="16x16"
href="/img/favicon-16x16.png" id="light1">
+ <link rel="icon" type="image/png" sizes="32x32"
href="/img/favicon-32x32.png" id="light2">
+ <link rel="apple-touch-icon" type="image/png" sizes="180x180"
href="/img/apple-touch-icon.png" id="light3">
+ <link rel="apple-touch-icon" type="image/png" sizes="120x120"
href="/img/apple-touch-icon-120x120.png" id="light4">
+ <link rel="apple-touch-icon" type="image/png" sizes="76x76"
href="/img/apple-touch-icon-76x76.png" id="light5">
+ <link rel="apple-touch-icon" type="image/png" sizes="60x60"
href="/img/apple-touch-icon-60x60.png" id="light6">
+ <!-- dark mode favicons -->
+ <link rel="icon" type="image/png" sizes="16x16"
href="/img/favicon-16x16-dark.png" id="dark1">
+ <link rel="icon" type="image/png" sizes="32x32"
href="/img/favicon-32x32-dark.png" id="dark2">
+ <link rel="apple-touch-icon" type="image/png" sizes="180x180"
href="/img/apple-touch-icon-dark.png" id="dark3">
+ <link rel="apple-touch-icon" type="image/png" sizes="120x120"
href="/img/apple-touch-icon-120x120-dark.png" id="dark4">
+ <link rel="apple-touch-icon" type="image/png" sizes="76x76"
href="/img/apple-touch-icon-76x76-dark.png" id="dark5">
+ <link rel="apple-touch-icon" type="image/png" sizes="60x60"
href="/img/apple-touch-icon-60x60-dark.png" id="dark6">
+
+ <script>
+ // Switch to the dark-mode favicons if prefers-color-scheme: dark
+ function onUpdate() {
+ light1 = document.querySelector('link#light1');
+ light2 = document.querySelector('link#light2');
+ light3 = document.querySelector('link#light3');
+ light4 = document.querySelector('link#light4');
+ light5 = document.querySelector('link#light5');
+ light6 = document.querySelector('link#light6');
+
+ dark1 = document.querySelector('link#dark1');
+ dark2 = document.querySelector('link#dark2');
+ dark3 = document.querySelector('link#dark3');
+ dark4 = document.querySelector('link#dark4');
+ dark5 = document.querySelector('link#dark5');
+ dark6 = document.querySelector('link#dark6');
+
+ if (matcher.matches) {
+ light1.remove();
+ light2.remove();
+ light3.remove();
+ light4.remove();
+ light5.remove();
+ light6.remove();
+ document.head.append(dark1);
+ document.head.append(dark2);
+ document.head.append(dark3);
+ document.head.append(dark4);
+ document.head.append(dark5);
+ document.head.append(dark6);
+ } else {
+ dark1.remove();
+ dark2.remove();
+ dark3.remove();
+ dark4.remove();
+ dark5.remove();
+ dark6.remove();
+ document.head.append(light1);
+ document.head.append(light2);
+ document.head.append(light3);
+ document.head.append(light4);
+ document.head.append(light5);
+ document.head.append(light6);
+ }
+ }
+ matcher = window.matchMedia('(prefers-color-scheme: dark)');
+ matcher.addListener(onUpdate);
+ onUpdate();
+ </script>
+
+ <link rel="stylesheet"
href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
+
+ <link href="/css/main.css" rel="stylesheet">
+ <link href="/css/syntax.css" rel="stylesheet">
+ <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous"></script>
+ <script
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin="anonymous"></script>
+
+ <!-- Global Site Tag (gtag.js) - Google Analytics -->
+<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-107500873-1"></script>
+<script>
+ window.dataLayer = window.dataLayer || [];
+ function gtag(){dataLayer.push(arguments)};
+ gtag('js', new Date());
+
+ gtag('config', 'UA-107500873-1');
+</script>
+
+
+ </head>
+
+
+<body class="wrap">
+ <header>
+ <nav class="navbar navbar-expand-md navbar-dark bg-dark">
+
+ <a class="navbar-brand no-padding" href="/"><img
src="/img/arrow-inverse-300px.png" height="40px"/></a>
+
+ <button class="navbar-toggler ml-auto" type="button" data-toggle="collapse"
data-target="#arrow-navbar" aria-controls="arrow-navbar" aria-expanded="false"
aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+
+ <!-- Collect the nav links, forms, and other content for toggling -->
+ <div class="collapse navbar-collapse justify-content-end"
id="arrow-navbar">
+ <ul class="nav navbar-nav">
+ <li class="nav-item"><a class="nav-link" href="/overview/"
role="button" aria-haspopup="true" aria-expanded="false">Overview</a></li>
+ <li class="nav-item"><a class="nav-link" href="/faq/" role="button"
aria-haspopup="true" aria-expanded="false">FAQ</a></li>
+ <li class="nav-item"><a class="nav-link" href="/blog" role="button"
aria-haspopup="true" aria-expanded="false">Blog</a></li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#"
+ id="navbarDropdownGetArrow" role="button" data-toggle="dropdown"
+ aria-haspopup="true" aria-expanded="false">
+ Get Arrow
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownGetArrow">
+ <a class="dropdown-item" href="/install/">Install</a>
+ <a class="dropdown-item" href="/release/">Releases</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow">Source Code</a>
+ </div>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#"
+ id="navbarDropdownDocumentation" role="button"
data-toggle="dropdown"
+ aria-haspopup="true" aria-expanded="false">
+ Documentation
+ </a>
+ <div class="dropdown-menu"
aria-labelledby="navbarDropdownDocumentation">
+ <a class="dropdown-item" href="/docs">Project Docs</a>
+ <a class="dropdown-item"
href="/docs/format/Columnar.html">Format</a>
+ <hr/>
+ <a class="dropdown-item" href="/docs/c_glib">C GLib</a>
+ <a class="dropdown-item" href="/docs/cpp">C++</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow/blob/master/csharp/README.md">C#</a>
+ <a class="dropdown-item"
href="https://godoc.org/github.com/apache/arrow/go/arrow">Go</a>
+ <a class="dropdown-item" href="/docs/java">Java</a>
+ <a class="dropdown-item" href="/docs/js">JavaScript</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow/blob/master/matlab/README.md">MATLAB</a>
+ <a class="dropdown-item" href="/docs/python">Python</a>
+ <a class="dropdown-item" href="/docs/r">R</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow/blob/master/ruby/README.md">Ruby</a>
+ <a class="dropdown-item"
href="https://docs.rs/crate/arrow/">Rust</a>
+ </div>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#"
+ id="navbarDropdownCommunity" role="button" data-toggle="dropdown"
+ aria-haspopup="true" aria-expanded="false">
+ Community
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownCommunity">
+ <a class="dropdown-item" href="/community/">Communication</a>
+ <a class="dropdown-item"
href="/docs/developers/contributing.html">Contributing</a>
+ <a class="dropdown-item"
href="https://issues.apache.org/jira/browse/ARROW">Issue Tracker</a>
+ <a class="dropdown-item" href="/committers/">Governance</a>
+ <a class="dropdown-item" href="/use_cases/">Use Cases</a>
+ <a class="dropdown-item" href="/powered_by/">Powered By</a>
+ <a class="dropdown-item" href="/security/">Security</a>
+ <a class="dropdown-item"
href="https://www.apache.org/foundation/policies/conduct.html">Code of
Conduct</a>
+ </div>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#"
+ id="navbarDropdownASF" role="button" data-toggle="dropdown"
+ aria-haspopup="true" aria-expanded="false">
+ ASF Links
+ </a>
+ <div class="dropdown-menu dropdown-menu-right"
aria-labelledby="navbarDropdownASF">
+ <a class="dropdown-item" href="http://www.apache.org/">ASF
Website</a>
+ <a class="dropdown-item"
href="http://www.apache.org/licenses/">License</a>
+ <a class="dropdown-item"
href="http://www.apache.org/foundation/sponsorship.html">Donate</a>
+ <a class="dropdown-item"
href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+ <a class="dropdown-item"
href="http://www.apache.org/security/">Security</a>
+ </div>
+ </li>
+ </ul>
+ </div><!-- /.navbar-collapse -->
+ </nav>
+
+ </header>
+
+ <div class="container p-4 pt-5">
+ <div class="col-md-8 mx-auto">
+ <main role="main" class="pb-5">
+
+<h1>
+ Apache Arrow 2.0.0 Release
+</h1>
+<hr class="mt-4 mb-3">
+
+
+
+<p class="mb-4 pb-1">
+ <span class="badge badge-secondary">Published</span>
+ <span class="published mr-3">
+ 22 Oct 2020
+ </span>
+ <br />
+ <span class="badge badge-secondary">By</span>
+
+ <a class="mr-3" href="https://arrow.apache.org">The Apache Arrow PMC (pmc)
</a>
+
+
+
+</p>
+
+
+ <!--
+
+-->
+
+<p>The Apache Arrow team is pleased to announce the 2.0.0 release. This covers
+over 3 months of development work and includes <a
href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20ARROW%20AND%20status%20%3D%20Resolved%20AND%20fixVersion%20%3D%202.0.0"><strong>511
resolved issues</strong></a>
+from <a href="/release/2.0.0.html#contributors"><strong>81 distinct
contributors</strong></a>. See the Install Page to learn how to
+get the libraries for your platform.</p>
+
+<p>The release notes below are not exhaustive and only expose selected
highlights
+of the release. Many other bugfixes and improvements have been made: we refer
+you to the <a href="/release/2.0.0.html">complete changelog</a>.</p>
+
+<h2 id="community">Community</h2>
+
+<p>Since the 1.0.0 release, <a href="https://github.com/jorgecarleitao">Jorge
Leitão</a> has been added as a committer. Thank
+you for your contributions!</p>
+
+<h2 id="columnar-format">Columnar Format</h2>
+
+<p>As this is the first major release since 1.0.0, we remind everyone that we
have
+moved to a “split” versioning system where the Library version (which is now
+2.0.0) will now evolve separate from the Format version (which is still
+1.0.0). Major releases of the libraries may contain non-backward-compatible API
+changes, but they will not contain any incompatible format changes. See the
+<a href="http://arrow.apache.org/docs/format/Versioning.html">Versioning and
Stability</a> page in the documentation for more.</p>
+
+<p>The columnar format metadata has been updated to permit 256-bit decimal
values
+in addition to 128-bit decimals. This change is backward and forward
+compatible.</p>
+
+<h2 id="arrow-flight-rpc-notes">Arrow Flight RPC notes</h2>
+
+<p>For Arrow Flight, 2.0.0 mostly brings bugfixes. In Java, some memory leaks
in
+<code class="highlighter-rouge">FlightStream</code> and <code
class="highlighter-rouge">DoPut</code> have been addressed. In C++ and Python,
a deadlock
+has been fixed in an edge case. Additionally, when supported by gRPC, TLS
+verification can be disabled.</p>
+
+<h2 id="c-notes">C++ notes</h2>
+
+<p>Parquet reading now fully supports round trip of arbitrarily nested data,
+including extension types with a nested storage type. In the process, several
+bugs in writing nested data and FixedSizeList were fixed. If writing data with
+these type we recommend upgrading to this release and validating old data as
+there is potential data loss.</p>
+
+<p>Datasets can now be written with partitions, including these features:</p>
+
+<ul>
+ <li>Writing to Parquet, including control over accumulation of statistics for
+individual columns.</li>
+ <li>Writing to IPC/Feather, including body buffer compression.</li>
+ <li>Basenames of written files can be specified with a string template,
allowing
+non-colliding writes into the same partitioned dataset.</li>
+</ul>
+
+<p>Other notable features in the release include</p>
+
+<ul>
+ <li>Compute kernels for standard deviation, variance, and mode</li>
+ <li>Improvements to S3 support, including automatic region detection</li>
+ <li>CSV reading now parses Date type and creating Dictionary types</li>
+</ul>
+
+<h2 id="c-notes-1">C# notes</h2>
+
+<p>The .NET package has added a number of new features this release.</p>
+
+<p>Full support for <code class="highlighter-rouge">Struct</code> types.</p>
+
+<p>Synchronous write APIs for <code
class="highlighter-rouge">ArrowStreamWriter</code> and <code
class="highlighter-rouge">ArrowFileWriter</code>. These are
+complimentary to the existing async write APIs, and can be used in situations
+where the async APIs can’t be used.</p>
+
+<p>The ability to use <code class="highlighter-rouge">DateTime</code>
instances with <code class="highlighter-rouge">Date32Array</code> and <code
class="highlighter-rouge">Date64Array</code>.</p>
+
+<h2 id="java-notes">Java notes</h2>
+
+<p>The Java package has supported a number of new features. Users can validate
+vectors in a wider range of aspects, if they are willing to take more time. In
+dictionary encoding, dictionary indices can be expressed as unsigned integers.
+A framework for data compression has been setup for IPC.</p>
+
+<p>The calculation for vector capacity has been simplified, so users should
+experience notable performance improvements for various ‘setSafe’ methods.</p>
+
+<p>Bugs for JDBC adapters, sort algorithms, and ComplexCopier have been
resolved
+to make them more usable.</p>
+
+<h2 id="javascript-notes">JavaScript notes</h2>
+
+<p>Upgrades Arrow’s build to use TypeScript 3.9, fixing generated <code
class="highlighter-rouge">.d.ts</code> typings.</p>
+
+<h2 id="python-notes">Python notes</h2>
+
+<p>Parquet reading now supports round trip of arbitrarily nested data. Several
bug
+fixes for writing nested data and FixedSizeList. If writing data with these
+type we recommend validating old data (there is potential some data loss) and
+upgrade to 2.0.</p>
+
+<p>Extension types with a nested storage type now round trip through
Parquet.</p>
+
+<p>The <code class="highlighter-rouge">pyarrow.filesystem</code> submodule is
deprecated in favor of new filesystem
+implementations in <code class="highlighter-rouge">pyarrow.fs</code>.</p>
+
+<p>The custom serialization functionality (<code
class="highlighter-rouge">pyarrow.serialize()</code>,
+<code class="highlighter-rouge">pyarrow.deserialize()</code>, etc) is
deprecated. Those functions provided a
+Python-specific (not cross-language) serialization format which were not
+compatible with the standardized Arrow (IPC) serialization format. For
+arbitrary objects, you can use the standard library <code
class="highlighter-rouge">pickle</code> functionality
+instead. For pyarrow objects, you can use the IPC serialization format through
+the <code class="highlighter-rouge">pyarrow.ipc</code> module, as explained
above.</p>
+
+<p>The <code class="highlighter-rouge">pyarrow.compute</code> module now has a
complete coverage of the available C++
+compute kernels in the python API. Several new kernels have been added.</p>
+
+<p>The <code class="highlighter-rouge">pyarrow.dataset</code> module was
further improved. In addition to reading, it
+is now also possible to write partitioned datasets (with <code
class="highlighter-rouge">write_dataset()</code>).</p>
+
+<p>The Arrow <-> Python conversion code was refactored, fixing several
bugs and
+corner cases.</p>
+
+<p>Conversion of an array of <code
class="highlighter-rouge">pyarrow.MapType</code> to Pandas has been added.</p>
+
+<p>Conversion of timezone aware datetimes to and/from pyarrow arrays including
+pandas now round-trip preserving timezone. To use the old behavior (e.g. for
+spark) set the environment variable PYARROW_IGNORE_TIMEZONE to a truthy value
+(i.e. <code class="highlighter-rouge">PYARROW_IGNORE_TIMEZONE=1</code>)</p>
+
+<h2 id="r-notes">R notes</h2>
+
+<p>Highlights of the R release include</p>
+
+<ul>
+ <li>Writing multi-file datasets with partitioning to Parquet or Feather</li>
+ <li>Reading and writing directly to AWS S3, both individual files and
multi-file
+datasets</li>
+ <li>Bindings for Flight which use reticulate</li>
+</ul>
+
+<p>In addition, the R package benefits from the various improvements in the C++
+library listed above, including the ability to read and write Parquet files
+with nested struct and list types.</p>
+
+<p>For more on what’s in the 2.0.0 R package, see the <a
href="/docs/r/news/">R changelog</a>.</p>
+
+<h2 id="ruby-and-c-glib-notes">Ruby and C GLib notes</h2>
+
+<h3 id="ruby">Ruby</h3>
+
+<p>In Ruby binding, <code class="highlighter-rouge">Arrow::Table#save</code>
uses the number of rows as the
+<code class="highlighter-rouge">chunk_size</code> parameter by default when
the table is saved in a Parquet file.</p>
+
+<h3 id="c-glib">C GLib</h3>
+
+<p>The GLib binding newly supports <code
class="highlighter-rouge">GArrowStringDictionaryArrayBuilder</code> and
+<code class="highlighter-rouge">GArrowBinaryDictionaryArrayBuilder</code>.</p>
+
+<p>Moreover the GLib binding supports new accessors of <code
class="highlighter-rouge">GArrowListArray</code> and
+<code class="highlighter-rouge">GArrowLargeListArray</code>. They are <code
class="highlighter-rouge">get_values</code>, <code
class="highlighter-rouge">get_value_offset</code>,
+<code class="highlighter-rouge">get_value_length</code>, and <code
class="highlighter-rouge">get_value_offsets</code>.</p>
+
+<h2 id="rust-notes">Rust notes</h2>
+
+<p>Due to the high volume of activity in the Rust subproject in this release,
+we’re writing a separate blog post dedicated to those changes.</p>
+
+
+ </main>
+ </div>
+
+ <hr/>
+<footer class="footer">
+ <div class="row">
+ <div class="col-md-9">
+ <p>Apache Arrow, Arrow, Apache, the Apache feather logo, and the Apache
Arrow project logo are either registered trademarks or trademarks of The Apache
Software Foundation in the United States and other countries.</p>
+ <p>© 2016-2020 The Apache Software Foundation</p>
+ </div>
+ <div class="col-md-3">
+ <a class="d-sm-none d-md-inline pr-2"
href="https://www.apache.org/events/current-event.html">
+ <img src="https://www.apache.org/events/current-event-234x60.png"/>
+ </a>
+ </div>
+ <script type="text/javascript"
src="/assets/main-18cd3029557f73c1ee82e41113127b04f6fcd84c56d9db0cb9c40ebe26ef6e33.js"
integrity="sha256-GM0wKVV/c8HuguQRExJ7BPb82ExW2dsMucQOvibvbjM="
crossorigin="anonymous"></script>
+</footer>
+
+ </div>
+</body>
+</html>
diff --git a/blog/index.html b/blog/index.html
index b43dd33..eb7d72a 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -215,6 +215,21 @@
<p>
<h3>
+ <a href="/blog/2020/10/22/2.0.0-release/">Apache Arrow 2.0.0 Release</a>
+ </h3>
+
+ <p>
+ <span class="blog-list-date">
+ 22 October 2020
+ </span>
+ </p>
+ The Apache Arrow team is pleased to announce the 2.0.0 release. This
covers over 3 months of development work and includes 511 resolved issues from
81 distinct contributors. See the Install Page to learn how to get the
libraries for your platform. The release notes below are not exhaustive and...
+ </p>
+
+
+
+ <p>
+ <h3>
<a href="/blog/2020/07/29/cpp-build-simplification/">Making Arrow C++
Builds Simpler, Smaller, and Faster</a>
</h3>
diff --git a/feed.xml b/feed.xml
index 7e1249b..06f0caf 100644
--- a/feed.xml
+++ b/feed.xml
@@ -1,4 +1,169 @@
-<?xml version="1.0" encoding="utf-8"?><feed
xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/"
version="3.8.4">Jekyll</generator><link
href="https://arrow.apache.org/feed.xml" rel="self" type="application/atom+xml"
/><link href="https://arrow.apache.org/" rel="alternate" type="text/html"
/><updated>2020-10-21T10:04:08-04:00</updated><id>https://arrow.apache.org/feed.xml</id><title
type="html">Apache Arrow</title><subtitle>Apache Arrow is a cross-language
developm [...]
+<?xml version="1.0" encoding="utf-8"?><feed
xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/"
version="3.8.4">Jekyll</generator><link
href="https://arrow.apache.org/feed.xml" rel="self" type="application/atom+xml"
/><link href="https://arrow.apache.org/" rel="alternate" type="text/html"
/><updated>2020-10-23T11:24:09-04:00</updated><id>https://arrow.apache.org/feed.xml</id><title
type="html">Apache Arrow</title><subtitle>Apache Arrow is a cross-language
developm [...]
+
+-->
+
+<p>The Apache Arrow team is pleased to announce the 2.0.0 release. This
covers
+over 3 months of development work and includes <a
href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20ARROW%20AND%20status%20%3D%20Resolved%20AND%20fixVersion%20%3D%202.0.0"><strong>511
resolved issues</strong></a>
+from <a
href="/release/2.0.0.html#contributors"><strong>81 distinct
contributors</strong></a>. See the Install Page to learn how to
+get the libraries for your platform.</p>
+
+<p>The release notes below are not exhaustive and only expose selected
highlights
+of the release. Many other bugfixes and improvements have been made: we refer
+you to the <a href="/release/2.0.0.html">complete
changelog</a>.</p>
+
+<h2 id="community">Community</h2>
+
+<p>Since the 1.0.0 release, <a
href="https://github.com/jorgecarleitao">Jorge Leitão</a>
has been added as a committer. Thank
+you for your contributions!</p>
+
+<h2 id="columnar-format">Columnar Format</h2>
+
+<p>As this is the first major release since 1.0.0, we remind everyone
that we have
+moved to a “split” versioning system where the Library version (which is now
+2.0.0) will now evolve separate from the Format version (which is still
+1.0.0). Major releases of the libraries may contain non-backward-compatible API
+changes, but they will not contain any incompatible format changes. See the
+<a
href="http://arrow.apache.org/docs/format/Versioning.html">Versioning
and Stability</a> page in the documentation for more.</p>
+
+<p>The columnar format metadata has been updated to permit 256-bit
decimal values
+in addition to 128-bit decimals. This change is backward and forward
+compatible.</p>
+
+<h2 id="arrow-flight-rpc-notes">Arrow Flight RPC
notes</h2>
+
+<p>For Arrow Flight, 2.0.0 mostly brings bugfixes. In Java, some memory
leaks in
+<code class="highlighter-rouge">FlightStream</code> and
<code class="highlighter-rouge">DoPut</code> have been
addressed. In C++ and Python, a deadlock
+has been fixed in an edge case. Additionally, when supported by gRPC, TLS
+verification can be disabled.</p>
+
+<h2 id="c-notes">C++ notes</h2>
+
+<p>Parquet reading now fully supports round trip of arbitrarily nested
data,
+including extension types with a nested storage type. In the process, several
+bugs in writing nested data and FixedSizeList were fixed. If writing data with
+these type we recommend upgrading to this release and validating old data as
+there is potential data loss.</p>
+
+<p>Datasets can now be written with partitions, including these
features:</p>
+
+<ul>
+ <li>Writing to Parquet, including control over accumulation of
statistics for
+individual columns.</li>
+ <li>Writing to IPC/Feather, including body buffer
compression.</li>
+ <li>Basenames of written files can be specified with a string
template, allowing
+non-colliding writes into the same partitioned dataset.</li>
+</ul>
+
+<p>Other notable features in the release include</p>
+
+<ul>
+ <li>Compute kernels for standard deviation, variance, and
mode</li>
+ <li>Improvements to S3 support, including automatic region
detection</li>
+ <li>CSV reading now parses Date type and creating Dictionary
types</li>
+</ul>
+
+<h2 id="c-notes-1">C# notes</h2>
+
+<p>The .NET package has added a number of new features this
release.</p>
+
+<p>Full support for <code
class="highlighter-rouge">Struct</code> types.</p>
+
+<p>Synchronous write APIs for <code
class="highlighter-rouge">ArrowStreamWriter</code> and
<code class="highlighter-rouge">ArrowFileWriter</code>.
These are
+complimentary to the existing async write APIs, and can be used in situations
+where the async APIs can’t be used.</p>
+
+<p>The ability to use <code
class="highlighter-rouge">DateTime</code> instances with
<code class="highlighter-rouge">Date32Array</code> and
<code
class="highlighter-rouge">Date64Array</code>.</p>
+
+<h2 id="java-notes">Java notes</h2>
+
+<p>The Java package has supported a number of new features. Users can
validate
+vectors in a wider range of aspects, if they are willing to take more time. In
+dictionary encoding, dictionary indices can be expressed as unsigned integers.
+A framework for data compression has been setup for IPC.</p>
+
+<p>The calculation for vector capacity has been simplified, so users
should
+experience notable performance improvements for various ‘setSafe’
methods.</p>
+
+<p>Bugs for JDBC adapters, sort algorithms, and ComplexCopier have been
resolved
+to make them more usable.</p>
+
+<h2 id="javascript-notes">JavaScript notes</h2>
+
+<p>Upgrades Arrow’s build to use TypeScript 3.9, fixing generated
<code class="highlighter-rouge">.d.ts</code>
typings.</p>
+
+<h2 id="python-notes">Python notes</h2>
+
+<p>Parquet reading now supports round trip of arbitrarily nested data.
Several bug
+fixes for writing nested data and FixedSizeList. If writing data with these
+type we recommend validating old data (there is potential some data loss) and
+upgrade to 2.0.</p>
+
+<p>Extension types with a nested storage type now round trip through
Parquet.</p>
+
+<p>The <code
class="highlighter-rouge">pyarrow.filesystem</code>
submodule is deprecated in favor of new filesystem
+implementations in <code
class="highlighter-rouge">pyarrow.fs</code>.</p>
+
+<p>The custom serialization functionality (<code
class="highlighter-rouge">pyarrow.serialize()</code>,
+<code
class="highlighter-rouge">pyarrow.deserialize()</code>, etc)
is deprecated. Those functions provided a
+Python-specific (not cross-language) serialization format which were not
+compatible with the standardized Arrow (IPC) serialization format. For
+arbitrary objects, you can use the standard library <code
class="highlighter-rouge">pickle</code> functionality
+instead. For pyarrow objects, you can use the IPC serialization format through
+the <code class="highlighter-rouge">pyarrow.ipc</code>
module, as explained above.</p>
+
+<p>The <code
class="highlighter-rouge">pyarrow.compute</code> module now
has a complete coverage of the available C++
+compute kernels in the python API. Several new kernels have been
added.</p>
+
+<p>The <code
class="highlighter-rouge">pyarrow.dataset</code> module was
further improved. In addition to reading, it
+is now also possible to write partitioned datasets (with <code
class="highlighter-rouge">write_dataset()</code>).</p>
+
+<p>The Arrow &lt;-&gt; Python conversion code was refactored,
fixing several bugs and
+corner cases.</p>
+
+<p>Conversion of an array of <code
class="highlighter-rouge">pyarrow.MapType</code> to Pandas
has been added.</p>
+
+<p>Conversion of timezone aware datetimes to and/from pyarrow arrays
including
+pandas now round-trip preserving timezone. To use the old behavior (e.g. for
+spark) set the environment variable PYARROW_IGNORE_TIMEZONE to a truthy value
+(i.e. <code
class="highlighter-rouge">PYARROW_IGNORE_TIMEZONE=1</code>)</p>
+
+<h2 id="r-notes">R notes</h2>
+
+<p>Highlights of the R release include</p>
+
+<ul>
+ <li>Writing multi-file datasets with partitioning to Parquet or
Feather</li>
+ <li>Reading and writing directly to AWS S3, both individual files and
multi-file
+datasets</li>
+ <li>Bindings for Flight which use reticulate</li>
+</ul>
+
+<p>In addition, the R package benefits from the various improvements in
the C++
+library listed above, including the ability to read and write Parquet files
+with nested struct and list types.</p>
+
+<p>For more on what’s in the 2.0.0 R package, see the <a
href="/docs/r/news/">R changelog</a>.</p>
+
+<h2 id="ruby-and-c-glib-notes">Ruby and C GLib notes</h2>
+
+<h3 id="ruby">Ruby</h3>
+
+<p>In Ruby binding, <code
class="highlighter-rouge">Arrow::Table#save</code> uses the
number of rows as the
+<code class="highlighter-rouge">chunk_size</code>
parameter by default when the table is saved in a Parquet file.</p>
+
+<h3 id="c-glib">C GLib</h3>
+
+<p>The GLib binding newly supports <code
class="highlighter-rouge">GArrowStringDictionaryArrayBuilder</code>
and
+<code
class="highlighter-rouge">GArrowBinaryDictionaryArrayBuilder</code>.</p>
+
+<p>Moreover the GLib binding supports new accessors of <code
class="highlighter-rouge">GArrowListArray</code> and
+<code
class="highlighter-rouge">GArrowLargeListArray</code>. They
are <code class="highlighter-rouge">get_values</code>,
<code class="highlighter-rouge">get_value_offset</code>,
+<code class="highlighter-rouge">get_value_length</code>,
and <code
class="highlighter-rouge">get_value_offsets</code>.</p>
+
+<h2 id="rust-notes">Rust notes</h2>
+
+<p>Due to the high volume of activity in the Rust subproject in this
release,
+we’re writing a separate blog post dedicated to those
changes.</p></content><author><name>pmc</name></author><category
term="release" /><summary type="html">The Apache Arrow team is pleased to
announce the 2.0.0 release. This covers over 3 months of development work and
includes 511 resolved issues from 81 distinct contributors. See the Install
Page to learn how to get the libraries for your platform. The release notes
below are not exhaustive and only expose selected highlights of [...]
-->
@@ -1917,206 +2082,4 @@ batches in R.</p>
<p>There are a number of active discussions ongoing on the developer
[email protected] mailing list. We look forward to hearing from the
-community there.</p></content><author><name>pmc</name></author><category
term="release" /><summary type="html">The Apache Arrow team is pleased to
announce the 0.15.0 release. This covers about 3 months of development work and
includes 687 resolved issues from 80 distinct contributors. See the Install
Page to learn how to get the libraries for your platform. The complete
changelog is also available. About a third of issues closed (240) were
classified as bug fixes, so this release [...]
-
--->
-
-<p>We have been implementing a series of optimizations in the Apache
Parquet C++
-internals to improve read and write efficiency (both performance and memory
-use) for Arrow columnar binary and string data, with new “native” support for
-Arrow’s dictionary types. This should have a big impact on users of the C++,
-MATLAB, Python, R, and Ruby interfaces to Parquet files.</p>
-
-<p>This post reviews work that was done and shows benchmarks comparing
Arrow
-0.12.1 with the current development version (to be released soon as Arrow
-0.15.0).</p>
-
-<h1 id="summary-of-work">Summary of work</h1>
-
-<p>One of the largest and most complex optimizations involves encoding
and
-decoding Parquet files’ internal dictionary-encoded data streams to and from
-Arrow’s in-memory dictionary-encoded <code
class="highlighter-rouge">DictionaryArray</code>
-representation. Dictionary encoding is a compression strategy in Parquet, and
-there is no formal “dictionary” or “categorical” type. I will go into more
-detail about this below.</p>
-
-<p>Some of the particular JIRA issues related to this work
include:</p>
-
-<ul>
- <li>Vectorize comparators for computing statistics (<a
href="https://issues.apache.org/jira/browse/PARQUET-1523">PARQUET-1523</a>)</li>
- <li>Read binary directly data directly into dictionary builder
-(<a
href="https://issues.apache.org/jira/browse/ARROW-3769">ARROW-3769</a>)</li>
- <li>Writing Parquet’s dictionary indices directly into dictionary
builder
-(<a
href="https://issues.apache.org/jira/browse/ARROW-3772">ARROW-3772</a>)</li>
- <li>Write dense (non-dictionary) Arrow arrays directly into Parquet
data encoders
-(<a
href="https://issues.apache.org/jira/browse/ARROW-6152">ARROW-6152</a>)</li>
- <li>Direct writing of <code
class="highlighter-rouge">arrow::DictionaryArray</code> to
Parquet column writers (<a
href="https://issues.apache.org/jira/browse/ARROW-3246">ARROW-3246</a>)</li>
- <li>Supporting changing dictionaries (<a
href="https://issues.apache.org/jira/browse/ARROW-3144">ARROW-3144</a>)</li>
- <li>Internal IO optimizations and improved raw <code
class="highlighter-rouge">BYTE_ARRAY</code> encoding
performance
-(<a
href="https://issues.apache.org/jira/browse/ARROW-4398">ARROW-4398</a>)</li>
-</ul>
-
-<p>One of the challenges of developing the Parquet C++ library is that
we maintain
-low-level read and write APIs that do not involve the Arrow columnar data
-structures. So we have had to take care to implement Arrow-related
-optimizations without impacting non-Arrow Parquet users, which includes
-database systems like Clickhouse and Vertica.</p>
-
-<h1
id="background-how-parquet-files-do-dictionary-encoding">Background:
how Parquet files do dictionary encoding</h1>
-
-<p>Many direct and indirect users of Apache Arrow use dictionary
encoding to
-improve performance and memory use on binary or string data types that include
-many repeated values. MATLAB or pandas users will know this as the Categorical
-type (see <a
href="https://www.mathworks.com/help/matlab/categorical-arrays.html">MATLAB
docs</a> or <a
href="https://pandas.pydata.org/pandas-docs/stable/user_guide/categorical.html">pandas
docs</a>) while in R such encoding is
-known as <a
href="https://stat.ethz.ch/R-manual/R-devel/library/base/html/factor.html"><code
class="highlighter-rouge">factor</code></a>. In the
Arrow C++ library and various bindings we have
-the <code
class="highlighter-rouge">DictionaryArray</code> object for
representing such data in memory.</p>
-
-<p>For example, an array such as</p>
-
-<div class="highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>['apple', 'orange', 'apple', NULL,
'orange', 'orange']
-</code></pre></div></div>
-
-<p>has dictionary-encoded form</p>
-
-<div class="highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>dictionary: ['apple', 'orange']
-indices: [0, 1, 0, NULL, 1, 1]
-</code></pre></div></div>
-
-<p>The <a
href="https://github.com/apache/parquet-format/blob/master/Encodings.md">Parquet
format uses dictionary encoding</a> to compress data, and it is
-used for all Parquet data types, not just binary or string data. Parquet
-further uses bit-packing and run-length encoding (RLE) to compress the
-dictionary indices, so if you had data like</p>
-
-<div class="highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>['apple', 'apple', 'apple', 'apple',
'apple', 'apple', 'orange']
-</code></pre></div></div>
-
-<p>the indices would be encoded like</p>
-
-<div class="highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>[rle-run=(6, 0),
- bit-packed-run=[1]]
-</code></pre></div></div>
-
-<p>The full details of the rle-bitpacking encoding are found in the
<a
href="https://github.com/apache/parquet-format/blob/master/Encodings.md">Parquet
-specification</a>.</p>
-
-<p>When writing a Parquet file, most implementations will use dictionary
encoding
-to compress a column until the dictionary itself reaches a certain size
-threshold, usually around 1 megabyte. At this point, the column writer will
-“fall back” to <code
class="highlighter-rouge">PLAIN</code> encoding where values
are written end-to-end in “data
-pages” and then usually compressed with Snappy or Gzip. See the following rough
-diagram:</p>
-
-<div align="center">
-<img src="/img/20190903-parquet-dictionary-column-chunk.png"
alt="Internal ColumnChunk structure" width="80%"
class="img-responsive" />
-</div>
-
-<h1
id="faster-reading-and-writing-of-dictionary-encoded-data">Faster
reading and writing of dictionary-encoded data</h1>
-
-<p>When reading a Parquet file, the dictionary-encoded portions are
usually
-materialized to their non-dictionary-encoded form, causing binary or string
-values to be duplicated in memory. So an obvious (but not trivial) optimization
-is to skip this “dense” materialization. There are several issues to deal
with:</p>
-
-<ul>
- <li>A Parquet file often contains multiple ColumnChunks for each
semantic column,
-and the dictionary values may be different in each ColumnChunk</li>
- <li>We must gracefully handle the “fall back” portion which is not
-dictionary-encoded</li>
-</ul>
-
-<p>We pursued several avenues to help with this:</p>
-
-<ul>
- <li>Allowing each <code
class="highlighter-rouge">DictionaryArray</code> to have a
different dictionary (before, the
-dictionary was part of the <code
class="highlighter-rouge">DictionaryType</code>, which
caused problems)</li>
- <li>We enabled the Parquet dictionary indices to be directly written
into an
-Arrow <code
class="highlighter-rouge">DictionaryBuilder</code> without
rehashing the data</li>
- <li>When decoding a ColumnChunk, we first append the dictionary values
and
-indices into an Arrow <code
class="highlighter-rouge">DictionaryBuilder</code>, and when
we encounter the “fall
-back” portion we use a hash table to convert those values to
-dictionary-encoded form</li>
- <li>We override the “fall back” logic when writing a ColumnChunk from
an
-<code class="highlighter-rouge">DictionaryArray</code>
so that reading such data back is more efficient</li>
-</ul>
-
-<p>All of these things together have produced some excellent performance
results
-that we will detail below.</p>
-
-<p>The other class of optimizations we implemented was removing an
abstraction
-layer between the low-level Parquet column data encoder and decoder classes and
-the Arrow columnar data structures. This involves:</p>
-
-<ul>
- <li>Adding <code
class="highlighter-rouge">ColumnWriter::WriteArrow</code>
and <code class="highlighter-rouge">Encoder::Put</code>
methods that accept
-<code class="highlighter-rouge">arrow::Array</code>
objects directly</li>
- <li>Adding <code
class="highlighter-rouge">ByteArrayDecoder::DecodeArrow</code>
method to decode binary data directly
-into an <code
class="highlighter-rouge">arrow::BinaryBuilder</code>.</li>
-</ul>
-
-<p>While the performance improvements from this work are less dramatic
than for
-dictionary-encoded data, they are still meaningful in real-world
applications.</p>
-
-<h1 id="performance-benchmarks">Performance
Benchmarks</h1>
-
-<p>We ran some benchmarks comparing Arrow 0.12.1 with the current master
-branch. We construct two kinds of Arrow tables with 10 columns each:</p>
-
-<ul>
- <li>“Low cardinality” and “high cardinality” variants. The “low
cardinality” case
-has 1,000 unique string values of 32-bytes each. The “high cardinality” has
-100,000 unique values</li>
- <li>“Dense” (non-dictionary) and “Dictionary” variants</li>
-</ul>
-
-<p><a
href="https://gist.github.com/wesm/b4554e2d6028243a30eeed2c644a9066">See
the full benchmark script.</a></p>
-
-<p>We show both single-threaded and multithreaded read performance. The
test
-machine is an Intel i9-9960X using gcc 8.3.0 (on Ubuntu 18.04) with 16 physical
-cores and 32 virtual cores. All time measurements are reported in seconds, but
-we are most interested in showing the relative performance.</p>
-
-<p>First, the writing benchmarks:</p>
-
-<div align="center">
-<img src="/img/20190903_parquet_write_perf.png" alt="Parquet
write benchmarks" width="80%" class="img-responsive"
/>
-</div>
-
-<p>Writing <code
class="highlighter-rouge">DictionaryArray</code> is
dramatically faster due to the optimizations
-described above. We have achieved a small improvement in writing dense
-(non-dictionary) binary arrays.</p>
-
-<p>Then, the reading benchmarks:</p>
-
-<div align="center">
-<img src="/img/20190903_parquet_read_perf.png" alt="Parquet
read benchmarks" width="80%" class="img-responsive"
/>
-</div>
-
-<p>Here, similarly reading <code
class="highlighter-rouge">DictionaryArray</code> directly is
many times faster.</p>
-
-<p>These benchmarks show that parallel reads of dense binary data may be
slightly
-slower though single-threaded reads are now faster. We may want to do some
-profiling and see what we can do to bring read performance back in
-line. Optimizing the dense read path has not been too much of a priority
-relative to the dictionary read path in this work.</p>
-
-<h1 id="memory-use-improvements">Memory Use
Improvements</h1>
-
-<p>In addition to faster performance, reading columns as
dictionary-encoded can
-yield significantly less memory use.</p>
-
-<p>In the <code
class="highlighter-rouge">dict-random</code> case above, we
found that the master branch uses 405 MB of
-RAM at peak while loading a 152 MB dataset. In v0.12.1, loading the same
-Parquet file without the accelerated dictionary support uses 1.94 GB of peak
-memory while the resulting non-dictionary table occupies 1.01 GB.</p>
-
-<p>Note that we had a memory overuse bug in versions 0.14.0 and 0.14.1
fixed in
-ARROW-6060, so if you are hitting this bug you will want to upgrade to 0.15.0
-as soon as it comes out.</p>
-
-<h1 id="conclusion">Conclusion</h1>
-
-<p>There are still many Parquet-related optimizations that we may pursue
in the
-future, but the ones here can be very helpful to people working with
-string-heavy datasets, both in performance and memory use. If you’d like to
-discuss this development work, we’d be glad to hear from you on our developer
-mailing list
[email protected].</p></content><author><name>wesm</name></author><category
term="application" /><summary type="html">We have been implementing a series
of optimizations in the Apache Parquet C++ internals to improve read and write
efficiency (both performance and memory use) for Arrow columnar binary and
string data, with new “native” support for Arrow’s dictionary types. This
should have a big impact on users of the C++, MATLAB, Python, R, and Ruby
interfaces to P [...]
\ No newline at end of file
+community there.</p></content><author><name>pmc</name></author><category
term="release" /><summary type="html">The Apache Arrow team is pleased to
announce the 0.15.0 release. This covers about 3 months of development work and
includes 687 resolved issues from 80 distinct contributors. See the Install
Page to learn how to get the libraries for your platform. The complete
changelog is also available. About a third of issues closed (240) were
classified as bug fixes, so this release [...]
\ No newline at end of file