我正在研究如何編寫一個通用數據清理框架,該框架根據爲給定數據集配置的位置和類型來清理整個行。從數據設置如下整個行的Hive UDF作爲輸入
樣品輸入記錄,
100| John | Mary | 10Sep2013 | 10,23,4
現在的配置將基於上的位置(從索引1開始)。例如,在位置2修剪空間,在位置4轉換爲蜂巢標準日期,在位置5刪除逗號。這是在數據集級別配置的。
現在,如果這些必須插入配置單元或豬,那麼應該有一種方法讓hive \ Pig UDF接受整行作爲輸入。 UDF應根據可配置的字段分隔符分析行,並根據位置應用字段\列專用操作。這樣,豬或蜂房或其他什麼都用於這種基於行的操作並不重要。我知道這對抽象hive \ pig特定行類型並提供基於通用位置的getter有點牽扯。
爲整個行調用UDF也許有意義,而不是爲每個列調整速度。
有沒有一種方法讓hive \ pig UDF接受整行文本作爲輸入?
@Raju,在第二個選項,如何使用將整個行(所有列)傳遞給Hive中的UDF。在Pig中,你可以使用UDF_Test(*)來做到這一點,在那裏你得到一個包含所有列的元組並輸出任何你想要的東西。 – learninghuman
哦,謝謝你的信息。我很高興知道這一點。 –