You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by we...@apache.org on 2018/09/27 12:19:47 UTC

[arrow] 08/24: PARQUET-909: Reduce buffer allocations (mallocs) on critical path

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

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

commit 4b444c626929e305e3d3cfe1e105db866084b64e
Author: Deepak Majeti <de...@hpe.com>
AuthorDate: Fri Mar 17 18:07:59 2017 -0400

    PARQUET-909: Reduce buffer allocations (mallocs) on critical path
    
    Author: Deepak Majeti <de...@hpe.com>
    
    Closes #268 from majetideepak/ReuseBuffers and squashes the following commits:
    
    bbf5453 [Deepak Majeti] Review comments
    4d93d4b [Deepak Majeti] Improve example
    3a3e2bb [Deepak Majeti] Fix Resize shrink_to_fit
    53c8ac1 [Deepak Majeti] Improve API
    22f422f [Deepak Majeti] clang format
    8ae02cc [Deepak Majeti] optimize for uncompressed data
    3190cef [Deepak Majeti] change fit_to_size of InMemoryOutputStream
    03d4862 [Deepak Majeti] clang format
    261aa1c [Deepak Majeti] Rewrite Compress API
    b09c4a8 [Deepak Majeti] Reuse uncompressed_data buffer
    6b9a81b [Deepak Majeti] Clang fromat
    31af602 [Deepak Majeti] Reuse levels rle buffer
    82eabfb [Deepak Majeti] Re-use def and rep levels sink
    edc8e3c [Deepak Majeti] Add API to InMemoryOutputStream
    
    Change-Id: I77483a383043d590936b42c06d425fbdc1edf9fc
---
 cpp/examples/parquet/reader-writer.cc | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/cpp/examples/parquet/reader-writer.cc b/cpp/examples/parquet/reader-writer.cc
index 59ee63b..54390e0 100644
--- a/cpp/examples/parquet/reader-writer.cc
+++ b/cpp/examples/parquet/reader-writer.cc
@@ -110,9 +110,14 @@ int main(int argc, char** argv) {
     // Setup the parquet schema
     std::shared_ptr<GroupNode> schema = SetupSchema();
 
+    // Add writer properties
+    parquet::WriterProperties::Builder builder;
+    builder.compression(parquet::Compression::SNAPPY);
+    std::shared_ptr<parquet::WriterProperties> props = builder.build();
+
     // Create a ParquetFileWriter instance
     std::shared_ptr<parquet::ParquetFileWriter> file_writer =
-        parquet::ParquetFileWriter::Open(out_file, schema);
+        parquet::ParquetFileWriter::Open(out_file, schema, props);
 
     // Append a RowGroup with a specific number of rows.
     parquet::RowGroupWriter* rg_writer =
@@ -225,6 +230,7 @@ int main(int argc, char** argv) {
     // Create a ParquetReader instance
     std::unique_ptr<parquet::ParquetFileReader> parquet_reader =
         parquet::ParquetFileReader::OpenFile(PARQUET_FILENAME, false);
+
     // Get the File MetaData
     std::shared_ptr<parquet::FileMetaData> file_metadata = parquet_reader->metadata();