Hadoop 创建具有多个列族的基表

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

我是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
我试图创建一个包含两个柱族的表格

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'}