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

译文链接 : http://cwiki.apachecn.org/pages/viewpage.action?pageId=10030883

贡献者 : 片刻 ApacheCN Apache中文网

重要的提醒

Postgresql解释器将被弃用并合并到JDBC解释器中。您可以使用具有相同功能的JDBC Interpreter使用Postgresql。请参阅下面的设置和依赖关系示例。

属性

属性
psql.driverorg.postgresql.Driver
psql.urljdbc:postgresql://localhost:5432/
psql.userpsqlUser
psql.passwordpsqlPassword

依赖

ArtifactExclude
org.postgresql:postgresql:9.4-1201-jdbc41

概述

该解释器无缝地支持以下SQL数据处理引擎:

名称描述
%psql.sqlPostgreSqlInterpreter为PostgreSQL,HAWQ和Greenplum提供SQL环境

创建解释器

默认情况下,Zeppelin创建一个PSQL实例。您可以删除它或创建新的实例。

可以创建多个PSQL实例,每个配置为相同或不同的后端数据库。但是随着时间的推移, Notebook可以只有一个PSQL解释器实例bound。这意味着您无法连接到不同的数据库Notebook。这是一个已知的齐柏林限制。

要创建新的PSQL实例,请打开该Interpreter部分并单击该+Create按钮。选择Name您的选择,并从Interpreter下拉列表中选择psql。然后按照配置说明和Save新实例进行操作。

注意:该Name实例仅用于将实例绑定到该实例Notebook。这Name是不相干的Notebook。在Notebook你必须使用%psql.sql标签。

绑定到笔记本

Notebook上点击settings在右上角的图标。选择/取消选择要与之绑定的口译员Notebook

配置

您可以从该Interpreter部分修改PSQL的配置。PSQL解释器支出以下属性:

属性名称描述默认值
postgresql.url要连接的JDBC URLjdbc:postgresql://localhost:5432
postgresql.userJDBC用户名gpadmin
postgresql.passwordJDBC密码
postgresql.driver.nameJDBC驱动程序名称。在此版本中,驱动程序名称是固定的,不应该更改org.postgresql.Driver
postgresql.max.result要显示的SQL结果的最大数量,以防止浏览器超载
1000

如何使用

  1. Tip: Use (CTRL + .) for SQL auto-completion.

DDL和SQL命令

开始带有完整的%psql.sql前缀标签的段落!短的符号:%psql仍然可以运行查询,但语法突出显示和自动完成将被禁用。

您可以使用标准CREATE / DROP / INSERT命令创建或修改数据模型:

  1. %psql.sql
  2. drop table if exists mytable;
  3. create table mytable (i int);
  4. insert into mytable select generate_series(1, 100);

然后在单独的段落中运行查询。

  1. %psql.sql
  2. select * from mytable;

注意:您可以在同一段落中有多个查询,但只显示第一个查询结果。[ 1 ],[ 2 ]。

例如,这将执行两个查询,但只显示计数结果。如果您还原查询的顺序,则会显示mytable内容。

  1. %psql.sql
  2. select count(*) from mytable;
  3. select * from mytable;

PSQL命令行工具

使用Shell Interpreter(%sh)以交互方式访问命令行PSQL

  1. %sh
  2. psql -h phd3.localdomain -U gpadmin -p 5432 <<EOF
  3. \dn
  4. \q
  5. EOF

这将产生如下输出:

  1. Name | Owner
  2. --------------------+---------
  3. hawq_toolkit | gpadmin
  4. information_schema | gpadmin
  5. madlib | gpadmin
  6. pg_catalog | gpadmin
  7. pg_toast | gpadmin
  8. public | gpadmin
  9. retail_demo | gpadmin

应用Zeppelin动态表单

您可以在查询内使用Zeppelin Dynamic Form。您可以使用参数化功能text inputselect form参数化功能

  1. %psql.sql
  2. SELECT ${group_by}, count(*) as count
  3. FROM retail_demo.order_lineitems_pxf
  4. GROUP BY ${group_by=product_id,product_id|product_name|customer_id|store_id}
  5. ORDER BY count ${order=DESC,DESC|ASC}
  6. LIMIT ${limit=10};

示例HAWQ PXF / HDFS表格

创建HAWQ外部表,从HDFS中的标签分隔值数据读取数据。

  1. %psql.sql
  2. CREATE EXTERNAL TABLE retail_demo.payment_methods_pxf (
  3. payment_method_id smallint,
  4. payment_method_code character varying(20)
  5. ) LOCATION ('pxf://${NAME_NODE_HOST}:50070/retail_demo/payment_methods.tsv.gz?profile=HdfsTextSimple') FORMAT 'TEXT' (DELIMITER = E'\t');

并检索内容

  1. %psql.sql
  2. select * from retail_demo.payment_methods_pxf

自动完成

PSQL解释器提供基本的自动完成功能。在(Ctrl+.)其中列出最相关的建议在弹出窗口。除了SQL关键字之外,解释器还提供了Schema,Table,Column名称的建议。