如何使用 ArrayFromJSON 创建日期箭头数组

问题描述

基本上,我想使用很好的 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();

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...