我在Google Cloud Platform上使用Datalab,并尝试使用google创建BigQuery数据集。 datalab .bigquery当我发现我需要仅在Google中使用的.Client
方法时。云 .bigquery库。
bigquery库的数据实验室版本和云版本之间有什么区别?
数据实验室是云库的精简版,还是有不同的预期用途?
答案 0 :(得分:2)
免责声明:这不是对预期用途的概述,也不是重大差异,而是对这些软件包之间的表面差异的概述。
一个(不令人满意的答案)可能是根据安装推断出使用情况。
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
因此,您可以看到,云大查询“更受欢迎”(由于它是通过google-cloud-python自动安装的?)。
如果您想进一步了解细节,请查看代码(github: google.cloud.bigquery与github: google.datalab.bigquery),您会发现软件包的代码有很多差异。
对github上的“见解”页面的进一步调查(cloud与pydatalab)向我们展示了更多差异:
cloud.bigquery存在的时间更长(自2014年1月起与2016年5月相比,假设自从回购存在以来就存在)。 Pydatalab get由除cloud.bigquery包之外的其他贡献者开发。最后,cloud.bigquery还有更多活动(可能还包括其他软件包)。
因此,即使这可能不是您想要或期望的答案,但从代码和文档的第一眼看(比较cloud到pydatalab),我可以说似乎即使pydatalab(似乎确实没有那么发达),它也更加舒适。答案是是,它们似乎是出于不同的目的。
答案 1 :(得分:1)
Google.cloud.bigquery是BigQuery的Python客户端库。它紧密地模仿BigQuery rest API,并且类似于Java,Go,c ++和其他语言的客户端库。本质上,它是使用bq服务可以完成的事情的Python包装器。
Google.datalab.bigquery是一个Python库,供数据科学家在笔记本中使用。例如,它具有一种获取BigQuery结果集并将其转换为熊猫数据框的方法。此外,mltoolbox还可以简化机器学习模型的训练和评估。没有等效的Java或Go。它使用客户端库与BigQuery进行实际对话。