Skip to content

PostgreSQL, HAWQ 解释器

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

译文链接 : https://www.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 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; 

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

例如,这将执行两个查询,但只显示计数结果。如果您还原查询的顺序,则会显示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 inputselect 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名称的建议。


我们一直在努力

apachecn/AiLearning

【布客】中文翻译组