You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by y_...@tsmc.com on 2010/01/28 02:24:25 UTC
Create table with one version only
Hi,
Following code is I got used to create table with index.
Now, I think it's no need for us to keep multiple version of data.
How can I set my hbase table only to keep one version of data?
Better to give me some codes that I can add to my following function.
Thanks
public void createTableWithIdx(String tablename,String
columnfamily,String idx_columnfamily,String idx_column) throws IOException
{
HTableDescriptor desc = new HTableDescriptor(tablename);
String[] temp;
String delimiter = ",";
temp = columnfamily.split(delimiter);
for(int i =0; i < temp.length ; i++){
desc.addFamily(new HColumnDescriptor(temp[i]));
}
IndexedTableDescriptor idx_desc = new IndexedTableDescriptor(desc);
idx_desc.addIndex(new IndexSpecification(idx_column,
Bytes.toBytes(idx_columnfamily+":"+idx_column)));
IndexedTableAdmin admin = null;
admin = new IndexedTableAdmin(config);
admin.createIndexedTable(idx_desc);
System.out.println(tablename+" "+" create table and index
successfully");
}
Fleming Chiu(邱宏明)
707-6128
y_823910@tsmc.com
週一無肉日吃素救地球(Meat Free Monday Taiwan)
---------------------------------------------------------------------------
TSMC PROPERTY
This email communication (and any attachments) is proprietary information
for the sole use of its
intended recipient. Any unauthorized review, use or distribution by anyone
other than the intended
recipient is strictly prohibited. If you are not the intended recipient,
please notify the sender by
replying to this email, and then delete this email and any copies of it
immediately. Thank you.
---------------------------------------------------------------------------
Re: Create table with one version only
Posted by James Baldassari <ja...@dataxu.com>.
I recently had to do something similar both programmatically in a unit
test and from the hbase shell. I'm not using an index, but this is
probably similar to what you're doing:
HTableDescriptor table = new HTableDescriptor("tableName");
HColumnDescriptor column = new HColumnDescriptor("columnFamily");
column.setMaxVersions(1); // Limits versions to 1
table.addFamily(column);
HBaseAdmin hBaseAdmin = new HBaseAdmin(...);
hBaseAdmin.createTable(table);
>>From the hbase shell:
create 'tableName', {NAME=>'columnFamily', VERSIONS=>1}
Hope this helps.
-James
On Wed, 2010-01-27 at 19:24 -0600, y_823910@tsmc.com wrote:
> Hi,
>
> Following code is I got used to create table with index.
> Now, I think it's no need for us to keep multiple version of data.
> How can I set my hbase table only to keep one version of data?
> Better to give me some codes that I can add to my following function.
> Thanks
>
> public void createTableWithIdx(String tablename,String
> columnfamily,String idx_columnfamily,String idx_column) throws IOException
> {
> HTableDescriptor desc = new HTableDescriptor(tablename);
> String[] temp;
> String delimiter = ",";
> temp = columnfamily.split(delimiter);
> for(int i =0; i < temp.length ; i++){
> desc.addFamily(new HColumnDescriptor(temp[i]));
> }
> IndexedTableDescriptor idx_desc = new IndexedTableDescriptor(desc);
> idx_desc.addIndex(new IndexSpecification(idx_column,
> Bytes.toBytes(idx_columnfamily+":"+idx_column)));
> IndexedTableAdmin admin = null;
> admin = new IndexedTableAdmin(config);
> admin.createIndexedTable(idx_desc);
> System.out.println(tablename+" "+" create table and index
> successfully");
> }
>
>
>
>
> Fleming Chiu(邱宏明)
> 707-6128
> y_823910@tsmc.com
> 週一無肉日吃素救地球(Meat Free Monday Taiwan)
>
>
> ---------------------------------------------------------------------------
> TSMC PROPERTY
> This email communication (and any attachments) is proprietary information
> for the sole use of its
> intended recipient. Any unauthorized review, use or distribution by anyone
> other than the intended
> recipient is strictly prohibited. If you are not the intended recipient,
> please notify the sender by
> replying to this email, and then delete this email and any copies of it
> immediately. Thank you.
> ---------------------------------------------------------------------------
>
>
>