hawq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From yo...@apache.org
Subject incubator-hawq-docs git commit: HAWQ-1164 hcatalog access restrictions (lisakowen via dyozie) closes apache/incubator-hawq-docs#63
Date Tue, 22 Nov 2016 16:39:28 GMT
Repository: incubator-hawq-docs
Updated Branches:
  refs/heads/develop 6aacfbbc7 -> 8353b4c21


HAWQ-1164 hcatalog access restrictions (lisakowen via dyozie) closes apache/incubator-hawq-docs#63


Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq-docs/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq-docs/commit/8353b4c2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq-docs/tree/8353b4c2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq-docs/diff/8353b4c2

Branch: refs/heads/develop
Commit: 8353b4c21aef71348034edb844dab189f482e814
Parents: 6aacfbb
Author: David Yozie <yozie@apache.org>
Authored: Tue Nov 22 08:38:53 2016 -0800
Committer: David Yozie <yozie@apache.org>
Committed: Tue Nov 22 08:38:53 2016 -0800

----------------------------------------------------------------------
 pxf/HivePXF.html.md.erb | 40 ++++++++++++++++++++++++++++------------
 1 file changed, 28 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq-docs/blob/8353b4c2/pxf/HivePXF.html.md.erb
----------------------------------------------------------------------
diff --git a/pxf/HivePXF.html.md.erb b/pxf/HivePXF.html.md.erb
index 978bf9c..199c7a1 100644
--- a/pxf/HivePXF.html.md.erb
+++ b/pxf/HivePXF.html.md.erb
@@ -470,14 +470,30 @@ To enable HCatalog query integration in HAWQ, perform the following
steps:
 2.  If necessary, set the `pxf_service_address` global configuration property to the hostname
or IP address and port where you have installed the PXF Hive plug-in. By default, the value
is set to `localhost:51200`.
 
     ``` sql
-    postgres=# SET pxf_service_address TO "hivenode:51200"
+    postgres=# SET pxf_service_address TO <hivenode>:51200
     ```
 
 3.  HCatalog internally uses the `pxf` protocol to query.  Grant this protocol privilege
to all roles requiring access:
 
     ``` sql
-    postgres=# GRANT ALL ON PROTOCOL pxf TO "role";
-    ``` 
+    postgres=# GRANT ALL ON PROTOCOL pxf TO <role>;
+    ```
+
+4. It is not recommended to create a HAWQ table using the `WITH (OIDS)` clause. If any user
tables were created using the `WITH (OIDS)` clause, additional operations are required to
enable HCatalog integration. To access a Hive table via HCatalog when user tables were created
using `WITH (OIDS)`, HAWQ users must have `SELECT` permission to query every user table within
the same schema that was created using the `WITH (OIDS)` clause. 
+
+    1. Determine which user tables were created using the `WITH (OIDS)` clause:
+
+        ``` sql
+        postgres=# SELECT oid, relname FROM pg_class 
+                     WHERE relhasoids = true 
+                       AND relnamespace <> (SELECT oid FROM pg_namespace WHERE nspname
= 'pg_catalog');
+        ```
+
+    2. Grant `SELECT` privilege on all returned tables to all roles to which you chose to
provide HCatalog query access. For example:
+
+        ``` sql
+        postgres=# GRANT SELECT ON <table-created-WITH-OIDS> TO <role>
+        ``` 
 
 ### <a id="topic_j1l_y55_c5"></a>Usage    
 
@@ -495,24 +511,24 @@ postgres=# SELECT * FROM hcatalog.default.sales_info;
 
 To obtain a description of a Hive table with HCatalog integration, you can use the `psql`
client interface.
 
--   Within HAWQ, use either the `\d                                         hcatalog.hive-db-name.hive-table-name`
or `\d+                                         hcatalog.hive-db-name.hive-table-name` commands
to describe a single table. For example, from the `psql` client interface:
+-   Within HAWQ, use either the `\d                                         hcatalog.hive-db-name.hive-table-name`
or `\d+                                         hcatalog.hive-db-name.hive-table-name` commands
to describe a single table.  `\d` displays only HAWQ's interpretation of the underlying source
(Hive in this case) data type, while `\d+` displays both the HAWQ interpreted and Hive source
data types. For example, from the `psql` client interface:
 
     ``` shell
     $ psql -d postgres
     ```
 
     ``` sql
-    postgres=# \d hcatalog.default.sales_info_rcfile;
+    postgres=# \d+ hcatalog.default.sales_info_rcfile;
     ```
 
     ``` shell
     PXF Hive Table "default.sales_info_rcfile"
-          Column      |  Type
-    ------------------+--------
-     location         | text
-     month            | text
-     number_of_orders | int4
-     total_sales      | float8
+          Column      |  Type  | Source type 
+    ------------------+--------+-------------
+     location         | text   | string
+     month            | text   | string
+     number_of_orders | int4   | int
+     total_sales      | float8 | double
     ```
 -   Use `\d hcatalog.hive-db-name.*` to describe the whole database schema, i.e. all tables
in `hive-db-name`.
 -   Use `\d hcatalog.*.*` to describe the whole schema, i.e. all databases and tables.
@@ -553,7 +569,7 @@ Alternatively, you can use the `pxf_get_item_fields` user-defined function
(UDF)
 HCatalog integration has the following limitations:
 
 -   HCatalog integration queries and describe commands do not support complex types; only
primitive types are supported. Use PXF external tables to query complex types in Hive. (See
[Complex Types Example](#complex_dt_example).)
--   Even for primitive types, HCatalog metadata descriptions produced by `\d` and` \d+` are
converted to HAWQ types. For example, the Hive type `tinyint` is converted to HAWQ type `int2`.
(See [Data Type Mapping](#hive_primdatatypes).)
+-   Even for primitive types, HCatalog metadata descriptions produced by `\d` are HAWQ's
interpretation of the underlying Hive data types. For example, the Hive type `tinyint` is
converted to HAWQ type `int2`. (See [Data Type Mapping](#hive_primdatatypes).)
 -   HAWQ reserves the database name `hcatalog` for system use. You cannot connect to or alter
the system `hcatalog` database.
 
 ## <a id="partitionfiltering"></a>Partition Filtering


Mime
View raw message