在表中插入没有行 ID 的行。
包含此代码示例的文档页面
如需查看上下文中使用的代码示例,请参阅以下文档:
代码示例
Java
试用此示例之前,请按照《BigQuery 快速入门:使用客户端库》中的 Java 设置说明进行操作。 如需了解详情,请参阅 BigQuery Java API 参考文档。
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryError;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.InsertAllRequest;
import com.google.cloud.bigquery.InsertAllResponse;
import com.google.cloud.bigquery.TableId;
import com.google.common.collect.ImmutableList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
// Sample to insert rows without row ids in a table
public class TableInsertRowsWithoutRowIds {
public static void main(String[] args) {
// TODO(developer): Replace these variables before running the sample.
String datasetName = "MY_DATASET_NAME";
String tableName = "MY_TABLE_NAME";
tableInsertRowsWithoutRowIds(datasetName, tableName);
}
public static void tableInsertRowsWithoutRowIds(String datasetName, String tableName) {
try {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests.
final BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
// Create rows to insert
Map<String, Object> rowContent1 = new HashMap<>();
rowContent1.put("stringField", "Phred Phlyntstone");
rowContent1.put("numericField", 32);
Map<String, Object> rowContent2 = new HashMap<>();
rowContent2.put("stringField", "Wylma Phlyntstone");
rowContent2.put("numericField", 29);
InsertAllResponse response =
bigquery.insertAll(
InsertAllRequest.newBuilder(TableId.of(datasetName, tableName))
.setRows(
ImmutableList.of(
InsertAllRequest.RowToInsert.of(rowContent1),
InsertAllRequest.RowToInsert.of(rowContent2)))
.build());
if (response.hasErrors()) {
// If any of the insertions failed, this lets you inspect the errors
for (Map.Entry<Long, List<BigQueryError>> entry : response.getInsertErrors().entrySet()) {
System.out.println("Response error: \n" + entry.getValue());
}
}
System.out.println("Rows successfully inserted into table without row ids");
} catch (BigQueryException e) {
System.out.println("Insert operation not performed \n" + e.toString());
}
}
}
Python
在尝试此示例之前,请按照《BigQuery 快速入门:使用客户端库》中的 Python 设置说明进行操作。如需了解详情,请参阅 BigQuery Python API 参考文档。
from google.cloud import bigquery
# Construct a BigQuery client object.
client = bigquery.Client()
# TODO(developer): Set table_id to the ID of table to append to.
# table_id = "your-project.your_dataset.your_table"
rows_to_insert = [
{u"full_name": u"Phred Phlyntstone", u"age": 32},
{u"full_name": u"Wylma Phlyntstone", u"age": 29},
]
errors = client.insert_rows_json(
table_id, rows_to_insert, row_ids=[None] * len(rows_to_insert)
) # Make an API request.
if errors == []:
print("New rows have been added.")
else:
print("Encountered errors while inserting rows: {}".format(errors))