Thanks for pushing this forward 👍 Just to sum up the discussion we had over 
slack, I think there is one key part missing.

The current implementation does not support streaming use case. This would 
require doing additional GBK (group by key and window), where key would be a 
"file id" and we should write one output folder per window. Except for 
streaming, this would also allow to configure number of output files (right now 
it equals to number of "beam partitions"; FileIO is already doing this I 
believe).

Few notes on the HBase bulk load. This also requires additional GBK (key is the 
region id) and it also requires output to be sorted within single region. Again 
we need to control number of output files (it should equal to # of regions - 
GBK solves this). I believe sorting within single key was already discussed on 
the mailing list several times and remains unresolved (we should probably bring 
it back to discussion).

We could also easily do streaming per-window bulkload, if we output the 
commited output folders to downstream operator which would perform 
`LoadIncrementalHfiles`.

Thanks for the effort! Good job 👍 

[ Full content available at: https://github.com/apache/beam/pull/6306 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to