2017-07-19 614 views
0

第一次创建一个HBase表时,我希望以下面的方式创建多列的表(我知道下面的方法不会寻找类似的类的方式)..HBase:在一个列族中创建一个具有多个列的hbase表

create 'table_name','col_family:column1','col_family:column2' 

这是可能的吗?除了使用put命令并动态添加列到列家族之外,还有其他方法吗?

+0

为什么你需要在'Put'之前添加一列? HBase是无模式的,因此违背了它的逻辑。 – gorros

+0

实际上,我只需要一个hbase表,使用colum_famliy和它的列创建一个hive表就会指向它。我的pyspark代码插入到配置单元表中,内部记录将插入到hbase表中。 – sk7979

+0

未在Hive中指定模式是否足够? – gorros

回答

0

我认为这是违反HBase逻辑,这是不可能的。我浏览了文档并没有找到任何解决方案。在我的理解中,列族是元数据,但列限定符可能包含类似于单元格值的数据。因此,如果您没有数据,则不具有列限定符。

0

这是不可能的。只有在插入值时才会给出列族下的列名称。如果你想在下面添加列到CF试试。

put 'table_name', 'rowid','cf1:col1','Associate' 
put 'table_name', 'rowid','cf1:col2','Hbase' 

put 'table_name', 'rowid2','cf1:col1','PA' 
put 'table_name', 'rowid2','cf1:col2','Hbase ,Hadoop' 
put 'table_name', 'rowid2','cf1:col3','1' 

对于CF1列族col3列值为空。