У меня есть источник федерации в BigQuery, который указывает на некоторые файлы CSV в GCS.Чтение BigQuery федеративной таблицы как источника в Dataflow вызывает ошибку
Когда я пытаюсь читать таблицы объединения BigQuery в качестве источника для Dataflow трубопровода, он выдает следующее сообщение об ошибке:
1226 [main] ERROR com.google.cloud.dataflow.sdk.util.BigQueryTableRowIterator - Error reading from BigQuery table Federated_test_dataflow of dataset CPT_7414_PLAYGROUND : 400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Cannot list a table of type EXTERNAL.",
"reason" : "invalid"
} ],
"message" : "Cannot list a table of type EXTERNAL."
}
ли Dataflow не поддерживают федеративные источники в BigQuery, или я делаю что-то неправильно ? Я знаю, что я мог бы читать файлы из GCS непосредственно в моем конвейере, но я предпочел бы работать с объектами BigQuery TableRow
вместо этого из-за дизайна приложения.
PCollection<TableRow> results = pipeline.apply("fed-test", BigQueryIO.Read.from("<project_id>:CPT_7414_PLAYGROUND.Federated_test_dataflow")).apply(ParDo.of(new DoFn<TableRow, TableRow>() {
@Override
public void processElement(ProcessContext c) throws Exception {
System.out.println(c.element());
}
}));
Какой бегун вы используете? «DirectPipelineRunner», «DataflowPipelineRunner» или «BlockingDataflowPipelineRunner»? –
DirectPipelineRunner –
@polleyg Мы добавили еще один ответ, если это поможет. –