hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Hadoop Wiki] Update of "Hive/PartitionedViews" by JohnSichi
Date Tue, 01 Feb 2011 23:03:09 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.

The "Hive/PartitionedViews" page has been changed by JohnSichi.
http://wiki.apache.org/hadoop/Hive/PartitionedViews?action=diff&rev1=4&rev2=5

--------------------------------------------------

  = Approaches =
  
   1. One possible approach mentioned in [[https://issues.apache.org/jira/browse/HIVE-1079|HIVE-1079]]
is to infer view partitions automatically based on the partitions of the underlying tables.
 A command such as SHOW PARTITIONS could then synthesize virtual partition descriptors on
the fly.  This is fairly easy to do for use case #1, but potentially very difficult for use
cases #2 and #3.  So for now, we are punting on this approach.
-  1. Instead, we will require users to explicitly declare view partitioning as part of CREATE
VIEW, and explicitly manage partition metadata via ALTER VIEW {ADD|DROP} PARTITION.  This
allows all of the use cases to be satisfied (while placing more burden on the user, and taking
up more metastore space).
+  1. Instead, we will require users to explicitly declare view partitioning as part of CREATE
VIEW, and explicitly manage partition metadata via ALTER VIEW {ADD|DROP} PARTITION.  This
allows all of the use cases to be satisfied (while placing more burden on the user, and taking
up more metastore space).  With this approach, there is no real connection between view partitions
and underlying table partitions; it's even possible to create a partitioned view on an unpartitioned
table, or to have data in the view which is not covered by any view partition.
  
  = Syntax =
  
@@ -38, +38 @@

  
  = Metastore =
  
- When storing view partition descriptors in the metastore, Hive omits the storage descriptor
entirely.  This is because there is no data associated with the view partition, so there is
no need to keep track of partition-level column descriptors for table schema evolution.
+ When storing view partition descriptors in the metastore, Hive omits the storage descriptor
entirely.  This is because there is no data associated with the view partition, so there is
no need to keep track of partition-level column descriptors for table schema evolution, nor
a partition location.
  
+ = Strict Mode =
+ 
+ Hive strict mode (enabled with hive.mapred.mode=strict) prevents execution of queries lacking
a partition predicate.  This only applies to base table partitions.  What does this mean?
+ 
+ Suppose you have table T1 partitioned on C1, and view V1 which selects FROM T1 WHERE C1=5.
 Then a query such as SELECT * FROM V1 will succeed even in strict mode, since the predicate
inside of the view constrains C1.
+ 
+ Likewise, suppose you have view V2 which selects from T1 (with no WHERE clause) and is partitioned
on C2.  Then a query such as SELECT * FROM V2 WHERE C2=3 will fail; even though the view partition
column is constrained, there is no predicate on the underlying T1's partition column C1.
+ 

Mime
View raw message