谁能说出在Hadoop中将字节可写类型转换为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){
}
}
}
}