Как загрузить данные в Google Cloud Bigtable из Google BigQuery
Мне нужно заполнить данные в Google Cloud Bigtable, а источником данных будет Google BigQuery.
В качестве упражнения я могу читать данные из BigQuery, а в качестве отдельного упражнения я также могу записывать данные в Bigtable.
Теперь мне нужно объединить эти две операции в одно задание Google Cloud Dataflow. Любой пример будет очень полезен.
2 ответа
Решение
Вы можете просто использовать преобразования, как показано в этих примерах, добавляя между ними любую логику, например:
Pipeline p = Pipeline.create(options);
.apply(BigQueryIO.Read.from("some_table"))
.apply(ParDo.of(new DoFn<TableRow, Row>() {
public void processElement(ProcessContext c) {
Row output = somehowConvertYourDataToARow(c.element());
c.output(output);
}
})
.apply(BigtableIO.Write.withTableId("some_other_table");
Для людей, которые хотят преобразовать данные больших запросов в большие таблицы в будущем, можно обратиться по следующей ссылке