mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-15 02:41:59 +00:00
47 lines
1.2 KiB
C++
47 lines
1.2 KiB
C++
#pragma once
|
|
#include "config_formats.h"
|
|
|
|
#if USE_ARROW || USE_ORC || USE_PARQUET
|
|
|
|
#include <DataTypes/IDataType.h>
|
|
#include <DataTypes/DataTypesNumber.h>
|
|
#include <DataTypes/DataTypeDate.h>
|
|
#include <DataTypes/DataTypeDateTime.h>
|
|
#include <DataTypes/DataTypeString.h>
|
|
#include <arrow/type.h>
|
|
#include <Columns/ColumnVector.h>
|
|
#include <arrow/table.h>
|
|
#include <arrow/array.h>
|
|
#include <arrow/buffer.h>
|
|
#include <Processors/Chunk.h>
|
|
#include <Core/Block.h>
|
|
|
|
namespace DB
|
|
{
|
|
|
|
class ArrowColumnToCHColumn
|
|
{
|
|
private:
|
|
|
|
# define FOR_ARROW_NUMERIC_TYPES(M) \
|
|
M(arrow::Type::UINT8, DB::UInt8) \
|
|
M(arrow::Type::INT8, DB::Int8) \
|
|
M(arrow::Type::UINT16, DB::UInt16) \
|
|
M(arrow::Type::INT16, DB::Int16) \
|
|
M(arrow::Type::UINT32, DB::UInt32) \
|
|
M(arrow::Type::INT32, DB::Int32) \
|
|
M(arrow::Type::UINT64, DB::UInt64) \
|
|
M(arrow::Type::INT64, DB::Int64) \
|
|
M(arrow::Type::HALF_FLOAT, DB::Float32) \
|
|
M(arrow::Type::FLOAT, DB::Float32) \
|
|
M(arrow::Type::DOUBLE, DB::Float64)
|
|
|
|
|
|
public:
|
|
|
|
static void arrowTableToCHChunk(Chunk & res, std::shared_ptr<arrow::Table> & table,
|
|
const Block & header, std::string format_name);
|
|
};
|
|
}
|
|
#endif
|