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?
> >> >>
> >>
> >
>

Reply via email to