Skip to content

BigQuery 解释器

原文链接 : http://zeppelin.apache.org/docs/0.7.2/interpreter/bigquery.html

译文链接 : https://www.apachecn.org/pages/viewpage.action?pageId=10030770

贡献者 : 片刻 ApacheCN Apache中文网

概述

BigQuery是Google Cloud Platform中高度可扩展的无操作数据仓库。如果没有正确的硬件和基础架构,则查询大量数据集可能会耗时且昂贵。Google BigQuery通过使用Google基础设施的处理能力,启用超级快速SQL查询,仅针对仅附加表格来解决此问题。简单地将您的数据移动到BigQuery中,让我们处理辛苦的工作。您可以根据业务需求控制对项目和数据的访问,例如让他人查看或查询您的数据。

配置

Name Default Value Description
zeppelin.bigquery.project_id   Google 项目ID
zeppelin.bigquery.wait_time 5000 以毫秒为单位查询超时
zeppelin.bigquery.max_no_of_rows 100000 最大结果集大小

BigQuery API

Zeppelin是针对BigQuery API版本v2-rev265-1.21.0 - API Javadocs构建的。

启用BigQuery解释器

在笔记本中,要启用BigQuery解释器,请单击Gear图标并选择bigquery

设置服务帐户凭据

为了在Google Cloud Engine之外运行BigQuery解释器,您需要按照以下说明提供身份验证凭据

  • 转到API控制台凭据页面
  • 从项目下拉列表中选择您的项目。
  • Credentials页面上,选择Create credentials下拉菜单,然后选择Service account key
  • 从服务帐户下拉列表中,选择一个现有的服务帐户或创建一个新的服务帐户。
  • 对于Key type,选择JSON键选项,然后选择Create。该文件自动下载到您的计算机。
  • *.json您刚刚下载的文件放在您选择的目录中。该目录必须是私有的(您不能让任何人访问此目录),但您的Zeppelin实例可以访问。
  • 将环境变量设置为下载GOOGLE_APPLICATION_CREDENTIALS的JSON文件的路径。
    • 无论是GUI:在解释器配置页面CAPITAL_CASE中的属性名称设置env vars
    • 或者zeppelin-env.sh:只是将其添加到文件的末尾。

使用BigQuery解释器

在段落中,用于%bigquery.sql选择BigQuery解释器,然后根据存储在BigQuery中的数据集输入SQL语句。您可以使用BigQuery SQL Reference构建自己的SQL。

例如,SQL可使用航班公开数据集来查询机场前十名的出发延迟

%bigquery.sql
SELECT departure_airport,count(case when departure_delay>0 then 1 else 0 end) as no_of_delays 
FROM [bigquery-samples:airline_ontime_data.flights] 
group by departure_airport 
order by 2 desc 
limit 10 

另一个例子,SQL从BigQuery中托管的github数据中查询最常用的java包

%bigquery.sql
SELECT
  package,
  COUNT(*) count
FROM (
  SELECT
    REGEXP_EXTRACT(line, r' ([a-z0-9\._]*)\.') package,
    id
  FROM (
    SELECT
      SPLIT(content, '\n') line,
      id
    FROM
      [bigquery-public-data:github_repos.sample_contents]
    WHERE
      content CONTAINS 'import'
      AND sample_path LIKE '%.java'
    HAVING
      LEFT(line, 6)='import' )
  GROUP BY
    package,
    id )
GROUP BY
  1
ORDER BY
  count DESC
LIMIT
  40 

技术说明

有关当前实现的深入技术细节请参考bigquery/README.md


我们一直在努力

apachecn/AiLearning

【布客】中文翻译组