【问题标题】:When accessing Bigquery using Python API, what is the difference of using google client API and gcloud使用 Python API 访问 Bigquery 时,使用 google 客户端 API 和 gcloud 有什么区别
【发布时间】:2016-06-30 19:54:28
【问题描述】:

我搜索了 Python API 以与 google bigquery 进行交互。我发现有两个包提供了类似的 API:Google BigQuery 客户端(Google API 客户端包的一部分googleapiclient)和 Gcloud 包gcloud

以下是有关将这两个 API 用于 Bigquery 的文档: 谷歌 API 客户端:googleapiclient

https://developers.google.com/resources/api-libraries/documentation/bigquery/v2/python/latest/index.html https://cloud.google.com/bigquery/docs/reference/v2/

谷歌云包:gcloud

http://googlecloudplatform.github.io/gcloud-python/stable/bigquery-usage.html

这两个包都来自 google,并提供与 bigquery 交互的类似功能。我有以下困惑:

  1. 似乎这两个软件包都包含 Google Cloud Platform 的广泛功能。在我看来,gcloud 提供了命令行工具和本地环境设置。一般来说,这两个包有什么区别?

  2. 在python模块方面,它们的用法有什么区别?

  3. 这两个包之间有什么关系吗?
  4. 哪个更适合访问 Bigquery?
  5. 他们适合什么样的工作?

【问题讨论】:

    标签: python google-bigquery google-cloud-platform


    【解决方案1】:

    googleapiclient 客户端直接从原始 API 定义生成(定义是一个 json 文件,托管 here。)

    因为它是自动生成的,所以任何理智的 Python 程序员在尝试为 BigQuery 编写 Python 客户端时都不会这样做。也就是说,它是 API 的最低级别表示。

    另一方面,gcloud 客户端是 Google 的一群或多或少理智的人在试图弄清楚 BigQuery 的客户端应该是什么样子时提出的。它真的很不错,让您专注于重要的事情,而不是将 BigQuery API 中使用的奇怪 f/v 格式的结果转换成有用的东西。

    此外,gcloud API 的文档是由文档作者编写的。 googleapiclient 的文档和代码一样,是根据 API 的定义自动生成的。

    我的建议是使用 gcloud 客户端,我的建议是使用 gcloud 客户端。它会为您处理一堆低级细节,通常会让您的生活更轻松。

    【讨论】:

    • 除了 gcloud 客户端不能在 AppEngine 标准环境中运行。
    猜你喜欢
    • 1970-01-01
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 2014-02-27
    • 2020-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多