谁能告诉在 Hadoop 中将 BytesWritable 类型转换为 InputStream 的最佳方法(在映射阶段)?我有使用 InputStream 类型的适当方法,我想在我的 MR 程序中使用它。
谢谢!
谁能告诉在 Hadoop 中将 BytesWritable 类型转换为 InputStream 的最佳方法(在映射阶段)?我有使用 InputStream 类型的适当方法,我想在我的 MR 程序中使用它。
谢谢!
在下面的代码中,您可以看到字节数组如何转换为输入流。现在要获取字节数组,您可以使用BytesWritable get bytes方法来获取字节数组。在得到字节数组后,您可以在映射器中使用上述代码逻辑来获取输入流。我希望能回答您的查询。所以我认为这可能是我可以建议的最佳方法之一。
嗨,我认为您可以检查以下代码:-
public class ByteArrToInputStream {
public static void main(String a[]){
String str = "converting to input stream";
byte[] content = str.getBytes();
int size = content.length;
InputStream is = null;
byte[] b = new byte[size];
try {
is = new ByteArrayInputStream(content);
is.read(b);
System.out.println("Data Recovered: "+new String(b));
} catch (IOException e) {
e.printStackTrace();
} finally {
try{
if(is != null) is.close();
} catch (Exception ex){
}
}
}
}