Hadoop 创建具有多个列族的基表
我是hbase的新手。我正在Microsoft Azure上使用HBase 1.1.2版。我有这样的数据Hadoop 创建具有多个列族的基表,hadoop,hbase,Hadoop,Hbase,我是hbase的新手。我正在Microsoft Azure上使用HBase 1.1.2版。我有这样的数据 id num1 rating 1 254 2 2 40 3 3 83 1 4 120 1 5 91 5 6 101 2 7 17 1 8 10 2 9 11 3 10 31 1 我试图创建一个包含两个柱族的表格 cr
id num1 rating
1 254 2
2 40 3
3 83 1
4 120 1
5 91 5
6 101 2
7 17 1
8 10 2
9 11 3
10 31 1
我试图创建一个包含两个柱族的表格
create 'table1', 'family1', 'family2'
当我装好桌子的时候
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv \
-Dimporttsv.columns="HBASE_ROW_KEY,family1:num1, family2:rating" table1 /metric.csv
我弄错了
Error: org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 5560 actions: org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family family2 does not exist in region table1
当我用一个列族修改表时,它起作用了
create 'table1', 'family1'
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv \
-Dimporttsv.columns="HBASE_ROW_KEY,family1:num1, family1:rating" table1 /metric.csv
如何调整表的创建以考虑多个列族?HBase ImportTsv在内部使用PUT操作将数据加载到HBase表中 一次仅将支撑加载到单个柱族中
并且从ImportTsv允许加载到多个柱族,Put操作也支持自古以来的多个柱族。您提供的第一个链接是关于从hbase外壳执行Put的,另一个链接是因为在hbase的古老版本中,跨多个列族不存在原子性保证。您能给我举个例子或向我指出文档请参阅ImportTSV文档。有关ImportTSV使用的Put版本,请参见。下面是另一个版本的Put,它直接支持添加多个列族,只要它是同一行:您使用的HBase版本是什么?我在Microsoft Azurate上使用的是1.1.2版。错误表明表实际上没有这两个列族。你能做一个“描述‘表1’”来检查一下吗。如果只看到一个列族,请尝试使用create'table1',{NAME=>'family1'},{NAME=>'family2'}