libcudf  24.02.00
Files | Classes | Functions

Files

file  interop.hpp
 

Classes

struct  cudf::column_metadata
 Detailed metadata information for arrow array. More...
 

Functions

std::shared_ptr< arrow::Table > cudf::to_arrow (table_view input, std::vector< column_metadata > const &metadata={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), arrow::MemoryPool *ar_mr=arrow::default_memory_pool())
 Create arrow::Table from cudf table input More...
 
std::shared_ptr< arrow::Scalar > cudf::to_arrow (cudf::scalar const &input, column_metadata const &metadata={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), arrow::MemoryPool *ar_mr=arrow::default_memory_pool())
 Create arrow::Scalar from cudf scalar input More...
 
std::unique_ptr< tablecudf::from_arrow (arrow::Table const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Create cudf::table from given arrow Table input. More...
 
std::unique_ptr< cudf::scalarcudf::from_arrow (arrow::Scalar const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Create cudf::scalar from given arrow Scalar input. More...
 

Detailed Description

Function Documentation

◆ from_arrow() [1/2]

std::unique_ptr<cudf::scalar> cudf::from_arrow ( arrow::Scalar const &  input,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::mr::device_memory_resource mr = rmm::mr::get_current_device_resource() 
)

Create cudf::scalar from given arrow Scalar input.

Parameters
inputarrow::Scalar that needs to be converted to cudf::scalar
streamCUDA stream used for device memory operations and kernel launches
mrDevice memory resource used to allocate cudf::scalar
Returns
cudf scalar generated from given arrow Scalar

◆ from_arrow() [2/2]

std::unique_ptr<table> cudf::from_arrow ( arrow::Table const &  input,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::mr::device_memory_resource mr = rmm::mr::get_current_device_resource() 
)

Create cudf::table from given arrow Table input.

Parameters
inputarrow:Table that needs to be converted to cudf::table
streamCUDA stream used for device memory operations and kernel launches
mrDevice memory resource used to allocate cudf::table
Returns
cudf table generated from given arrow Table

◆ to_arrow() [1/2]

std::shared_ptr<arrow::Scalar> cudf::to_arrow ( cudf::scalar const &  input,
column_metadata const &  metadata = {},
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
arrow::MemoryPool *  ar_mr = arrow::default_memory_pool() 
)

Create arrow::Scalar from cudf scalar input

Converts the cudf::scalar to arrow::Scalar.

Parameters
inputscalar that needs to be converted to arrow Scalar
metadataContains hierarchy of names of columns and children
streamCUDA stream used for device memory operations and kernel launches
ar_mrarrow memory pool to allocate memory for arrow Scalar
Returns
arrow Scalar generated from input
Note
For decimals, since the precision is not stored for them in libcudf, it will be converted to an Arrow decimal128 that has the widest-precision the cudf decimal type supports. For example, numeric::decimal32 will be converted to Arrow decimal128 of the precision 9 which is the maximum precision for 32-bit types. Similarly, numeric::decimal128 will be converted to Arrow decimal128 of the precision 38.

◆ to_arrow() [2/2]

std::shared_ptr<arrow::Table> cudf::to_arrow ( table_view  input,
std::vector< column_metadata > const &  metadata = {},
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
arrow::MemoryPool *  ar_mr = arrow::default_memory_pool() 
)

Create arrow::Table from cudf table input

Converts the cudf::table_view to arrow::Table with the provided metadata column_names.

Exceptions
cudf::logic_errorif column_names size doesn't match with number of columns.
Parameters
inputtable_view that needs to be converted to arrow Table
metadataContains hierarchy of names of columns and children
streamCUDA stream used for device memory operations and kernel launches
ar_mrarrow memory pool to allocate memory for arrow Table
Returns
arrow Table generated from input
Note
For decimals, since the precision is not stored for them in libcudf, it will be converted to an Arrow decimal128 that has the widest-precision the cudf decimal type supports. For example, numeric::decimal32 will be converted to Arrow decimal128 of the precision 9 which is the maximum precision for 32-bit types. Similarly, numeric::decimal128 will be converted to Arrow decimal128 of the precision 38.