Próbuję dodać nową kolumnę do istniejącej tabeli BigQuery. Próbowałem polecenia narzędzia bq i API. Dostaję następujący błąd podczas wywoływania funkcji Tables.update().BigQery dodaje kolumny do schematu tabeli
Próbowałem z zapewnieniem pełnego schematu z dodatkowym polem i to również daje mi ten sam błąd, jak pokazano poniżej.
Dzięki API dostaję następujący błąd:
{
"schema": {
"fields": [
{
"name": "added_column",
"type": "integer",
"mode": "nullable"
}
]
}
}
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalid",
"message": "Provided Schema does not match Table [blah]"
}
],
"code": 400,
"message": "Provided Schema does not match Table [blah]"
}
}
Dzięki narzędziu BQ mi się następujący błąd: ./bq aktualizacji -t bla added_column: integer
BigQuery błąd w operacji aktualizacji: Pod warunkiem Schema robi nie odpowiada tabeli [bla]
thnx. To działało – archman
Można również określić schemat w wierszu poleceń jako pojedynczą linię CSV, np. bq update dataset.table "name: string, age: integer". – Jon
To działa całkiem dobrze, mimo że dokumentacja bigquery mówi, że schematu tabeli nie można zaktualizować po utworzeniu: Po określeniu schematu tabeli nie można go zmienić bez uprzedniego usunięcia wszystkich powiązanych z nim danych. Jeśli chcesz zmienić schemat tabeli, musisz podać parametr writeDisposition WRITE_TRUNCATE. Aby uzyskać więcej informacji, zobacz zasób Praca. –