python-3.x - BigQuery 更新如何获取更新的行数

标签 python-3.x google-bigquery google-cloud-functions

我正在使用 Google Cloud Functions 连接到 Google Bigquery 数据库并更新一些行。云函数是使用 Python 3 编写的。

每当我通过该函数运行更新 dml 时,我都需要帮助弄清楚如何获取结果消息或更新/更改的行数。有任何想法吗?

from google.cloud import bigquery

def my_update_function(context,data):

    BQ = bigquery.Client()
    query_job = BQ.query("Update table set etc...")
    rows = query_job.result()
    return (rows)


我知道行总是作为 _emptyrowiterator 对象返回。我可以通过什么方式获得结果或结果消息?文档说我必须从 bigquery 作业方法中获取它。但是好像想不通。

最佳答案

我认为您正在搜索 QueryJob.num_dml_affected_rows .它包含受更新或任何其他 DML 语句影响的行数。如果你只是将它粘贴到你的代码而不是 rowsreturn声明您将获得数字为 int 或者您可以创建一些按摩,例如:

return("Number of updated rows: " + str(job_query.num_dml_affected_rows))

我希望它会有所帮助:)

关于python-3.x - BigQuery 更新如何获取更新的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58970341/

相关文章:

python-3.x - 如何通过Python使用selenium点击隐藏按钮

google-app-engine - 任何获取大查询执行计划的命令?

node.js - pg.Pool 不是构造函数

javascript - 如何在 for 循环中执行嵌套数据库查询?

python - 如何在 Firebase 中为 python 代码安排作业?

string - Python 硬编码字符串与 str() 方法之间的差异

python - 使用 curve_fit 拟合数据

google-analytics - 是否可以使用Google Dataflow处理Google Analytics(分析)数据?

python-3.x - 在 tkinter 中显示网格布局单元格

node.js - 将数据从 node.js 添加到 Google BigQuery 表