sam_ten2001
sam_ten2001

Reputation: 33

Is there any other way to insert data in BigQuery via API apart from via streaming data

Is there any other way to insert data in BigQuery via API apart from via streaming data i.e. Table.insetAll

InsertAllResponse response = bigquery.insertAll(InsertAllRequest.newBuilder(tableId)
    .addRow("rowId", rowContent)
    .build())

Upvotes: 0

Views: 80

Answers (1)

Willian Fuks
Willian Fuks

Reputation: 11797

As you can see in the docs, you also have 2 other possibilites:

Loading from Google Cloud Storage, BigTable, DataStore

Just run a job.insert method from the job resource and set as metadata the field configuration.load.sourceUri.

In the Python Client, this is done in the method LoadTableFromStorageJob.

You can therefore just send your files to GCS for instance and then have an API call to bring the files to BigQuery.

Media Upload

This is also a job.load operation but this time the HTTP request also carries binaries from a file in your machine. So you can pretty much send any file that you have in your disk with this request (given the format is accepted by BQ).

In Python, this is done in the resource table Table.upload_from_file.

Upvotes: 2

Related Questions