mirror of
https://github.com/apache/arrow.git
synced 2026-10-29 09:05:47 +08:00
Start a bit of refactoring/consolidation in prep for using Arrow IO interfaces
This commit is contained in:
1 parent
e61bd90153
commit
59143ddec4
26 files changed
+95
-116
No files matched your search
@@ -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.
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
#include "parquet/metadata.h"
|
||||
#include "parquet/schema.h"
|
||||
#include "parquet/util/visibility.h"
|
||||
#include "parquet/platform.h"
|
||||
|
||||
namespace arrow {
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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 {
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
#include "parquet/properties.h"
|
||||
#include "parquet/types.h"
|
||||
#include "parquet/util/visibility.h"
|
||||
#include "parquet/platform.h"
|
||||
|
||||
namespace parquet {
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <iosfwd>
|
||||
#include <list>
|
||||
|
||||
#include "parquet/util/visibility.h"
|
||||
#include "parquet/platform.h"
|
||||
|
||||
namespace parquet {
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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
@@ -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 };
|
||||
};
|
||||
|
||||
@@ -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
|
||||
Reference in new issue
Block a user