PostgreSQL, HAWQ 解释器
原文链接 : http://zeppelin.apache.org/docs/0.7.2/interpreter/postgresql.html
译文链接 : http://www.apache.wiki/pages/viewpage.action?pageId=10030883
重要的提醒
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 |
如何使用
Tip: Use (CTRL + .) for SQL auto-completion.
DDL和SQL命令
开始带有完整的%psql.sql
前缀标签的段落!短的符号:%psql
仍然可以运行查询,但语法突出显示和自动完成将被禁用。
您可以使用标准CREATE / DROP / INSERT命令创建或修改数据模型:
%psql.sql
drop table if exists mytable;
create table mytable (i int);
insert into mytable select generate_series(1, 100);
然后在单独的段落中运行查询。
%psql.sql
select * from mytable;
例如,这将执行两个查询,但只显示计数结果。如果您还原查询的顺序,则会显示mytable内容。
%psql.sql
select count(*) from mytable;
select * from mytable;
PSQL命令行工具
使用Shell Interpreter(%sh
)以交互方式访问命令行PSQL:
%sh
psql -h phd3.localdomain -U gpadmin -p 5432 <<EOF
\dn
\q
EOF
这将产生如下输出:
Name | Owner
--------------------+---------
hawq_toolkit | gpadmin
information_schema | gpadmin
madlib | gpadmin
pg_catalog | gpadmin
pg_toast | gpadmin
public | gpadmin
retail_demo | gpadmin
应用Zeppelin动态表单
您可以在查询内使用Zeppelin Dynamic Form。您可以使用参数化功能text input
和select form
参数化功能
%psql.sql
SELECT ${group_by}, count(*) as count
FROM retail_demo.order_lineitems_pxf
GROUP BY ${group_by=product_id,product_id|product_name|customer_id|store_id}
ORDER BY count ${order=DESC,DESC|ASC}
LIMIT ${limit=10};
示例HAWQ PXF / HDFS表格
创建HAWQ外部表,从HDFS中的标签分隔值数据读取数据。
%psql.sql
CREATE EXTERNAL TABLE retail_demo.payment_methods_pxf (
payment_method_id smallint,
payment_method_code character varying(20)
) LOCATION ('pxf://${NAME_NODE_HOST}:50070/retail_demo/payment_methods.tsv.gz?profile=HdfsTextSimple') FORMAT 'TEXT' (DELIMITER = E'\t');
并检索内容
%psql.sql
select * from retail_demo.payment_methods_pxf
自动完成
PSQL解释器提供基本的自动完成功能。在(Ctrl+.)
其中列出最相关的建议在弹出窗口。除了SQL关键字之外,解释器还提供了Schema,Table,Column名称的建议。