Avro-Datentypen
Mithilfe des Eingabedaten-Tools können Sie unkomprimierte und mit Verkleinerung komprimierte Avro-Dateien lesen. Mithilfe des Datenausgabe-Tools können Sie Avro-Dateien schreiben.
Eingabe
Es wird nur die Komprimierung mit Verkleinerung unterstützt.
Die meisten der 14 systemeigenen Avro-Datentypen werden unterstützt. Die Typenzuordnung beim Importieren ist wie folgt:
Zeichenfolge: UTF-8 wird in „V_WString“ (UTF-16) konvertiert
Bytes: Beibehalten als Blob (verwenden Sie das Blob-Tool zur Konvertierung wie erforderlich)
Int: Beibehalten als Int32
Long: Wird als Int64 beibehalten
Float: Wird als Float beibehalten
Double: Wird als Double beibehalten
Boolesch: Wird als Bool beibehalten
Null: Nicht unterstützt
Enum: Konvertiert zu Zeichenfolgen-Äquivalent
Union: Alteryx unterstützt Vereinigungen mit zwei Untertypen. Beide Untertypen müssen äquivalent (z. B. beide Int oder beide Double) oder einer davon muss Null sein.
Der Alteryx-Feldtyp ist der Typ des Nicht-Null-Zweigs (oder beide Zweige für den Fall, dass beide nicht null sind).
Wenn der Nicht-Null-Zweig aktiv ist, enthält das Alteryx-Feld diesen Wert.
Wenn der Null-Zweig aktiv ist, wird das Alteryx-Feld auf Null festgelegt.
Ungültige Vereinigungen werden als JSON in einen V_WString importiert (verwenden Sie das JSON-Parse-Tool zur Konvertierung wie erforderlich). Beispielsweise wird eine Vereinigung mit einem Int als aktiver Zweig als „{"int":123}“ dargestellt.
Fixed: Beibehalten als Blob (verwenden Sie das Blob-Tool zur Konvertierung wie erforderlich)
Die folgenden Avro-Typen werden systemintern nicht unterstützt, sondern als JSON in eine Zeichenfolge importiert (verwenden Sie das JSON-Parse-Tool zur Konvertierung wie erforderlich):
Datensatz: „{"SubField1":7,"SubField2":"Field2"}“ ist ein Beispiel für einen Datensatz, der sowohl Int- als auch Zeichenfolgenfelder enthält.
Array: „[1,2,3,4,5]“ ist ein Beispiel für ein Array von Ints.
Zuordnung: „{"Key1":Value1,"Key2":Value2}“ ist ein Beispiel für eine Zuordnung einer Zeichenfolge zu Double.
Ausgabe
Beim Schreiben von Avro-Dateien stehen Ihnen zwei Optionen zur Verfügung:
Komprimierung aktivieren (Verkleinern) : Durch die Aktivierung der Komprimierung wird die Ausgabezeit erhöht, doch bei größeren Dateien wird auch die Netzwerkzeit verkürzt. Die unterstützte Komprimierung verwendet den DEFLATE-Algorithmus (im Prinzip GZIP) und sollte systemeigen von anderen Avro-fähigen Tools wie Hive unterstützt werden.
Nullwerte unterstützen : Durch Auswahl dieser Option wird „_alle_Felder“ als Vereinigung mit einem Null-Zweig und einem Wert-Zweig geschrieben. Wenn der Alteryx-Wert null ist, dann ist bei der Ausgabe-Avro-Vereinigung der Null-Zweig ausgewählt, andernfalls wird dessen Wert-Zweig ausgewählt.
Wenn diese Option nicht ausgewählt ist, werden alle Ausgabefelder als deren systemeigene Avro-Typen (keine Vereinigung) geschrieben. Alteryx-Felder, die null sind, werden als deren Standardwert geschrieben (z. B. die Zahl 0 für einen int32 und eine leere Zeichenfolge für ein Zeichenfolgenfeld).
Verwenden Sie eventuell ein Formel-Tool , um Nullwerte mit einem „bekannten“ Wert zu verarbeiten, sodass sie in Hadoop verarbeitet werden können.
Die Typenzuordnung von Alteryx zu Avro ist wie folgt:
Bool: Beibehalten als Boolesch
Byte, Int16, Int32: Beibehalten als Int (32 Bit)
Int64: Beibehalten als Long (64 Bit)
Float: Wird als Float beibehalten
DateTime as Date, Time, DateTime
Double: Wird als Double beibehalten
FixedDezimal: Konvertiert in Double
String, V_String, Date, Time, DateTime: Beibehalten als String (UTF-8)
WString, V_WString: Konvertiert in String (UTF-8)
Blob, SpatialBlob: Beibehalten als Bytes