模块 schema

模块 schema 

源代码
展开描述

Avro schema 解析和表示

提供用于解析和表示 Avro schema 定义的类型。Arrow 的 Avro Schema 表示。

结构体§

Array 🔒
一个数组
Attributes 🔒
Schema 中的额外属性
AvroSchema
Avro schema JSON 字符串表示的包装器。
AvroSchemaOptions 🔒
Enum 🔒
一个枚举
Field 🔒
Record 中的字段
Fixed 🔒
一个固定长度的二进制数组
Map 🔒
一个映射
NameGenerator 🔒
Prefix 🔒
一个栈分配的、固定大小的前缀缓冲区。
Record 🔒
一个记录
SchemaStore
按指纹索引的 Avro schema 内存缓存。
Type 🔒
不是 ComplexType 变体的类型定义

枚举§

ComplexType 🔒
一个复杂类型
Fingerprint
支持格式之一的 schema 指纹。
FingerprintAlgorithm
Avro schema 识别支持的指纹算法。对于 Confluent Schema Registry ID,设置为 None。
FingerprintStrategy
定义生成 Avro 二进制流每条记录前缀的策略。
Nullability 🔒
Avro 类型不可为空,可空性被编码为一个联合,其中一个变体是 null 类型。
PrimitiveType 🔒
一个原始类型
Schema 🔒
一个 Avro schema
TypeName 🔒
一个 PrimitiveType 或对先前定义的命名类型的引用

常量§

AVRO_DOC_METADATA_KEY
用于在 Avro schema 中存储类型文档的元数据键。
AVRO_ENUM_SYMBOLS_METADATA_KEY
用于在 Arrow schema 中表示 Avro 枚举符号的元数据键。
AVRO_FIELD_DEFAULT_METADATA_KEY
用于在 Avro schema 中存储字段默认值的元数据键。
AVRO_NAMESPACE_METADATA_KEY
用于在 Avro schema 中存储类型名称的元数据键。
AVRO_NAME_METADATA_KEY
用于在 Avro schema 中存储类型名称的元数据键。
AVRO_ROOT_RECORD_DEFAULT_NAME
Avro schema 中根记录的默认名称。
CONFLUENT_MAGIC
Confluent “魔法”字节 (0x00)
EMPTY 🔒
Avro 规范中描述的 64 位 Rabin 指纹。
MAX_PREFIX_LEN
前缀的最大可能长度。SHA256 (32) + 单对象魔法 (2)
SCHEMA_METADATA_KEY
用于存储 JSON 编码 Schema 的元数据键
SINGLE_OBJECT_MAGIC
Avro 单对象编码“魔法”字节 (0xC3 0x01)

静态§

FINGERPRINT_TABLE 🔒
预计算的表。

函数§

arrow_field_to_avro 🔒
build_canonical 🔒
build_table 🔒
在编译时构建完整的 256 条目表。
compute_fingerprint_md5 🔒
计算规范形式的 128 位 MD5 指纹。
compute_fingerprint_rabin 🔒
为给定的规范 schema 字符串计算 64 位 Rabin 指纹。此实现基于 Avro 规范的 schema 指纹。
compute_fingerprint_sha256 🔒
计算规范形式的 256 位 SHA‑256 指纹。
datatype_to_avro 🔒
deserialize_default 🔒
extend_with_passthrough_metadata 🔒
将 Arrow schema 元数据条目复制到提供的 JSON 映射,跳过 Avro 保留键、内部 Arrow 键或嵌套在 avro.schema. 命名空间下的键。可解析为 JSON 的值将作为 JSON 插入;否则保留原始字符串。
is_avro_json_null 🔒
is_internal_arrow_key 🔒
make_full_name 🔒
merge_extras 🔒
min_fixed_bytes_for_precision 🔒
one_entry 🔒
构建多项式除法表的一个条目。
process_datatype 🔒
quote 🔒
sanitise_avro_name 🔒
union_branch_signature 🔒
wrap_nullable 🔒
write_prefix 🔒