0

我正在使用 Dremio 查询多个数据源。我有一个带有“时间戳”列 dataType 的 SAPIQ DB,其值为“2020-01-01 10:04:20”(格式:YYYY-MM-DD hh:mm:ss)。问题是当我查询表时Select * from TableABC,我得到一个空指针异常,日期时间无法转换为时间戳。但是,当我使用强制转换函数指定列时,以下查询有效。

SELECT ColumnA, ColumnB, CAST(ColumnTS as VARCHAR), ColumnD FROM TableABC; 

请注意,源 DataType 在 SAPIQ 中是 DATETIME。Dremio 将其转换为 Timestamp 但抛出空指针,并且仅当我将 Timestamp 转换为 VARCHAR 时查询才有效,如上所示。上面的查询在我进行显式转换时起作用。但我的问题是我希望转换是隐式的,这样Select * from TableABC就能够在没有 NullPointerException 的情况下获取我的结果。

我已经在“src/main/resources/arp/implementation/sybase-arp.yaml”中尝试了以下方法,但没有成功。下面的配置向我抛出 NullPointerException。源代码位于https://github.com/dremioJonny/dremio-sybase-connector

- source:
  name: "DATETIME"
  max_scale: 8
dremio:
  name: "varchar"
  default_cast_spec: true

Dremio 专家的任何帮助表示赞赏。

4

0 回答 0