2013-02-03 13 views
6

Sono curioso di comprendere le migliori pratiche per la codifica di due tipi di dati molto specifici all'interno di Avro: Timestamp e indirizzi IP.Best practice per tipi di dati specifici in Avro

Mi sono imbattuto nel biglietto JIRA aperto per Timestamps (https://issues.apache.org/jira/browse/AVRO-739), ma sembra che l'argomento sia stato tranquillo per qualche tempo. Quindi - Quali sono le migliori pratiche per la codifica di Timestamp in Avro (preferibilmente per l'utilizzo a valle in un contesto MapReduce, Pig, Hive, Streaming).

Inoltre, sarei interessato a sapere cosa stanno facendo le altre persone per codificare gli indirizzi IP in Avro.

risposta

1

Ho una certa esperienza con la codifica dei tipi in Avro. Nel mio caso, un grande requisito è l'accesso ai dati attraverso Hive.

  • Per gli indicatori di data, si consiglia di utilizzare un valore float con timestamp unix. Questo è supportato dalla maggior parte delle altre librerie e funziona facilmente con Hive poiché puoi eseguire il cast in timestamp.

  • Per gli indirizzi IP vorrei utilizzare una codifica stringa. Penso che la leggibilità delle stringhe quando si utilizzano i dati lo rende il miglior tipo per cui andare. Se hai altri requisiti, come mantenere la dimensione dei dati, forse una codifica binaria potrebbe essere migliore per te.