Tipi Di Dati Avro
Utilizzare lo strumento Dati di inputper leggere i file Avro non compressi e desolati e lo strumento Dati di output per scrivere ifile Avro.
Input
È supportata solo la compressione Deflate.
La maggior parte dei 14 tipi di dati Avro nativi sono supportati. Il mapping dei tipi all'importazione da è il seguente:
- Stringa: UTF-8 convertito in V_WString (UTF-16)
- Byte: mantenuto come BLOB (usare lo strumento BLOB per eseguire la conversione in base alle esigenze)Bytes: Maintained as blob (use Blob Tool to convert as necessary)
- Int: mantenuto come Int32
- Lungo: mantenuto come Int64
- Float: mantenuto come galleggiante
- Doppia: mantenuta doppia
- Boolean: mantenuto come Bool
- Null: non supportato
- Enum: convertito in equivalente stringa
- Unione: Alteryx supporta unioni con due sottotipi. Entrambi i sottotipi devono essere equivalenti (ad esempio, entrambi int o entrambi double) o uno di essi deve essere Null.
- Il tipo di campo Alteryx sarà il tipo del ramo non null (o entrambi i rami nel caso in cui entrambi siano non null)
- Se il ramo non null è attivo, il campo Alteryx conterrà tale valore
- Se il ramo null è attivo, il campo Alteryx verrà impostato su null
- Le unioni non valide vengono importate come JSON in un V_WString (usare lo strumento di analisi JSON per eseguire la conversione in base alle esigenze). Ad esempio, un'unione con un int come ramo attivo può essere rappresentata come "int":123".
- Risolto: mantenuto come BLOB (usare lo strumento BLOB per eseguire la conversione in base alle esigenze)Fixed: Maintained as blob (use Blob Tool to convert as necessary)
I tipi Avro seguenti non sono supportati in modo nativo, ma vengono importati come JSON in una stringa (usare lo strumento di analisi JSONper eseguire la conversione in base alle esigenze):The following Avro types are not supported natively, but are imported as JSON into a String (use the JSON Parse tool to convert as necessary):
- Record: Ad esempio, "SubField1":7,"SubField2":"Field2" per un record contenente sia int che campi stringa
- Matrice: ad esempio, "[1,2,3,4,5]" per una matrice di int
- Mappa: Ad esempio, ""Chiave1":Valore1,"Chiave2":Valore2" per una mappa di stringa da raddoppiare
Output
Quando si scrivono file Avro, sono disponibili due opzioni:
Se questa opzione non è selezionata, tutti i campi di output verranno scritti come tipi Avro nativi (non di unione). I campi Alteryx null verranno scritti come valore predefinito (ad esempio, il numero 0 per un int32 e una stringa vuota per un campo stringa).
È consigliabile usare uno strumento Formula per gestire valori Null con un valore 'noto' in modo che possano essere gestiti in Hadoop.Consider using a Formula toolto handle Null values with a 'known' value so they can be handled in Hadoop.
- Abilita compressione (Depurazione): l'abilitazione della compressione aumenterà il tempo di output ma, con file più grandi, ridurrà anche il tempo di rete. La compressione supportata utilizza l'algoritmo DEFLATE (essenzialmente gzip) e deve essere supportata in modo nativo da altri strumenti compatibili con Avroe.
- Quando si scrivono file Avro, sono disponibili due opzioni: se questa opzione non è selezionata, tutti i campi di output verranno scritti come tipi Avro nativi (non unione). I campi Alteryx null verranno scritti come valore predefinito (ad esempio, il numero 0 per un int32 e una stringa vuota per un campo stringa). È consigliabile usare uno strumento Formula per gestire valori Null con un valore 'noto' in modo che possano essere gestiti in Hadoop.Consider using a Formula toolto handle Null values with a 'known' value so they can be handled in Hadoop.
- Abilita compressione (sgonfiare): l'abilitazione della compressione aumenta il tempo di output ma, con file di dimensioni maggiori, riduce anche il tempo di rete. La compressione supportata utilizza l'algoritmo DEFLATE (essenzialmente gzip) e deve essere supportata in modo nativo da altri strumenti compatibili con Avroe.
- Supporta valori Null: selezionando questa opzione verranno scritti _all_ fields come Unions con un ramo null e un ramo di valore. Se il valore Alteryx è null, l'unione Avro di output avrà il ramo null selezionato, altrimenti avrà il ramo del valore selezionato.
- Il mapping dei tipi da Alteryx a Avro è il seguente:
- Bool: mantenuto come booleano
- Byte, Int16, Int32: Maintained Int (32 bit)
- Int64: mantenuto come lungo (64 bit)
- Float: mantenuto come galleggiante
- Doppia: mantenuta doppia
- FixedDecimal: convertito in doubleFixedDecimal: Converted to Double
- Stringa, V_String, Data, Ora, DateTime: mantenuto come stringa (UTF-8)
- WString, V_WString: convertito in stringa (UTF-8)
- Blob, SpatialBlob: mantenuto come byteBlob, SpatialBlob: Maintained as Bytes
- : selezionando questa opzione verranno scritti _all_ fields come Unions con un ramo null e un ramo di valore. Se il valore Alteryx è null, l'unione Avro di output avrà il ramo null selezionato, altrimenti avrà il ramo del valore selezionato.
Il mapping dei tipi da Alteryx a Avro è il seguente:
- Bool: mantenuto come booleano
- Byte, Int16, Int32: Maintained Int (32 bit)
- Int64: mantenuto come lungo (64 bit)
- Float: mantenuto come galleggiante
- Doppia: mantenuta doppia
- FixedDecimal: convertito in doubleFixedDecimal: Converted to Double
- Stringa, V_String, Data, Ora, DateTime: mantenuto come stringa (UTF-8)
- WString, V_WString: convertito in stringa (UTF-8)
- Blob, SpatialBlob: mantenuto come byteBlob, SpatialBlob: Maintained as Bytes