Java Client 3.0.33 がクライアント側で Float/Double データ型をサポートしていることを知りました。
リリース ノートには次のように書かれています: クライアント側で double/float をサポートします。サーバーはこれらの値を long として保存します。
これで問題ありません。float 値を aerospike ビンに挿入すると、aerospike サーバーに長整数として格納されます。一方、Java クライアントを使用して値を取得している間は、サーバーに保存されている長整数として取得されます。
Java クライアントは、取得時に Long を float に自動的に変換する必要があると思います。これは、Python クライアント (シリアル化/逆シリアル化) で完全に行われます。Java クライアントの使用中に getFloat() を明示的に使用して float に戻す必要があります。
私の質問は、どのビンに getFloat() を適用する必要があり、どのビンに適用すべきでないかをどのように知るかです。私が読んでいるデータ型がfloatとして挿入されたことがわからないためです。
前もって感謝します。