0

谁能告诉在 Hadoop 中将 BytesWritable 类型转换为 InputStream 的最佳方法(在映射阶段)?我有使用 InputStream 类型的适当方法,我想在我的 MR 程序中使用它。

谢谢!

4

1 回答 1

2

在下面的代码中,您可以看到字节数组如何转换为输入流。现在要获取字节数组,您可以使用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){

        }
    }

}

}

于 2013-10-08T09:13:11.703 回答