Open andrewnet opened 9 years ago
Which of the Schemes are you using? What is the error message you are getting?
The scheme is created by using the following code:
Fields keyFields = new Fields( "rowkey" ); String[] familyNames = {"cf1", "cf2"}; Fields[] valueFields = new Fields[]{new Fields( "col1" ), new Fields( "col1" )}; Tap hBaseTap = new HBaseTap( "multitable", new HBaseScheme( keyFields, familyNames, valueFields ), SinkMode.REPLACE );
The exception will be something like below:
Exception in thread "main" java.lang.IllegalArgumentException: duplicate field name found: col1
at cascading.tuple.Fields.validate(Fields.java:835)
at cascading.tuple.Fields.
HBase does not have any limit on the column names cross multiple column families. For instance, if you have column family 'cf1' and 'cf2', you can have the same column name in these column families, i.e. 'cf1:col1', 'cf2:col1'.
However, this is not allowed in cascading.hbase. If you try to create such scheme, cascading.hbase throws an exception. This should be allowed since it is a very basic usage.