我想弄清楚如何使用級聯來對照架構隨時間推移添加的數據存檔。例如,爲什麼我的意思是添加劑是從3列開始的。然後在下一個版本中可能有5列。這些列遵循標準的CSV佈局。我的理解是,如果我指定一個模式爲5列長,而舊模式只有3,那麼級聯將失敗。使用Hadoop級聯更改模式
有沒有辦法告訴級聯填補缺失的列?像一個默認= null?
我想弄清楚如何使用級聯來對照架構隨時間推移添加的數據存檔。例如,爲什麼我的意思是添加劑是從3列開始的。然後在下一個版本中可能有5列。這些列遵循標準的CSV佈局。我的理解是,如果我指定一個模式爲5列長,而舊模式只有3,那麼級聯將失敗。使用Hadoop級聯更改模式
有沒有辦法告訴級聯填補缺失的列?像一個默認= null?
事實證明,在分隔文本的情況下,該方案有一個特殊的構造函數。這裏的構造函數Cascading JavaDoc表示我們可以調整解析的嚴格性。如果你說嚴格是錯誤的,Cascading會將數據加載到最後加上null。對此的疑惑似乎是可以理解的,因爲在cascading user group中有兩條關於如何執行此操作的線程。
而不是硬編碼您的架構,您可以使其配置驅動。
我的意思是你可以在屬性文件/ xml文件中定義你的列列表。
這樣就不需要經常更改代碼。
例如:
列:cloumn1,列2,欄3
您可以在字符串數組直接傳遞給Fields構造函數。
事實上,我已經在我當前的項目中成功實現了這一點。
可能是Fields.UNKNOWN對你有用 – 2012-08-21 11:43:29