아파치 애로우를 배우고 있는데 스키마와 애로우 레코드를 생성하는 방법을 더 배우고 싶습니다. 이에 대해 몇 가지 자료를 참조했지만 지금까지는 모두 기본 유형을 사용하여 다음과 같은 패턴을 구축했습니다. `
으아악사용하려는 기본 유형에 일부 데이터 유형이 존재하지 않습니다. 예를 들어 bool 또는 십진수128을 사용하고 싶습니다. 나는 golang arrow 라이브러리를 보다가 내가 사용하고 싶은 가능한 모든 데이터 유형이 포함된 파일 datatype.go
을 발견했습니다.
하지만 여기의 유형은 패턴을 만들 때 필요한 datatype
유형이 아닙니다.
다음 세 가지 질문이 있습니다.
datatype.go
에서 이러한 데이터 유형을 사용하여 스키마를 어떻게 구축할 수 있나요? datatype.go
中定义的这些数据类型命名常量已用于创建您想要的新类型的一部分。其中一些是 type decimal128type struct
和 type booleantype struct
如果您检查这些结构的 id
方法的源代码,它们返回在 datatype.go
中定义的常量,其名称与结构的名称相似。这些结构已经实现了 datatype
接口,这意味着您可以将它们分配给 arrow.field.type
因为该字段的类型是 datatype
에 정의된 상수라는 데이터 유형은 원하는 새로운 유형을 생성하는 과정의 일부로 사용되었습니다. 그 중 일부는
및
이러한 구조체의 id
메서드의 소스 코드를 확인하면 구조체 이름과 유사한 이름을 가진 bool
中定义的常量 datatype.go
在 datatype_fixedwidth.go
中用作 type booleantype struct
的 id
에 정의된 상수를 반환합니다. 이러한 구조는 이미
인터페이스를 구현합니다. 즉, 필드 유형이 func (t *booleantype) id() 类型 { return bool }
이므로 arrow.field.type
에 할당할 수 있습니다.
내가 그들에게 의미하는 바는: type decimal128type struct
bool
에 정의된 상수
는 datatype_fixedwidth.go
에서 func (*decimal128type) id() 类型 { return decimal128 }
의 id
메소드의 반환 값으로 사용됩니다.
datatype
type decimal128type struct
.
datatype
이 구조 중 하나에 대한 메서드는
으아악
type booleantype struct
이러한 방법은
type
인터페이스의 정의:
따라서
필드에 사용할 수 있습니다.
으아악
예시:
으아악
출력:
위 내용은 golang apache arrow로 구현된 datatype.go에 지정된 데이터 유형을 사용하여 스키마 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!