0
我需要將Pig格式化的地圖字符串表示(例如「['k1'#'v1','k2'#'v2']」)轉換爲Map對象。 我寧願使用豬實現而不是自己實現它。 我找到了一個相反的轉換方法:DataType.mapToString(圖M)在Pig API中有沒有與DataType.mapToString(Map <String,Object> m)相反的方法?
我需要將Pig格式化的地圖字符串表示(例如「['k1'#'v1','k2'#'v2']」)轉換爲Map對象。 我寧願使用豬實現而不是自己實現它。 我找到了一個相反的轉換方法:DataType.mapToString(圖M)在Pig API中有沒有與DataType.mapToString(Map <String,Object> m)相反的方法?
如果你真的堅持到豬,你可以想出如下:
...
import org.apache.pig.builtin.Utf8StorageConverter;
...
public class Test {
public static void main(String[] args) throws IOException {
String mapStr = "[k1#v1,k2#v2]";
Utf8StorageConverter converter = new Utf8StorageConverter();
Map<String, Object> map = converter.bytesToMap(mapStr.getBytes());
for (Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println(entry.getKey() + " :: " + entry.getValue());
}
}
}
我假設你有豬V0。 10.0
這正是我一直在尋找的,謝謝。 – tul 2013-03-11 10:13:14