Разница между google.datalab.bigquery и google.cloud.bigquery - PullRequest
0 голосов
/ 24 июня 2018

Я использую Datalab на Google Cloud Platform и пытался создать набор данных BigQuery с помощью Google. datalab .bigquery, когда обнаружил, что мне нужен метод .Client, который был только в Google. cloud .bigquery library.

В чем разница между datalab и облачными версиями библиотеки bigquery?

Является ли datalab one уменьшенной версией облачной библиотеки или у них другое предназначение?

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

google.cloud.bigquery - клиентская библиотека Python для BigQuery.Он обеспечивает доступ ко всем функциональным возможностям API-интерфейса BigQuery и аналогичен клиентской библиотеке для Java, Go, C ++ и других языков.По сути, это идиоматическая оболочка Python для вещей, которые вы можете делать с помощью службы bq.

google.datalab.bigquery - это библиотека Python, предназначенная для использования в тетрадях для ученых-данных.Например, у него есть метод, позволяющий взять набор результатов BigQuery и преобразовать его во фрейм данных Pandas.Также, mltoolbox для упрощения обучения и оценки моделей машинного обучения.Нет эквивалента Java или Go.Он использует клиентскую библиотеку для фактического общения с BigQuery.

Обновление (июль 2019 г.) : google.cloud.bigquery был обновлен и теперь содержит много приятных вещей, которые пакет datalab использовал дляобеспечить, в том числе совместимость панд.На этом этапе google.cloud.bigquery следует считать предпочтительным способом работы, даже в записных книжках.Например, магия %%bigquery входит в состав google.cloud.bigquery.Вместо использования mltoolbox в Datalab, используйте BigQuery ML для обучения моделей ML непосредственно в BigQuery.

0 голосов
/ 25 июня 2018

Отказ от ответственности : Это не обзор предполагаемого использования или глубоких различий, а обзор поверхностных различий между этими пакетами.

Один (неудовлетворительный ответ) можно проанализировать использование, выводя из установок.

Row project                 num_downloads    
1   google-cloud-bigquery   619666   
2   datalab                 5313

Я сделал вывод, используя запрос BigQuery (как описано здесь ):

#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

Поэтому выВы можете видеть, что облачные bigquery «более популярны» (из-за того, что они автоматически устанавливаются вместе с google-cloud-python?).

Если вы хотите углубиться в детали, взгляните на код( github: google.cloud.bigquery vs github: google.datalab.bigquery ), вы увидите, что в коде пакетов много различий.

Дальнейшее изучение страницы Insights на github ( cloud vs pydatalab ) показывает нам больше различий:

cloud.bigquery существует дольше (с января 2014 года по сравнению с маем2016, если он существуетпоскольку репо существует).Pydatalab get разработан другими участниками, кроме пакета cloud.bigquery.И, наконец, cloud.bigquery обладает еще большей активностью (возможно, связанной с другими включенными пакетами).

Итак, даже если это может быть не то, что вы хотели или ожидали в качестве ответа, я могу сказать изСначала посмотрите на код и документацию (сравните cloud vs pydatalab ), что кажется, что pydatalab немного удобнее, даже если он (кажется, что) не настолько развит.Таким образом, ответ ДА , они, кажется, для разных целей.

...