【发布时间】:2019-07-03 13:38:14
【问题描述】:
我是一名 Ruby 开发人员,从事大量数据工作,因此决定改用 Python。到目前为止,我很享受这种转变,并被 Pandas、Jupyter Notebooks 等所震撼。
我当前的任务是编写一个轻量级的 RESTful API,它在后台运行针对 Google BigQuery 的查询。
我在 Flask 中运行了一个非常简单的测试,它运行良好,但我在将 BigQuery 响应呈现为 JSON 时遇到了问题。为了解决这个问题,我使用了 Pandas,然后将数据帧转换为 JSON。虽然它有效,但这感觉像是一个不必要的步骤,我什至不确定这是否是 Pandas 的合法用例。我还读到随着数据量的增加,创建数据框可能会很慢。
下面是我在 Flask 中的小模拟测试。听听经验丰富的 Python 开发人员如何处理这个问题以及我是否应该在这里查看其他库,这将非常有帮助。
from flask import Flask
from google.cloud import bigquery
import pandas
app = Flask(__name__)
@app.route("/bq_test")
def bq_test():
client = bigquery.Client.from_service_account_json('/my_creds.json')
sql = """select * from `my_dataset.my_table` limit 1000"""
query_job = client.query(sql).to_dataframe()
return query_job.to_json(orient = "records")
if __name__ == "__main__":
app.run()
【问题讨论】:
标签: python pandas flask google-bigquery