Github user fhueske commented on the issue:
https://github.com/apache/flink/pull/3149
The points I raised effect the API and different people tend to have
different opinions about APIs ;-).
I suggested to use a flat schema with that names columns
`columnFamily$qualifier`, i.e., no nesting but composing the column name from
`colFamily` and `qualifier` and separating them by `$`. Internally we can and
should still use the `family`-`qualifier` but just map everything to a flat
schema. The question is whether this would that make the `HBaseTableSource`
harder to use. I don't think the column access (`family.qualifier` vs.
`family$qualifier`) would be much harder, but acting with families that have
lots of columns would be more cumbersome, because each column would be a
top-level column and would need to be explicitly selected in a `SELECT` clause.
In the nested case, all columns of a family are conveniently grouped together.
Regarding the `HBaseTableSchema`, we could also use it only internally and
not expose it to the user. The `HBaseTableSource` would have a method
`addColumn()` and forward the calls to its internal `HBaseSchema`.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---