Background
I want to insert/append newline formatted JSON into bigquery
table through python client API.
Eg:
{"name":"xyz",mobile:xxx,location:"abc"}
{"name":"xyz",mobile:xxx,age:22}
Issue is, all fields in a row are optional and there is no fixed defined schema for the data.
Query
I have read that we can use Federated tables, which supports autoschema detection.
However, I am looking for a feature, that would automatically detect schema from data,create tables accordingly and even adjust the table schema if any extra columns/keys appear in data instead of creating new table.
Would this be possible using python client API.
You can use autodetect with BigQuery load API, i.e. your example using bq cli tool will look like following:
Update: If later you need to add additional fields, you can use schema_update_option to allow new fields. Alas it doesn't yet work with autodetect, so you need to provide new schema explicitly to the load API: