Ich habe Probleme beim Erstellen einer einfachen Tabelle mit Avro als Importformat. Ich möchte eine typische Tabelle mit N Spalten primitiver Datentypen erstellen, zum Beispiel eine Tabelle mit den Spalten c1 STRING
und c2 INTEGER
.Einfügen von Zeilen mit mehreren Spalten in BigQuery mit Avro
Ich benutze Schema wie diese
{
"type": "record",
"name": "x",
"fields": [
{
"name": "c1",
"type": "string"
},
{
"name": "c2",
"type": "int"
}
]
}
Dies führt in eine Spalte mit dem Namen root
vom Typ RECORD
c1
und c2
verschachtelt zu haben.
Wie kann in eine Tabelle importiert werden, die zwei Spalten c1
und c2
mit Avro hat? Oder ist es derzeit möglich, nur Tabellen mit einer Spalte mit dem festen Namen root
zu erstellen?
Ich habe versucht, andere Ansätze:
- Avro Typ
array
(vonstring
) erstellt eine Spalten mit Namenroot
vom TypSTRING REPEATED
- Simplest Schema wie
{"type":"string"}
mit NamenSTRING
root
vom Typ einer Spalte erzeugt. Dieser Ansatz lässt nicht mehr als eine Spalte erstellen und ändert auch nicht den Namen der Spalte.
ging ich davon aus, dass JSON und Avro haben die gleichen Eigenschaften und Avro könnte anstelle von JSON verwendet werden, die nicht ein gutes Format in Bezug auf Flächenverbrauch ist. Dies ist nicht der Fall (zumindest jetzt), stattdessen hat Avro diese Einschränkung, dass Sie keine beliebigen Spaltennamen verwenden können. In meinem Fall erwartet unsere Verarbeitungspipeline, dass Spalten bestimmte Namen haben, jetzt kann ich das aufgrund des impliziten Präfixes "root_" nicht erreichen. IMHO ist es eine gültige Benutzeranforderung für eine Analyse-Datenbank, dass Endbenutzer die Spalten frei benennen können. Bitte unterstützen Sie diese Funktion in der Zukunft und dokumentieren Sie die aktuelle Funktion. – codeholic
bisher, mit Root-Stuff - es ist völlig nutzlos überbewertet Feature und Zeitverschwendung! Stammdatensatz wird dort planen zu entfernen, so Benutzer kann vollständig das Schema steuern ?? –