/usr/local/lib64/python3.6/site-packages/pyarrow/include/arrow
NameSizeModeActions
adapters/-0755rm
array/-0755rm
c/-0755rm
compute/-0755rm
csv/-0755rm
dataset/-0755rm
filesystem/-0755rm
flight/-0755rm
io/-0755rm
ipc/-0755rm
json/-0755rm
python/-0755rm
tensor/-0755rm
testing/-0755rm
util/-0755rm
vendored/-0755rm
api.h22900644editdlrm
array.h18220644editdlrm
buffer.h194930644editdlrm
buffer_builder.h164300644editdlrm
builder.h14810644editdlrm
chunked_array.h93610644editdlrm
compare.h51650644editdlrm
config.h22670644editdlrm
datum.h89800644editdlrm
device.h87710644editdlrm
extension_type.h62840644editdlrm
memory_pool.h62940644editdlrm
memory_pool_test.h26940644editdlrm
pch.h12860644editdlrm
pretty_print.h41820644editdlrm
record_batch.h93980644editdlrm
result.h178450644editdlrm
scalar.h211240644editdlrm
sparse_tensor.h252050644editdlrm
status.h155520644editdlrm
stl.h182970644editdlrm
stl_allocator.h46140644editdlrm
stl_iterator.h45830644editdlrm
table.h113130644editdlrm
table_builder.h39240644editdlrm
tensor.h89130644editdlrm
type.h721570644editdlrm
type_fwd.h182430644editdlrm
type_traits.h326000644editdlrm
visitor.h69660644editdlrm
visitor_inline.h164290644editdlrm
Edit: /usr/local/lib64/python3.6/site-packages/pyarrow/include/arrow/record_batch.h (9398B)
// 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. #pragma once #include #include #include #include #include "arrow/result.h" #include "arrow/status.h" #include "arrow/type_fwd.h" #include "arrow/util/macros.h" #include "arrow/util/visibility.h" namespace arrow { /// \class RecordBatch /// \brief Collection of equal-length arrays matching a particular Schema /// /// A record batch is table-like data structure that is semantically a sequence /// of fields, each a contiguous Arrow array class ARROW_EXPORT RecordBatch { public: virtual ~RecordBatch() = default; /// \param[in] schema The record batch schema /// \param[in] num_rows length of fields in the record batch. Each array /// should have the same length as num_rows /// \param[in] columns the record batch fields as vector of arrays static std::shared_ptr Make(std::shared_ptr schema, int64_t num_rows, std::vector> columns); /// \brief Construct record batch from vector of internal data structures /// \since 0.5.0 /// /// This class is intended for internal use, or advanced users. /// /// \param schema the record batch schema /// \param num_rows the number of semantic rows in the record batch. This /// should be equal to the length of each field /// \param columns the data for the batch's columns static std::shared_ptr Make( std::shared_ptr schema, int64_t num_rows, std::vector> columns); /// \brief Convert record batch to struct array /// /// Create a struct array whose child arrays are the record batch's columns. /// Note that the record batch's top-level field metadata cannot be reflected /// in the resulting struct array. Result> ToStructArray() const; /// \brief Construct record batch from struct array /// /// This constructs a record batch using the child arrays of the given /// array, which must be a struct array. Note that the struct array's own /// null bitmap is not reflected in the resulting record batch. static Result> FromStructArray( const std::shared_ptr& array); /// \brief Determine if two record batches are exactly equal /// /// \param[in] other the RecordBatch to compare with /// \param[in] check_metadata if true, check that Schema metadata is the same /// \return true if batches are equal bool Equals(const RecordBatch& other, bool check_metadata = false) const; /// \brief Determine if two record batches are approximately equal bool ApproxEquals(const RecordBatch& other) const; /// \return the record batch's schema const std::shared_ptr& schema() const { return schema_; } /// \brief Retrieve all columns at once virtual const std::vector>& columns() const = 0; /// \brief Retrieve an array from the record batch /// \param[in] i field index, does not boundscheck /// \return an Array object virtual std::shared_ptr column(int i) const = 0; /// \brief Retrieve an array from the record batch /// \param[in] name field name /// \return an Array or null if no field was found std::shared_ptr GetColumnByName(const std::string& name) const; /// \brief Retrieve an array's internal data from the record batch /// \param[in] i field index, does not boundscheck /// \return an internal ArrayData object virtual std::shared_ptr column_data(int i) const = 0; /// \brief Retrieve all arrays' internal data from the record batch. virtual const ArrayDataVector& column_data() const = 0; /// \brief Add column to the record batch, producing a new RecordBatch /// /// \param[in] i field index, which will be boundschecked /// \param[in] field field to be added /// \param[in] column column to be added virtual Result> AddColumn( int i, const std::shared_ptr& field, const std::shared_ptr& column) const = 0; /// \brief Add new nullable column to the record batch, producing a new /// RecordBatch. /// /// For non-nullable columns, use the Field-based version of this method. /// /// \param[in] i field index, which will be boundschecked /// \param[in] field_name name of field to be added /// \param[in] column column to be added virtual Result> AddColumn( int i, std::string field_name, const std::shared_ptr& column) const; /// \brief Replace a column in the record batch, producing a new RecordBatch /// /// \param[in] i field index, does boundscheck /// \param[in] field field to be replaced /// \param[in] column column to be replaced virtual Result> SetColumn( int i, const std::shared_ptr& field, const std::shared_ptr& column) const = 0; /// \brief Remove column from the record batch, producing a new RecordBatch /// /// \param[in] i field index, does boundscheck virtual Result> RemoveColumn(int i) const = 0; virtual std::shared_ptr ReplaceSchemaMetadata( const std::shared_ptr& metadata) const = 0; /// \brief Name in i-th column const std::string& column_name(int i) const; /// \return the number of columns in the table int num_columns() const; /// \return the number of rows (the corresponding length of each column) int64_t num_rows() const { return num_rows_; } /// \brief Slice each of the arrays in the record batch /// \param[in] offset the starting offset to slice, through end of batch /// \return new record batch virtual std::shared_ptr Slice(int64_t offset) const; /// \brief Slice each of the arrays in the record batch /// \param[in] offset the starting offset to slice /// \param[in] length the number of elements to slice from offset /// \return new record batch virtual std::shared_ptr Slice(int64_t offset, int64_t length) const = 0; /// \return PrettyPrint representation suitable for debugging std::string ToString() const; /// \brief Return new record batch with specified columns Result> SelectColumns( const std::vector& indices) const; /// \brief Perform cheap validation checks to determine obvious inconsistencies /// within the record batch's schema and internal data. /// /// This is O(k) where k is the total number of fields and array descendents. /// /// \return Status virtual Status Validate() const; /// \brief Perform extensive validation checks to determine inconsistencies /// within the record batch's schema and internal data. /// /// This is potentially O(k*n) where n is the number of rows. /// /// \return Status virtual Status ValidateFull() const; protected: RecordBatch(const std::shared_ptr& schema, int64_t num_rows); std::shared_ptr schema_; int64_t num_rows_; private: ARROW_DISALLOW_COPY_AND_ASSIGN(RecordBatch); }; /// \brief Abstract interface for reading stream of record batches class ARROW_EXPORT RecordBatchReader { public: using ValueType = std::shared_ptr; virtual ~RecordBatchReader() = default; /// \return the shared schema of the record batches in the stream virtual std::shared_ptr schema() const = 0; /// \brief Read the next record batch in the stream. Return null for batch /// when reaching end of stream /// /// \param[out] batch the next loaded batch, null at end of stream /// \return Status virtual Status ReadNext(std::shared_ptr* batch) = 0; /// \brief Iterator interface Result> Next() { std::shared_ptr batch; ARROW_RETURN_NOT_OK(ReadNext(&batch)); return batch; } /// \brief Consume entire stream as a vector of record batches Status ReadAll(RecordBatchVector* batches); /// \brief Read all batches and concatenate as arrow::Table Status ReadAll(std::shared_ptr* table); /// \brief Create a RecordBatchReader from a vector of RecordBatch. /// /// \param[in] batches the vector of RecordBatch to read from /// \param[in] schema schema to conform to. Will be inferred from the first /// element if not provided. static Result> Make( RecordBatchVector batches, std::shared_ptr schema = NULLPTR); }; } // namespace arrow