mapreduce—在hadoop中将byteswritable类型转换为inputstream

rqenqsqc  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(457)

有谁能告诉我在hadoop中(Map阶段)将byteswritable类型转换为inputstream的最佳方法吗?我有合适的方法使用inputstream类型,我想在我的mr程序中使用它。
谢谢!

gxwragnw

gxwragnw1#

在下面的代码中,您可以看到字节数组是如何转换为输入流的。现在要获取字节数组,可以使用byteswritable get bytes方法来获取字节数组。在得到字节数组之后,您可以使用mapper中的上述代码逻辑来获得输入流。我希望这能回答您的问题。所以我认为这是我能建议的最好的方法之一。
嗨,我想你可以检查一下code:-

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){

        }
    }

}

}

相关问题