Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Databricks Runtime 16.0 und höher
Gibt einen Avro-Binärwert mit dem angegebenen Eingabewert zurück.
Syntax
to_avro(expr [, avroSchemaSpec] )
Argumente
-
expr
: Ein Ausdruck. -
avroSchemaSpec
: Ein optionales Zielschema im JSON-Format. Wenn angegeben, muss sie dem Typ entsprechen, derexpr
in "Notizen" angegeben ist.
Gibt zurück
Ein Avro-codiert BINARY
.
Hinweise
Die Zuordnung von SQL-Typen zu Avro-Typen lautet wie folgt:
SQL-Typ | Avro-Schema |
---|---|
VOID |
{ "type" : "null" } |
BOOLEAN |
{ "type" : "boolean" } |
TINYINT |
{ "type" : "int" } |
SMALLINT |
{ "type" : "int" } |
INT |
{ "type" : "int" } |
BIGINT |
{ "type" : "long" } |
DECIMAL(p, s) |
{ "type": "fixed", "name": "a", logicalType": "decimal", "size": (p+1)/2, precision": p, "scale": s } |
FLOAT |
{ "type" : "float" } |
DOUBLE |
{ "type" : "float" } |
STRING |
{ "type" : "string" } |
DATE |
{ "type" : "int", "logicalType" : "date" } |
TIMESTAMP |
{ "type" : "long" } als Mikrosekunden seit 1970-01-01 00:00:00.000000 |
TIMESTAMP_NTZ |
{ "type" : "long" } als Mikrosekunden seit 1970-01-01 00:00:00.000000 |
YEAR MONTH INTERVAL |
{ "type" : "long" } als Monate |
DAY TIME INTERVAL |
{ "type" : "long" } als Mikrosekunden |
BINARY |
{ "type" : "bytes" } |
STRUCT<field1 type1, ...> |
{ "type" : "record", "name": "struct_name", "fields": [ { "name" : "field1", "type" : ... }, ... ] } |
ARRAY<type> |
{ "type" : "array", "items": { "type" : ... } |
MAP<STRING, valueType> |
{ "type" : "map", "keyType": { "type" : ... }, "valueType": { "type" : ... } } |
MAP<nonStringType, valueType> |
Nicht unterstützt |
VARIANT |
Nicht unterstützt |
Beispiele
> SELECT from_avro(to_avro(5), '{ "type" : "int" }');
5
> SELECT from_avro(to_avro(5, '{ "type" : "int" }'), '{ "type" : "int" }');
5
> SELECT from_avro(to_avro(named_struct('num', 5, 'txt', 'hello')), '{ "type" : "record", "name": "my_record", "fields": [{ "name": "num", "type": "int"}, { "name": "txt", "type": "string"}]}');
{"num":5,"txt":"hello"}