除了通过流媒体数据,还有其他方法可以通过API在BigQuery中插入数据,即Table.insetAll
InsertAllResponse response = bigquery.insertAll(InsertAllRequest.newBuilder(tableId)
.addRow("rowId", rowContent)
.build())
答案 0 :(得分:2)
正如您在docs中所看到的,您还有其他两个可能性:
从Google云端存储,BigTable,DataStore
加载
只需从job.insert资源运行job方法,然后将字段configuration.load.sourceUri设置为元数据。
在Python客户端中,这是在方法LoadTableFromStorageJob中完成的。
因此,您可以将文件发送到GCS,然后进行API调用以将文件带到BigQuery。
媒体上传
这也是job.load操作,但这次HTTP请求还会从您机器中的文件中携带二进制文件。因此,您可以使用此请求发送磁盘中的任何文件(假设BQ接受该格式)。
在Python中,这是在资源表Table.upload_from_file中完成的。