使用Java API,我试图用Put()
来HBase 1.1.x的某些文件的内容。为此,我创建了WholeFileInput类(ref:Using WholeFileInputFormat with Hadoop MapReduce still results in Mapper processing 1 line at a time),以使MapReduce读取整个文件而不是一行。但不幸的是,我无法弄清楚如何从给定的文件名组成我的rowkey。插入文件名为rowkey使用HBase MapReduce
实施例:
输入:
文件123.txt
文件524.txt
文件9577.txt
...
file-“anotherNumber”.txt
结果在我的HBase的表:
行-----------------价值
123 ---------- -------
524 -----------------
“第二个文件的内容” ...等
“一号文件内容”如果有人已经面临这种情况来帮助我吧
在此先感谢。
不知道我是否理解,你只是想把文件放入HBase?如果你想这样做,只需将该文件作为一个字节数组读取并放入Hbase – Whitefret
@Whitefret是的,但不仅如此,我已经解决了如何将整个文件放入HBase的问题,现在,它是关于生成rowkey从文件名。我已经为此写了一个方法,将文件名作为输入并返回一个字符串(= myRowKey),但我无法想象如何从映射函数 – mttb12
中调用此方法,您不需要此映射函数,除非有大文件,在这种情况下,您不应该使用HBase – Whitefret