如何使用Hive的Create表作为选择(CTA)

时间:2020-02-23 14:33:32  来源:igfitidea点击:

在此处显示的Hive DML示例中,示出了称为Create表的强大技术,如选择,或者CTAS。
它的构造允许我们在构建大数据分析的强大模式时从其他表中快速从其他表中派生蜂巢表。

(A) hive> CREATE TABLE myflightinfo2007 AS
    > SELECT Year, Month, DepTime, ArrTime, FlightNum, Origin, Dest FROM FlightInfo2007
    > WHERE (Month = 7 AND DayofMonth = 3) AND (Origin='JFK' AND Dest='ORD');
(B) hive> SELECT * FROM myFlightInfo2007;
OK
2007    7       700     834     5447    JFK     ORD
2007    7       1633    1812    5469    JFK     ORD
2007    7       1905    2100    5492    JFK     ORD
2007    7       1453    1624    4133    JFK     ORD
2007    7       1810    1956    4392    JFK     ORD
2007    7       643     759     903     JFK     ORD
2007    7       939     1108    907     JFK     ORD
2007    7       1313    1436    915     JFK     ORD
2007    7       1617    1755    917     JFK     ORD
2007    7       2002    2139    919     JFK     ORD
Time taken: 0.089 seconds, Fetched: 10 row(s)
hive> CREATE TABLE myFlightInfo2008 AS
    > SELECT Year, Month, DepTime, ArrTime, FlightNum, Origin, Dest FROM FlightInfo2008
    > WHERE (Month = 7 AND DayofMonth = 3) AND (Origin='JFK' AND Dest='ORD');
hive> SELECT * FROM myFlightInfo2008;
OK
2008    7       930     1103    5199    JFK     ORD
2008    7       705     849     5687    JFK     ORD
2008    7       1645    1914    5469    JFK     ORD
2008    7       1345    1514    4392    JFK     ORD
2008    7       1718    1907    1217    JFK     ORD
2008    7       757     929     1323    JFK     ORD
2008    7       928     1057    907     JFK     ORD
2008    7       1358    1532    915     JFK     ORD
2008    7       1646    1846    917     JFK     ORD
2008    7       2129    2341    919     JFK     ORD
Time taken: 0.186 seconds, Fetched: 10 row(s)

在步骤a中,通过选择特定日的较大表的较大表的子集(在本例中,7月3日),构建来自FlightInfo2007和FlightInfo2008的两个较小的表格,其中,飞行的起源是纽约的JFK机场( JFK)和目的地是芝加哥的O'Hare机场(ORD)。

然后在步骤b中,我们只需转储这些小型表的内容,以便我们可以查看数据。