原文链接 : 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.driver org.postgresql.Driver
psql.url jdbc:postgresql://localhost:5432/
psql.user psqlUser
psql.password psqlPassword

依赖

Artifact Exclude
org.postgresql:postgresql:9.4-1201-jdbc41

概述

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

  • PostgreSQL - OSS,对象关系数据库管理系统(ORDBMS)
  • pache HAWQ(孵化) - 强大的开源SQL-On-Hadoop引擎。
  • Greenplum - 建立在开源PostgreSQL上的MPP数据库。
    视频教程说明了该功能提供的一些功能Postgresql Interpreter
名称 描述
%psql.sql PostgreSqlInterpreter 为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 URL jdbc:postgresql://localhost:5432
postgresql.user JDBC用户名 gpadmin
postgresql.password JDBC密码
postgresql.driver.name JDBC驱动程序名称。在此版本中,驱动程序名称是固定的,不应该更改 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名称的建议。