Update Big Query Table Schema

前端 未结 2 606
后悔当初
后悔当初 2021-01-13 19:03

I have a table already in BQ that is populated with data. I want to rename the headings (update the schema) of the table. I\'m using command line tool

Presuming it\'

相关标签:
2条回答
  • 2021-01-13 19:24

    As Mosha says, renaming columns is not supported via API, but you could run a query that scans the whole table and overwrites it.

    bq query --nouse_legacy_sql \
     --destination_table p:d.table \
     --replace \
     'SELECT * EXCEPT(col1,col2), col1 AS newcol1, col2 AS newcol2 FROM `p.d.table`'
    

    Warning: This overwrites the table. But that's what you wanted anyways.

    0 讨论(0)
  • 2021-01-13 19:29

    The correct syntax on command line would be

    bq update --schema col1:STRING,col2,STRING dataset.table

    However, renaming fields is not supported schema change - you will get error message saying

    Provided Schema does not match table

    You can only add new fields or relax existing fields (i.e. from REQUIRED to NULLABLE).

    0 讨论(0)
提交回复
热议问题