gpt4 book ai didi

hadoop - 从Hadoop文本对象提取内容

转载 作者:行者123 更新时间:2023-12-02 21:58:10 25 4
gpt4 key购买 nike

我正在使用来自Hadoop(0.20.203.0)Java库的Text对象中的大文本。我需要从中提取XML内容,而无需将整个对象转换为Java String(通过使用.toString())。

有人可以举例说明如何执行此操作吗?

阅读文档(http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/io/Text.html),我假设我将需要使用.decode()函数。

Text t = "....<content>secret</content>...."
int start = t.find("<content>");
int end = t.find("</content>", start);
t.decode(String.getBytes(), start+7, end);

我不明白如何使用函数的第一个参数。

最佳答案

您的代码看起来基本上是正确的。 decode的第一个参数是您要用来创建String的字节数组。

从文档:

public static String decode(byte[] utf8, int start, int length) 

它说 utf8只是说它期望您的字节缓冲区采用UTF-8格式( Text默认使用该格式)。因此您的代码将是:
Text.decode(t.getBytes(), start+7, end);

因为 decode是静态函数。另外,查看 Text的源代码,这不应增加您的内存占用,因为 getBytes()将引用返回给 Text对象保存的基础字节数组。

关于hadoop - 从Hadoop文本对象提取内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7076789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com