Start a bit of refactoring/consolidation in prep for using Arrow IO interfaces

This commit is contained in:
Wes McKinney committed 2019-05-31 08:11:27 -05:00
1 parent e61bd90153
commit 59143ddec4
26 files changed
+95 -116

No files matched your search

+2 -2
View File
@@ -161,6 +161,7 @@ set(PARQUET_SRCS
column_reader.cc
column_scanner.cc
column_writer.cc
deprecated_io.cc
encoding.cc
file_reader.cc
file_writer.cc
@@ -171,8 +172,7 @@ set(PARQUET_SRCS
printer.cc
schema.cc
statistics.cc
types.cc
util/memory.cc)
types.cc)
# Ensure that thrift compilation is done before using its generated headers
# in parquet code.
+1 -1
View File
@@ -19,6 +19,6 @@
#define PARQUET_API_IO_H
#include "parquet/exception.h"
#include "parquet/util/memory.h"
#include "parquet/deprecated_io.h"
#endif // PARQUET_API_IO_H
+1 -1
View File
@@ -23,7 +23,7 @@
#include <unordered_set>
#include <vector>
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
#include "arrow/io/interfaces.h"
#include "arrow/util/macros.h"
+1 -1
View File
@@ -24,7 +24,7 @@
#include "parquet/metadata.h"
#include "parquet/schema.h"
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
namespace arrow {
+1 -1
View File
@@ -23,7 +23,7 @@
#include "parquet/properties.h"
#include "parquet/types.h"
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
#include "arrow/type.h"
+1 -1
View File
@@ -27,7 +27,7 @@
#include "parquet/hasher.h"
#include "parquet/types.h"
#include "parquet/util/memory.h"
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
namespace arrow {
+1 -1
View File
@@ -33,7 +33,7 @@
#include "parquet/schema.h"
#include "parquet/types.h"
#include "parquet/util/memory.h"
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
namespace arrow {
+1 -1
View File
@@ -33,7 +33,7 @@
#include "parquet/schema.h"
#include "parquet/types.h"
#include "parquet/util/memory.h"
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
namespace parquet {
+1 -1
View File
@@ -29,7 +29,7 @@
#include "parquet/schema.h"
#include "parquet/types.h"
#include "parquet/util/memory.h"
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
namespace arrow {
@@ -36,35 +36,6 @@ using arrow::util::Codec;
namespace parquet {
std::unique_ptr<Codec> GetCodecFromArrow(Compression::type codec) {
std::unique_ptr<Codec> result;
switch (codec) {
case Compression::UNCOMPRESSED:
break;
case Compression::SNAPPY:
PARQUET_THROW_NOT_OK(Codec::Create(::arrow::Compression::SNAPPY, &result));
break;
case Compression::GZIP:
PARQUET_THROW_NOT_OK(Codec::Create(::arrow::Compression::GZIP, &result));
break;
case Compression::LZO:
PARQUET_THROW_NOT_OK(Codec::Create(::arrow::Compression::LZO, &result));
break;
case Compression::BROTLI:
PARQUET_THROW_NOT_OK(Codec::Create(::arrow::Compression::BROTLI, &result));
break;
case Compression::LZ4:
PARQUET_THROW_NOT_OK(Codec::Create(::arrow::Compression::LZ4, &result));
break;
case Compression::ZSTD:
PARQUET_THROW_NOT_OK(Codec::Create(::arrow::Compression::ZSTD, &result));
break;
default:
break;
}
return result;
}
// ----------------------------------------------------------------------
// Arrow IO wrappers
@@ -32,30 +32,13 @@
#include "arrow/memory_pool.h"
#include "parquet/exception.h"
#include "parquet/platform.h"
#include "parquet/types.h"
#include "parquet/util/macros.h"
#include "parquet/util/visibility.h"
namespace arrow {
namespace util {
class Codec;
} // namespace util
} // namespace arrow
namespace parquet {
PARQUET_EXPORT
std::unique_ptr<::arrow::util::Codec> GetCodecFromArrow(Compression::type codec);
static constexpr int64_t kInMemoryDefaultCapacity = 1024;
using Buffer = ::arrow::Buffer;
using MutableBuffer = ::arrow::MutableBuffer;
using ResizableBuffer = ::arrow::ResizableBuffer;
using ResizableBuffer = ::arrow::ResizableBuffer;
// File input and output interfaces that translate arrow::Status to exceptions
class PARQUET_EXPORT FileInterface {
+1 -1
View File
@@ -30,7 +30,7 @@
#include "parquet/exception.h"
#include "parquet/types.h"
#include "parquet/util/memory.h"
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
namespace parquet {
+1 -2
View File
@@ -23,8 +23,7 @@
#include <string>
#include "arrow/status.h"
#include "parquet/util/macros.h"
#include "parquet/platform.h"
// PARQUET-1085
#if !defined(ARROW_UNUSED)
+1 -1
View File
@@ -28,7 +28,7 @@
#include "parquet/metadata.h" // IWYU pragma:: keep
#include "parquet/properties.h"
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
namespace parquet {
+1 -1
View File
@@ -28,7 +28,7 @@
#include "parquet/metadata.h"
#include "parquet/properties.h"
#include "parquet/schema.h"
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
namespace arrow {
+1 -1
View File
@@ -28,7 +28,7 @@
#include "parquet/properties.h"
#include "parquet/types.h"
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
namespace parquet {
+1 -1
View File
@@ -26,7 +26,7 @@
#include "parquet/hasher.h"
#include "parquet/types.h"
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
namespace parquet {
@@ -15,8 +15,9 @@
// specific language governing permissions and limitations
// under the License.
#ifndef PARQUET_UTIL_VISIBILITY_H
#define PARQUET_UTIL_VISIBILITY_H
#pragma
#include "arrow/util/macros.h"
#if defined(_WIN32) || defined(__CYGWIN__)
@@ -64,4 +65,24 @@
#define PARQUET_TEMPLATE_EXPORT
#endif
#endif // PARQUET_UTIL_VISIBILITY_H
#define PARQUET_DISALLOW_COPY_AND_ASSIGN ARROW_DISALLOW_COPY_AND_ASSIGN
#define PARQUET_NORETURN ARROW_NORETURN
#define PARQUET_DEPRECATED ARROW_DEPRECATED
// If ARROW_VALGRIND set when compiling unit tests, also define
// PARQUET_VALGRIND
#ifdef ARROW_VALGRIND
#define PARQUET_VALGRIND
#endif
namespace parquet {
using Buffer = ::arrow::Buffer;
using MutableBuffer = ::arrow::MutableBuffer;
using ResizableBuffer = ::arrow::ResizableBuffer;
using ResizableBuffer = ::arrow::ResizableBuffer;
using ArrowInputFile = ::arrow::io::RandomAccessFile;
using ArrowInputStream = ::arrow::io::InputStream;
} // namespace parquet
+1 -1
View File
@@ -21,7 +21,7 @@
#include <iosfwd>
#include <list>
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
namespace parquet {
+7 -6
View File
@@ -26,9 +26,7 @@
#include "parquet/parquet_version.h"
#include "parquet/schema.h"
#include "parquet/types.h"
#include "parquet/util/macros.h"
#include "parquet/util/memory.h"
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
namespace parquet {
@@ -49,10 +47,13 @@ class PARQUET_EXPORT ReaderProperties {
::arrow::MemoryPool* memory_pool() const { return pool_; }
std::unique_ptr<InputStream> GetStream(RandomAccessSource* source, int64_t start,
int64_t num_bytes) {
std::unique_ptr<InputStream> stream;
std::unique_ptr<ArrowInputStream> GetStream(std::shared_ptr<ArrowInputFile> source,
int64_t start, int64_t num_bytes) {
std::unique_ptr<ArrowInputStream> stream;
if (buffered_stream_enabled_) {
std::shared_ptr<::arrow::io::BufferedInputStream> stream;
PARQUET_THROW_NOT_OK(::arrow::io::BufferedInputStream::Create(buffer_size_, pool_,
source
stream.reset(
new BufferedInputStream(pool_, buffer_size_, source, start, num_bytes));
} else {
+1 -1
View File
@@ -25,9 +25,9 @@
#include <memory>
#include <vector>
#include "parquet/platform.h"
#include "parquet/schema.h"
#include "parquet/types.h"
#include "parquet/util/macros.h"
namespace parquet {
+1 -2
View File
@@ -30,9 +30,8 @@
#include "arrow/util/macros.h"
#include "parquet/platform.h"
#include "parquet/types.h"
#include "parquet/util/macros.h"
#include "parquet/util/visibility.h"
namespace parquet {
+1 -2
View File
@@ -22,11 +22,10 @@
#include <memory>
#include <string>
#include "parquet/platform.h"
#include "parquet/schema.h"
#include "parquet/types.h"
#include "parquet/util/macros.h"
#include "parquet/util/memory.h"
#include "parquet/util/visibility.h"
namespace parquet {
+31
View File
@@ -25,6 +25,7 @@
#include <utility>
#include "arrow/util/checked_cast.h"
#include "arrow/util/compression.h"
#include "arrow/util/logging.h"
#include "parquet/exception.h"
@@ -32,9 +33,39 @@
#include "parquet/types.h"
using ::arrow::internal::checked_cast;
using arrow::util::Codec;
namespace parquet {
std::unique_ptr<Codec> GetCodecFromArrow(Compression::type codec) {
std::unique_ptr<Codec> result;
switch (codec) {
case Compression::UNCOMPRESSED:
break;
case Compression::SNAPPY:
PARQUET_THROW_NOT_OK(Codec::Create(::arrow::Compression::SNAPPY, &result));
break;
case Compression::GZIP:
PARQUET_THROW_NOT_OK(Codec::Create(::arrow::Compression::GZIP, &result));
break;
case Compression::LZO:
PARQUET_THROW_NOT_OK(Codec::Create(::arrow::Compression::LZO, &result));
break;
case Compression::BROTLI:
PARQUET_THROW_NOT_OK(Codec::Create(::arrow::Compression::BROTLI, &result));
break;
case Compression::LZ4:
PARQUET_THROW_NOT_OK(Codec::Create(::arrow::Compression::LZ4, &result));
break;
case Compression::ZSTD:
PARQUET_THROW_NOT_OK(Codec::Create(::arrow::Compression::ZSTD, &result));
break;
default:
break;
}
return result;
}
std::string FormatStatValue(Type::type parquet_type, const std::string& val) {
std::stringstream result;
switch (parquet_type) {
+12 -3
View File
@@ -27,9 +27,7 @@
#include <string>
#include "arrow/util/macros.h"
#include "parquet/util/macros.h"
#include "parquet/util/visibility.h"
#include "parquet/platform.h"
namespace parquet {
@@ -431,6 +429,17 @@ struct Compression {
enum type { UNCOMPRESSED, SNAPPY, GZIP, LZO, BROTLI, LZ4, ZSTD };
};
namespace arrow {
namespace util {
class Codec;
} // namespace util
} // namespace arrow
PARQUET_EXPORT
std::unique_ptr<::arrow::util::Codec> GetCodecFromArrow(Compression::type codec);
struct Encryption {
enum type { AES_GCM_V1 = 0, AES_GCM_CTR_V1 = 1 };
};
-34
View File
@@ -1,34 +0,0 @@
// 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.
#ifndef PARQUET_UTIL_MACROS_H
#define PARQUET_UTIL_MACROS_H
#include "arrow/util/macros.h"
#define PARQUET_DISALLOW_COPY_AND_ASSIGN ARROW_DISALLOW_COPY_AND_ASSIGN
#define PARQUET_NORETURN ARROW_NORETURN
#define PARQUET_DEPRECATED ARROW_DEPRECATED
// If ARROW_VALGRIND set when compiling unit tests, also define
// PARQUET_VALGRIND
#ifdef ARROW_VALGRIND
#define PARQUET_VALGRIND
#endif
#endif // PARQUET_UTIL_MACROS_H