问题描述
基本上,我想使用很好的 date32
函数创建 ArrayFromJSON
类型的数组,这对于编写单元测试非常方便。
我试过了:
auto dateArray = arrow::ArrayFromJSON(arrow::date32(),R"(["2017-11-01"])");
但这至少不适用于箭头版本是 1.0
。在单元测试中找不到类似的东西。
解决方法
ArayFromJSON
目前不支持从时间戳解析 date32;目前只接受整数值:
auto dateArray = arrow::ArrayFromJSON(arrow::date32(),"[17471000]");
或者,您可以构建一个时间戳数组,然后转换为 date32(但您的箭头版本可能不支持此转换):
auto tsArray = arrow::ArrayFromJSON(arrow::timestamp(TimeUnit::SECOND),R"(["2017-11-01"])");
auto dateArray = compute::Cast(*tsArray,arrow::date32()).ValueOrDie();