Tipi Di Dati Avro

Versione:
2023.1
Last modified: July 26, 2023

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Il mapping dei tipi da Alteryx a Avro è il seguente:
  6. Bool: mantenuto come booleano
  7. Byte, Int16, Int32: Maintained Int (32 bit)
  8. Int64: mantenuto come lungo (64 bit)
  9. Float: mantenuto come galleggiante
  10. Doppia: mantenuta doppia
  11. FixedDecimal: convertito in doubleFixedDecimal: Converted to Double
  12. Stringa, V_String, Data, Ora, DateTime: mantenuto come stringa (UTF-8)
  13. WString, V_WString: convertito in stringa (UTF-8)
  14. Blob, SpatialBlob: mantenuto come byteBlob, SpatialBlob: Maintained as Bytes
  15. : 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
Questa pagina è stata utile?

Si sono verificati problemi con il tuo prodotto Alteryx? Visita la community Alteryx o contatta il supporto. Non riesci a inviare questo modulo? Inviaci un'e-mail.