ホームページ > バックエンド開発 > Golang > golang apache arrow によって実装された datatype.go で指定されたデータ型を使用してスキーマを構築します

golang apache arrow によって実装された datatype.go で指定されたデータ型を使用してスキーマを構築します

WBOY
リリース: 2024-02-06 08:36:07
転載
553 人が閲覧しました

使用golang apache arrow实现的datatype.go中指定的数据类型来构建模式

質問内容

Apache arrowを学習していて、スキーマとarrowレコードの作成方法について詳しく知りたいです。このためにいくつかの資料を参照しましたが、これまでのところ、すべてプリミティブ型を使用して次のようなパターンを構築しているだけです。 リーリー

一部のデータ型は、使用したいプリミティブ型に存在しません。たとえば、bool または 10 進数 128 を使用したいとします。 golang arrow ライブラリを調べていたところ、使用したいすべての可能なデータ型が含まれているファイル

datatype.go を見つけました。 ただし、ここでの型は、スキーマの構築時に必要な datatype 型ではありません。

そこで、次の 3 つの質問があります:

    可能であれば、
  1. datatype.go のこれらのデータ型を使用してスキーマを構築するにはどうすればよいですか?
  2. 10 進数タイプを使用したい場合、精度と小数点以下の桁数を指定するにはどうすればよいですか?
  3. 拡張型の使用例。

正解


datatype.goで定義されているこれらのデータ型の名前付き定数は、型の新しい部分を作成するために使用されています。 。その一部は、type decmal128type structtype booleantype struct です。これらの構造体の id メソッドのソース コードを確認すると、それらは datatype で返されます。 .go で定義された定数には、構造体の名前と似た名前が付いています。これらの構造体はすでに datatype インターフェイスを実装しています。つまり、フィールドの型が datatype であるため、構造体を arrow.field.type に割り当てることができます。 私が彼らに言いたいのは:

bool datatype.go で定義された定数は、datatype_fixedwidth.gotype booleantype struct# の id ​​ として使用されます。 ## メソッドの戻り値。 func (t *booleantype) id() type { return bool }
同じことが type 128type struct
にも当てはまります。 func (*10 進数 128 型) id() 型 { 10 進数 128 を返す }
. これらの構造体のいずれかのメソッドは、

datatype

インターフェイスを実装していることを示しています: リーリー これらのメソッドは、

type 128type struct

に適用されます。 そして datatype
interface: の定義 リーリー

type booleantype struct

もそれを実装します。 したがって、これらを

type

フィールドに使用できます: リーリー 実証例:

リーリー

出力:

リーリー

これは、

ドキュメント

にあります。 拡張子の種類に関連するものもあります。 ただし、拡張子の種類については詳しくないので、例を示すことはできません。しかし、慣れていれば簡単に解決できます。

以上がgolang apache arrow によって実装された datatype.go で指定されたデータ型を使用してスキーマを構築しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート