BigQuery 解释器
原文链接 : http://zeppelin.apache.org/docs/0.7.2/interpreter/bigquery.html
译文链接 : http://www.apache.wiki/pages/viewpage.action?pageId=10030770
概述
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。