2013-02-03 39 views
6

我很想知道在Avro中編碼兩種非常特定類型的數據的最佳實踐:時間戳和IP地址。Avro中特定數據類型的最佳實踐

我碰到了開放的時間戳JIRA票(https://issues.apache.org/jira/browse/AVRO-739),但看起來這個話題已經很安靜了一段時間。所以 - 在Avro中編碼時間戳的最佳實踐是什麼(最好是在MapReduce,Pig,Hive,Streaming上下文中進行下游使用)。另外,我想知道其他人正在做什麼來將IP地址編碼成Avro。

回答

1

我有一些Avro類型編碼的經驗。在我的情況下,一個很大的要求是通過Hive訪問數據。

  • 對於時間戳,我建議使用帶有unix時間戳的float。這是大多數其他庫所支持的,並且可以使用Hive輕鬆工作,因爲您可以投射到時間戳。

  • 對於IP地址我會使用字符串編碼。我認爲使用數據時字符串的可讀性使其成爲最佳類型。如果您有其他要求,例如保持數據大小不變,可能二進制編碼對您來說可能更好。