По данным сайта Beam ,
Часто быстрее и проще выполнять локальное модульное тестирование на вашем
код конвейера, чем для отладки удаленного выполнения конвейера.
Я хочу использовать тестовую разработку для своего приложения Beam / Dataflow, которое по этой причине пишет в Bigtable.
Однако, следуя документации по тестированию Beam, я попал в тупик - PAssert бесполезен, потому что выходной PCollection содержит объекты org.apache.hadoop.hbase.client.Put, которые не переопределяют метод equals.
Я не могу получить содержимое PCollection для проверки на них, так как
Невозможно получить содержимое PCollection напрямую -
Apache Beam или Dataflow больше похож на план запроса того, что
обработка должна быть сделана, с PCollection, являющейся логическим
промежуточный узел в плане, а не содержащий данные.
Так как я могу протестировать этот конвейер, кроме запуска его вручную? Я использую Maven и JUnit (в Java, поскольку это все, что поддерживает Bigtable Connector , кажется, поддерживает).