0

Dremio を使用して複数のデータ ソースをクエリしています。「2020-01-01 10:04:20」(FORMAT : YYYY-MM-DD hh:mm:ss) などの値を持つ「timestamp」列 dataType を持つ SAPIQ DB があります。問題は、テーブルをクエリするSelect * from TableABCと、Datetime がタイムスタンプに変換できないという nullpointer 例外が発生することです。ただし、キャスト関数で列を指定すると、以下のクエリが機能します。

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

SAPIQ のソース DataType は DATETIME であることに注意してください。Dremio はこれを Timestamp に変換しますが、nullpointer をスローし、上記のように Timestamp を VARCHAR に変換した場合にのみクエリが機能します。上記のクエリは、明示的な変換を行っているときに機能します。しかし、私の問題は、Select * from TableABCNullPointerExceptionなしで結果を取得できるように、反転を暗黙的にしたいということです。

「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