Hi guys, I was trying to insert into an HBase table with Flink 0.8.1 and it seems to be not possible without creating a custom version of the HBase TableOutputFormat that specialize Mutation with Put. This is my code using the standard Flink APIs:
myds.output(new HadoopOutputFormat<Text, Put>(new TableOutputFormat<Text>(), job)); and this is the Exception I get: Exception in thread "main" org.apache.flink.api.common.functions.InvalidTypesException: Interfaces and abstract classes are not valid types: class org.apache.hadoop.hbase.client.Mutation at org.apache.flink.api.java.typeutils.TypeExtractor.privateGetForClass(TypeExtractor.java:885) at org.apache.flink.api.java.typeutils.TypeExtractor.privateGetForClass(TypeExtractor.java:877) .... So I had to copy the TableOutputFormat, rename it as HBaseTableOutputFormat and change Mutation to Put as TableOutputFormat Type argument. However the table filed is not initialized because setConf is not called. Is this a bug of the HadoopOutputFormat wrapper that does not check is the outputFormat is an instance of Configurable and call setConf (as it happens for the inputSlit)? Best, Flavio