我计划通过在hbase中提及starttime
和endtime
来导出表格。由于我是新手,我假设开始时间和结束时间是与行一起插入的时间戳。
我的表包括:
ROW COLUMN+CELL 1 column=d:A, timestamp=1439284609013, value=HHHH 1 column=d:B, timestamp=1439284620216, value=HHHH111 2 column=d:A, timestamp=1439284637133, value=HHHH 2 column=d:B, timestamp=1439284641872, value=HHHH111 3 column=d:A, timestamp=1439284646830, value=HHHH 3 column=d:B, timestamp=1439284651527, value=HHHH111 3 column=d:C, timestamp=1439284665492, value=HHHH
我执行了:
hbase org.apache.hadoop.hbase.mapreduce.Export emp1 ~/KT/bkp 1439284609013 1439284641872
我得到了:
Exception in thread "main" java.lang.NumberFormatException: For input string: "1439284609013"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:495)
at java.lang.Integer.parseInt(Integer.java:527)
at org.apache.hadoop.hbase.mapreduce.Export.getConfiguredScanForJob(Export.java:112)
at org.apache.hadoop.hbase.mapreduce.Export.createSubmittableJob(Export.java:96)
at org.apache.hadoop.hbase.mapreduce.Export.main(Export.java:201)
帮我做什么
答案 0 :(得分:4)
异常的确切原因是,1439284609013
数字太大而无法容纳Integer
。
然而,实际问题在于其他地方。我查看了源代码,你的参数似乎错了:
emp1 ~/KT/bkp 1439284609013 1439284641872
您已经提供了String
,另一个String
和两个Long
,这些是
args[0]
:tableName
args[1]
:outputDir
args[2]
:startTime
args[3]
:endTime
问题是,你错过了一个论点:args[2]
应该是Integer
,startTime
应该成为args[3]
而endTime
应该成为args[4]
Integer
。
在源代码中,预期的第三个versions
参数称为Export
,但我并不完全知道这意味着什么。
浏览源代码是一回事,但official docs还提供了$ bin/hbase org.apache.hadoop.hbase.mapreduce.Export <tablename> <outputdir> [<versions> [<starttime> [<endtime>]]]
语法如下:
<versions>
默认情况下,导出工具仅导出给定单元格的最新版本,而不管存储的版本数量。要导出多个版本,请将
1
替换为所需的版本数。
要获得您最初想要的东西,只需简单地添加hbase org.apache.hadoop.hbase.mapreduce.Export emp1 ~/KT/bkp 1 1439284609013 1439284641872
作为第三个参数:
$(document).ready(function(){
var myJson = {
"one": "Singular sensation",
"two": "Beady little eyes",
"three": "Little birds pitch by my doorstep"
};
alert(myJson.one);
});
答案 1 :(得分:3)
时间戳通常与Long类型相关联,具有64位
整数有32位,Java中的范围仅为-2,147,483,648到2,147,483,647
答案 2 :(得分:0)
我只输入了开始时间和结束时间。导出在开始和结束时间之前预期版本。所以最后我输入了它的版本号。
./hbase org.apache.hadoop.hbase.mapreduce.Export emp1 ~/KT/bkp 2147483647 1439284609013 1439284646830