I am trying to insert a lot of rows into a table (my target is to insert a billion dummy rows). This is what I did:
- I wrote the billion SQL lines corresponding to the inserts into a file.
./hbase shell < insert.sql
First few inserts go through fine, but very soon I keep on running into this error
put 'test', 'row19115', 'cf:a', '19115'
ERROR: java.lang.OutOfMemoryError: unable to create new native thread
Here is some help for this command:
Put a cell 'value' at specified table/row/column and optionally
timestamp coordinates. To put a cell value into table 't1' at
row 'r1' under column 'c1' marked with the time 'ts1', do:
hbase> put 't1', 'r1', 'c1', 'value', ts1
- How to fix this error / Is there a better way to do it?
- Also, is there some other way to do the inserts rather than writing them to a file everytime?