google.datalab.bigquery 和 google.cloud.bigquery 之间的区别
Difference between google.datalab.bigquery and google.cloud.bigquery
我在 Google Cloud Platform 上使用 Datalab 并尝试使用 google.datalab.bigquery 创建 BigQuery 数据集,当我发现我需要仅在 google.cloud.bigquery 库中的 .Client
方法。
bigquery 库的数据实验室和云版本有何区别?
datalab one 是云库的精简版,还是它们有不同的用途?
免责声明:这不是预期用途的概述,也不是深层差异,而是这些软件包之间表面差异的概述。
一个(不满意的答案)可能是分析使用情况,从安装中推断。
Row project num_downloads
1 google-cloud-bigquery 619666
2 datalab 5313
我使用 bigquery 查询推断出这一点(如 here 所述):
#standardSQL
SELECT
file.project,
COUNT(*) AS num_downloads
FROM
`the-psf.pypi.downloads*`
WHERE
file.project IN ('google-cloud-bigquery','datalab')
-- Only query the last 60 days of history
AND _TABLE_SUFFIX BETWEEN FORMAT_DATE(
'%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 60 DAY))
AND FORMAT_DATE('%Y%m%d', CURRENT_DATE())
GROUP BY
file.project
ORDER BY
num_downloads DESC
因此您可以看到,cloud bigquery 是 "more popular"(因为它会自动安装 google-cloud-python?)。
如果您想了解更多细节,请查看代码 (github: google.cloud.bigquery vs github: google.datalab.bigquery),您会发现包的代码有很多差异。
对 github (cloud vs pydatalab) 上的 Insights 页面的进一步调查向我们展示了更多差异:
cloud.bigquery 存在时间更长(自 2014 年 1 月起与 2016 年 5 月相比,假设自回购存在以来它就存在)。 Pydatalab 由 cloud.bigquery 包以外的其他贡献者开发。最后,cloud.bigquery 还有一些 activity(可能与其他包相关也包括在内)。
所以,即使这可能不是您想要或期望的答案,我可以说,从代码和文档的第一眼来看(比较 cloud vs pydatalab),pydatalab 似乎是 sligthly即使它(似乎)没有那么发达,也会更舒适。所以答案是YES,他们似乎是为了不同的目的。
google.cloud.bigquery
是 BigQuery 的 Python 客户端库。它提供对 BigQuery rest API 的所有功能的访问,类似于 Java、Go、C++ 和其他语言的客户端库。它本质上是您可以使用 bq 服务执行的操作的惯用 Python 包装器。
google.datalab.bigquery
是一个 Python 库,旨在供数据科学家在笔记本中使用。例如,它有一个获取 BigQuery 结果集并将其转换为 pandas 数据框的方法。此外,mltoolbox 可简化机器学习模型的训练和评估。没有 Java 或 Go 等价物。它使用客户端库实际与 BigQuery 对话。
更新(2019 年 7 月):google.cloud.bigquery 现已更新,包含 datalab 包过去提供的许多好东西,包括 Pandas互操作性。在这一点上,google.cloud.bigquery 应该被认为是首选的做事方式,即使在笔记本中也是如此。例如,%%bigquery
魔法是 google.cloud.bigquery 的一部分。不要在 Datalab 中使用 mltoolbox,而是使用 BigQuery ML 直接在 BigQuery 中训练 ML 模型。
我在 Google Cloud Platform 上使用 Datalab 并尝试使用 google.datalab.bigquery 创建 BigQuery 数据集,当我发现我需要仅在 google.cloud.bigquery 库中的 .Client
方法。
bigquery 库的数据实验室和云版本有何区别?
datalab one 是云库的精简版,还是它们有不同的用途?
免责声明:这不是预期用途的概述,也不是深层差异,而是这些软件包之间表面差异的概述。
一个(不满意的答案)可能是分析使用情况,从安装中推断。
Row project num_downloads
1 google-cloud-bigquery 619666
2 datalab 5313
我使用 bigquery 查询推断出这一点(如 here 所述):
#standardSQL
SELECT
file.project,
COUNT(*) AS num_downloads
FROM
`the-psf.pypi.downloads*`
WHERE
file.project IN ('google-cloud-bigquery','datalab')
-- Only query the last 60 days of history
AND _TABLE_SUFFIX BETWEEN FORMAT_DATE(
'%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 60 DAY))
AND FORMAT_DATE('%Y%m%d', CURRENT_DATE())
GROUP BY
file.project
ORDER BY
num_downloads DESC
因此您可以看到,cloud bigquery 是 "more popular"(因为它会自动安装 google-cloud-python?)。
如果您想了解更多细节,请查看代码 (github: google.cloud.bigquery vs github: google.datalab.bigquery),您会发现包的代码有很多差异。
对 github (cloud vs pydatalab) 上的 Insights 页面的进一步调查向我们展示了更多差异:
cloud.bigquery 存在时间更长(自 2014 年 1 月起与 2016 年 5 月相比,假设自回购存在以来它就存在)。 Pydatalab 由 cloud.bigquery 包以外的其他贡献者开发。最后,cloud.bigquery 还有一些 activity(可能与其他包相关也包括在内)。
所以,即使这可能不是您想要或期望的答案,我可以说,从代码和文档的第一眼来看(比较 cloud vs pydatalab),pydatalab 似乎是 sligthly即使它(似乎)没有那么发达,也会更舒适。所以答案是YES,他们似乎是为了不同的目的。
google.cloud.bigquery
是 BigQuery 的 Python 客户端库。它提供对 BigQuery rest API 的所有功能的访问,类似于 Java、Go、C++ 和其他语言的客户端库。它本质上是您可以使用 bq 服务执行的操作的惯用 Python 包装器。
google.datalab.bigquery
是一个 Python 库,旨在供数据科学家在笔记本中使用。例如,它有一个获取 BigQuery 结果集并将其转换为 pandas 数据框的方法。此外,mltoolbox 可简化机器学习模型的训练和评估。没有 Java 或 Go 等价物。它使用客户端库实际与 BigQuery 对话。
更新(2019 年 7 月):google.cloud.bigquery 现已更新,包含 datalab 包过去提供的许多好东西,包括 Pandas互操作性。在这一点上,google.cloud.bigquery 应该被认为是首选的做事方式,即使在笔记本中也是如此。例如,%%bigquery
魔法是 google.cloud.bigquery 的一部分。不要在 Datalab 中使用 mltoolbox,而是使用 BigQuery ML 直接在 BigQuery 中训练 ML 模型。