here is the thing what i do ,i think not only mapreduce error . shell_1: create 't1','f'
shell_2: scan 't1' shell_3: deleteall 't1','a' shell_4: major_compact 't1' javacode: HBaseConfiguration hconf = new HBaseConfiguration(new Configuration()); hconf.addResource(HbaseMapr.class.getResource("/hbase-site.xml")); HTable ptable = new HTable(hconf, "t1".getBytes()); Put p = new Put("a".getBytes()); Date d = DateUtil.getDate("yyyy-MM-dd", "2010-10-24"); p.add("f".getBytes(), Bytes.toBytes(d.getTime()), d.getTime(), "o1".getBytes()); d = DateUtil.getDate("yyyy-MM-dd", "2010-10-23"); p.add("f".getBytes(), Bytes.toBytes(String.valueOf(d.getTime())), d.getTime(), "o2".getBytes()); ptable.put(p); ptable.flushCommits(); 1、i ran shell_1 to create table 2、i ran javacode to put some simple data into hbase 3、i ran shell_2 ------------------------------------------------ ROW COLUMN+CELL a column=f:1287763200000, timestamp=1287763200000, value=o2 a column=f:1287849600000, timestamp=1287849600000, value=o1 -------------------------------------------------- 4、i ran shell_3 and shell_2 delete data --------------------------------------------------- ROW COLUMN+CELL -------------------------------------------------------- 5、i ran javacode again. 6、i ran shell_2 to scan ,insert data failed ---------------------------------------------------------- ROW COLUMN+CELL ---------------------------------------------------------- 7、i ran shell_4 8、i ran javacode again. 9、i ran shell_2 to scan ,insert data failed ---------------------------------------------------------- ROW COLUMN+CELL ---------------------------------------------------------- 在 2010年12月2日 下午6:17,Lars George <lars.geo...@gmail.com>写道: > So you are using explicit time stamps for the put calls? Is this related to > > https://issues.apache.org/jira/browse/HBASE-3300 > > by any chance? You have to be extra careful with explicit timestamps > as newer deletes can mask readding puts that have an older timestamp. > > Try this: > > 1. Do the MR job > 2. Do the delete from the shell > 3. Check that it was deleted from the shell > 4. Run a major compaction of the table on the shell (e.g. > "major_compact <tablename>") > 5. Re-run the MR job > 6. Check if the value is there again. > > And finally let us know here :) > > Lars > > On Thu, Dec 2, 2010 at 2:48 AM, 梁景明 <futur...@gmail.com> wrote: > > 0.20.6 > > > > 2010/12/2 Lars George <lars.geo...@gmail.com> > > > >> What version of HBase are you using? > >> > >> On Dec 1, 2010, at 9:24, 梁景明 <futur...@gmail.com> wrote: > >> > >> > i found that if i didnt control timestamp of the put > >> > mapreduce can run, otherwise just one time mapreduce. > >> > the question is i scan by timestamp to get my data > >> > so to put timestamp is my scan thing. > >> > > >> > any ideas ? thanks. > >> > > >> > 2010/12/1 梁景明 <futur...@gmail.com> > >> > > >> >> Hi,i found a problem in my hbase mapreduce case. > >> >> > >> >> when first running mapreduce TableMapReduceUtil runs ok. > >> >> > >> >> and i use hbase shell to delete some data from the table that > mapreduce > >> one > >> >> . > >> >> > >> >> then ran mapreduce to insert some new data. > >> >> > >> >> no thing data changed, mapreduce didnt work. > >> >> > >> >> after that i drop the table and recreate it > >> >> > >> >> run mapreduce again ,data inserted successful. > >> >> > >> >> what happen to mapreduce . > >> >> > >> >> Is it only can insert table just one time? > >> >> > >> > > >