Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -865,21 +865,21 @@ add_library(
src/io/parquet/compact_protocol_reader.cpp
src/io/parquet/compact_protocol_writer.cpp
src/io/parquet/decode_preprocess.cu
src/io/parquet/experimental/dictionary_page_filter.cu
src/io/parquet/experimental/deletion_vectors.cu
src/io/parquet/experimental/deletion_vectors_helpers.cu
src/io/parquet/experimental/hybrid_scan.cpp
src/io/parquet/experimental/hybrid_scan_chunking.cu
src/io/parquet/experimental/hybrid_scan_helpers.cpp
src/io/parquet/experimental/hybrid_scan_impl.cpp
src/io/parquet/experimental/hybrid_scan_multifile.cpp
src/io/parquet/experimental/hybrid_scan_preprocess.cu
src/io/parquet/experimental/page_index_filter.cu
src/io/parquet/experimental/page_index_filter_utils.cu
src/io/parquet/experimental/parquet_footer.cpp
src/io/parquet/experimental/variant_extract.cu
src/io/parquet/experimental/variant_path.cpp
src/io/parquet/expression_transform_helpers.cpp
src/io/parquet/hybrid_scan/dictionary_page_filter.cu
src/io/parquet/hybrid_scan/hybrid_scan_chunking.cu
src/io/parquet/hybrid_scan/hybrid_scan_helpers.cpp
src/io/parquet/hybrid_scan/hybrid_scan_impl.cpp
src/io/parquet/hybrid_scan/hybrid_scan_preprocess.cu
src/io/parquet/hybrid_scan/page_index_filter.cu
src/io/parquet/hybrid_scan/page_index_filter_utils.cu
src/io/parquet/io_utils/parquet_io_utils.cpp
src/io/parquet/page_data.cu
src/io/parquet/chunk_dict.cu
Expand Down
8 changes: 4 additions & 4 deletions cpp/include/cudf/io/experimental/hybrid_scan.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
* @brief Experimental Hybrid Scan Parquet reader optimized for highly selective filters.
*/

namespace cudf::io::parquet::experimental::detail {
namespace cudf::io::parquet::hybrid_scan::detail {
/**
* @brief Internal experimental Parquet reader optimized for highly selective filters, called a
* Hybrid Scan operation.
Expand All @@ -38,7 +38,7 @@ class hybrid_scan_reader_impl;
* @brief Internal parsed Parquet file metadata for the Hybrid Scan reader.
*/
class aggregate_reader_metadata;
} // namespace cudf::io::parquet::experimental::detail
} // namespace cudf::io::parquet::hybrid_scan::detail

//! Using `byte_range_info` from cudf::io::text
using cudf::io::text::byte_range_info;
Expand Down Expand Up @@ -157,7 +157,7 @@ class hybrid_scan_metadata {
hybrid_scan_metadata& operator=(hybrid_scan_metadata&&) = default;

private:
std::shared_ptr<detail::aggregate_reader_metadata> _metadata;
std::shared_ptr<hybrid_scan::detail::aggregate_reader_metadata> _metadata;
friend class hybrid_scan_reader;
};

Expand Down Expand Up @@ -917,7 +917,7 @@ class hybrid_scan_reader {
[[nodiscard]] bool has_next_table_chunk();

private:
std::unique_ptr<detail::hybrid_scan_reader_impl> _impl;
std::unique_ptr<hybrid_scan::detail::hybrid_scan_reader_impl> _impl;
};

/** @} */ // end of group
Expand Down
6 changes: 3 additions & 3 deletions cpp/include/cudf/io/experimental/hybrid_scan_multifile.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@
* @brief Multi-file variant of the experimental Hybrid Scan Parquet reader.
*/

namespace cudf::io::parquet::experimental::detail {
namespace cudf::io::parquet::hybrid_scan::detail {
/**
* @brief Internal experimental Parquet reader optimized for highly selective filters, called a
* Hybrid Scan operation.
*/
class hybrid_scan_reader_impl;
} // namespace cudf::io::parquet::experimental::detail
} // namespace cudf::io::parquet::hybrid_scan::detail

//! Using `byte_range_info` from cudf::io::text
using cudf::io::text::byte_range_info;
Expand Down Expand Up @@ -570,7 +570,7 @@ class hybrid_scan_multifile {
[[nodiscard]] bool has_next_table_chunk();

private:
std::unique_ptr<detail::hybrid_scan_reader_impl> _impl;
std::unique_ptr<hybrid_scan::detail::hybrid_scan_reader_impl> _impl;
};

/** @} */ // end of group
Expand Down
17 changes: 9 additions & 8 deletions cpp/src/io/parquet/experimental/hybrid_scan.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*/

#include "../compact_protocol_reader.hpp"
#include "hybrid_scan_impl.hpp"
#include "io/parquet/hybrid_scan/hybrid_scan_impl.hpp"

#include <cudf/detail/nvtx/ranges.hpp>
#include <cudf/io/experimental/hybrid_scan.hpp>
Expand Down Expand Up @@ -50,7 +50,7 @@ std::optional<int64_t> dictionary_page_length(std::span<uint8_t const> page_byte

hybrid_scan_metadata::hybrid_scan_metadata(cudf::host_span<uint8_t const> footer_bytes,
parquet_reader_options const& options)
: _metadata{std::make_shared<detail::aggregate_reader_metadata>(
: _metadata{std::make_shared<hybrid_scan::detail::aggregate_reader_metadata>(
std::vector<std::span<uint8_t const>>{footer_bytes},
options.is_enabled_use_arrow_schema(),
options.is_enabled_allow_mismatched_pq_schemas())}
Expand All @@ -59,7 +59,7 @@ hybrid_scan_metadata::hybrid_scan_metadata(cudf::host_span<uint8_t const> footer

hybrid_scan_metadata::hybrid_scan_metadata(FileMetaData const& parquet_metadata,
parquet_reader_options const& options)
: _metadata{std::make_shared<detail::aggregate_reader_metadata>(
: _metadata{std::make_shared<hybrid_scan::detail::aggregate_reader_metadata>(
std::vector<FileMetaData>{parquet_metadata},
options.is_enabled_use_arrow_schema(),
options.is_enabled_allow_mismatched_pq_schemas())}
Expand All @@ -68,7 +68,7 @@ hybrid_scan_metadata::hybrid_scan_metadata(FileMetaData const& parquet_metadata,

hybrid_scan_metadata::hybrid_scan_metadata(FileMetaData&& parquet_metadata,
parquet_reader_options const& options)
: _metadata{std::make_shared<detail::aggregate_reader_metadata>(
: _metadata{std::make_shared<hybrid_scan::detail::aggregate_reader_metadata>(
// Move iterators avoid the copy an initializer list would make
std::vector<FileMetaData>(std::make_move_iterator(&parquet_metadata),
std::make_move_iterator(&parquet_metadata + 1)),
Expand All @@ -81,21 +81,21 @@ hybrid_scan_metadata::~hybrid_scan_metadata() = default;

hybrid_scan_reader::hybrid_scan_reader(cudf::host_span<uint8_t const> footer_bytes,
parquet_reader_options const& options)
: _impl{std::make_unique<detail::hybrid_scan_reader_impl>(
: _impl{std::make_unique<hybrid_scan::detail::hybrid_scan_reader_impl>(
std::vector<std::span<uint8_t const>>{footer_bytes}, options)}
{
}

hybrid_scan_reader::hybrid_scan_reader(FileMetaData const& parquet_metadata,
parquet_reader_options const& options)
: _impl{std::make_unique<detail::hybrid_scan_reader_impl>(
: _impl{std::make_unique<hybrid_scan::detail::hybrid_scan_reader_impl>(
std::vector<FileMetaData>{parquet_metadata}, options)}
{
}

hybrid_scan_reader::hybrid_scan_reader(FileMetaData&& parquet_metadata,
parquet_reader_options const& options)
: _impl{std::make_unique<detail::hybrid_scan_reader_impl>(
: _impl{std::make_unique<hybrid_scan::detail::hybrid_scan_reader_impl>(
// Move iterators avoid the copy an initializer list would make
std::vector<FileMetaData>(std::make_move_iterator(&parquet_metadata),
std::make_move_iterator(&parquet_metadata + 1)),
Expand All @@ -104,7 +104,8 @@ hybrid_scan_reader::hybrid_scan_reader(FileMetaData&& parquet_metadata,
}

hybrid_scan_reader::hybrid_scan_reader(hybrid_scan_metadata metadata)
: _impl{std::make_unique<detail::hybrid_scan_reader_impl>(std::move(metadata._metadata))}
: _impl{
std::make_unique<hybrid_scan::detail::hybrid_scan_reader_impl>(std::move(metadata._metadata))}
{
}

Expand Down
9 changes: 5 additions & 4 deletions cpp/src/io/parquet/experimental/hybrid_scan_multifile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/

#include "hybrid_scan_impl.hpp"
#include "io/parquet/hybrid_scan/hybrid_scan_impl.hpp"

#include <cudf/detail/nvtx/ranges.hpp>
#include <cudf/io/experimental/hybrid_scan_multifile.hpp>
Expand All @@ -18,20 +18,21 @@ namespace cudf::io::parquet::experimental {
hybrid_scan_multifile::hybrid_scan_multifile(
cudf::host_span<cudf::host_span<uint8_t const> const> footer_bytes,
parquet_reader_options const& options)
: _impl{std::make_unique<detail::hybrid_scan_reader_impl>(
: _impl{std::make_unique<hybrid_scan::detail::hybrid_scan_reader_impl>(
std::vector<std::span<uint8_t const>>(footer_bytes.begin(), footer_bytes.end()), options)}
{
}

hybrid_scan_multifile::hybrid_scan_multifile(cudf::host_span<FileMetaData const> parquet_metadata,
parquet_reader_options const& options)
: _impl{std::make_unique<detail::hybrid_scan_reader_impl>(parquet_metadata, options)}
: _impl{std::make_unique<hybrid_scan::detail::hybrid_scan_reader_impl>(parquet_metadata, options)}
{
}

hybrid_scan_multifile::hybrid_scan_multifile(std::vector<FileMetaData>&& parquet_metadata,
parquet_reader_options const& options)
: _impl{std::make_unique<detail::hybrid_scan_reader_impl>(std::move(parquet_metadata), options)}
: _impl{std::make_unique<hybrid_scan::detail::hybrid_scan_reader_impl>(
std::move(parquet_metadata), options)}
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
#include <ranges>
#include <span>

namespace cudf::io::parquet::experimental::detail {
namespace cudf::io::parquet::hybrid_scan::detail {

using parquet::detail::chunk_page_info;
using parquet::detail::ColumnChunkDesc;
Expand Down Expand Up @@ -1560,4 +1560,4 @@ simplified_expression_opt dictionary_literals_collector::simplify_comparison(
return _tree.push(ast::operation{op, col_ref, literal});
}

} // namespace cudf::io::parquet::experimental::detail
} // namespace cudf::io::parquet::hybrid_scan::detail
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

#include <numeric>

namespace cudf::io::parquet::experimental::detail {
namespace cudf::io::parquet::hybrid_scan::detail {

using parquet::detail::ColumnChunkDesc;
using parquet::detail::pass_intermediate_data;
Expand Down Expand Up @@ -196,4 +196,4 @@ void hybrid_scan_reader_impl::setup_next_pass(
}
}

} // namespace cudf::io::parquet::experimental::detail
} // namespace cudf::io::parquet::hybrid_scan::detail
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#include <unordered_set>
#include <utility>

namespace cudf::io::parquet::experimental::detail {
namespace cudf::io::parquet::hybrid_scan::detail {

using aggregate_reader_metadata_base = parquet::detail::aggregate_reader_metadata;
using metadata_base = parquet::detail::metadata;
Expand Down Expand Up @@ -733,4 +733,4 @@ std::reference_wrapper<ast::expression const> parquet_filter_normalizer::visit(
return std::reference_wrapper<ast::expression const>(_col_ref.back());
}

} // namespace cudf::io::parquet::experimental::detail
} // namespace cudf::io::parquet::hybrid_scan::detail
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@
#include <type_traits>
#include <vector>

namespace cudf::io::parquet::experimental::detail {
namespace cudf::io::parquet::hybrid_scan::detail {

using cudf::io::parquet::experimental::dictionary_byte_range;

using aggregate_reader_metadata_base = parquet::detail::aggregate_reader_metadata;
using metadata_base = parquet::detail::metadata;
Expand Down Expand Up @@ -423,4 +425,4 @@ class parquet_filter_normalizer : public parquet::detail::parquet_filter_normali
std::unordered_map<int32_t, std::string> _column_indices_to_names;
};

} // namespace cudf::io::parquet::experimental::detail
} // namespace cudf::io::parquet::hybrid_scan::detail
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
#include <type_traits>
#include <utility>

namespace cudf::io::parquet::experimental::detail {
namespace cudf::io::parquet::hybrid_scan::detail {

using io::detail::inline_column_buffer;
using parquet::detail::ColumnChunkDesc;
Expand Down Expand Up @@ -1498,4 +1498,4 @@ INSTANTIATE_HYBRID_SCAN_COLUMNS_APIS(read_columns_mode::ALL_COLUMNS)

#undef INSTANTIATE_HYBRID_SCAN_COLUMNS_APIS

} // namespace cudf::io::parquet::experimental::detail
} // namespace cudf::io::parquet::hybrid_scan::detail
Comment thread
mhaseeb123 marked this conversation as resolved.
Resolved
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,10 @@
#include <utility>
#include <vector>

namespace cudf::io::parquet::experimental::detail {
namespace cudf::io::parquet::hybrid_scan::detail {

using cudf::io::parquet::experimental::read_columns_mode;
using cudf::io::parquet::experimental::use_data_page_mask;

using cudf::io::parquet::detail::ColumnChunkDesc;
using cudf::io::parquet::detail::PageInfo;
Expand Down Expand Up @@ -115,7 +118,7 @@ class hybrid_scan_reader_impl : public parquet::detail::reader_impl {
std::span<std::vector<size_type> const> row_group_indices) const;

/**
* @copydoc cudf::io::parquet::experimental::hybrid_scan::reset_column_selection
* @copydoc cudf::io::parquet::experimental::hybrid_scan_reader::reset_column_selection
*/
void reset_column_selection();

Expand Down Expand Up @@ -154,7 +157,8 @@ class hybrid_scan_reader_impl : public parquet::detail::reader_impl {
bool include_unbounded = false);

/**
* @copydoc cudf::io::parquet::experimental::hybrid_scan::filter_row_groups_with_dictionary_pages
* @copydoc
* cudf::io::parquet::experimental::hybrid_scan_reader::filter_row_groups_with_dictionary_pages
*/
[[nodiscard]] std::vector<std::vector<size_type>> filter_row_groups_with_dictionary_pages(
std::span<cudf::device_span<uint8_t const> const> dictionary_page_data,
Expand All @@ -163,7 +167,8 @@ class hybrid_scan_reader_impl : public parquet::detail::reader_impl {
cuda::stream_ref stream);

/**
* @copydoc cudf::io::parquet::experimental::hybrid_scan::filter_row_groups_with_bloom_filters
* @copydoc
* cudf::io::parquet::experimental::hybrid_scan_reader::filter_row_groups_with_bloom_filters
*/
[[nodiscard]] std::vector<std::vector<size_type>> filter_row_groups_with_bloom_filters(
std::span<cudf::device_span<uint8_t const> const> bloom_filter_data,
Expand Down Expand Up @@ -628,4 +633,4 @@ class hybrid_scan_reader_impl : public parquet::detail::reader_impl {
std::optional<read_columns_mode> _selected_columns_mode;
};

} // namespace cudf::io::parquet::experimental::detail
} // namespace cudf::io::parquet::hybrid_scan::detail
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@

#include <numeric>

namespace cudf::io::parquet::experimental::detail {
namespace cudf::io::parquet::hybrid_scan::detail {

namespace {

Expand Down Expand Up @@ -439,4 +439,4 @@ void hybrid_scan_reader_impl::update_row_mask(cudf::column_view const& in_row_ma
}
}

} // namespace cudf::io::parquet::experimental::detail
} // namespace cudf::io::parquet::hybrid_scan::detail
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
#include <utility>
#include <vector>

namespace cudf::io::parquet::experimental::detail {
namespace cudf::io::parquet::hybrid_scan::detail {

using parquet::detail::stats_caster_base;
using metadata_base = parquet::detail::metadata;
Expand Down Expand Up @@ -453,4 +453,4 @@ thrust::host_vector<bool> aggregate_reader_metadata::compute_data_page_mask(
return data_page_mask;
}

} // namespace cudf::io::parquet::experimental::detail
} // namespace cudf::io::parquet::hybrid_scan::detail
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
#include <span>
#include <vector>

namespace cudf::io::parquet::experimental::detail {
namespace cudf::io::parquet::hybrid_scan::detail {

namespace {

Expand Down Expand Up @@ -795,4 +795,4 @@ std::unique_ptr<column> compute_row_mask_from_page_stats(
return std::move(row_mask->release().front());
}

} // namespace cudf::io::parquet::experimental::detail
} // namespace cudf::io::parquet::hybrid_scan::detail
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
#include <span>
#include <vector>

namespace cudf::io::parquet::experimental::detail {
namespace cudf::io::parquet::hybrid_scan::detail {

using metadata_base = parquet::detail::metadata;

Expand Down Expand Up @@ -115,4 +115,4 @@ compute_page_row_offsets_and_colchunk_page_offsets(
cuda::stream_ref stream,
cudf::memory_resources mr);

} // namespace cudf::io::parquet::experimental::detail
} // namespace cudf::io::parquet::hybrid_scan::detail
Loading