<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ### 11.1 實驗目的 1. 學會創建Hive的表; 2. 顯示Hive中的所有表; 3. 顯示Hive中表的列項; 4. 修改Hive中的表并能夠刪除Hive中的表。 ### 11.2 實驗要求 1. 要求實驗結束時; 2. 每位學生均能夠完成Hive的DDL操作; 3. 能夠在Hive中新建,顯示,修改和刪除表等功能。 ### 11.3 實驗原理 Hive沒有專門的數據存儲格式,也沒有為數據建立索引,用戶可以非常自由的組織 Hive中的表,只需要在創建表的時候告訴Hive數據中的列分隔符和行分隔符,Hive就可以解析數據。 Hive中所有的數據都存儲在HDFS中,Hive中包含以下數據模型:表(Table),外部表(External Table),分區(Partition),桶(Bucket)。 Hive中Table和數據庫中 Table在概念上是類似的,每一個Table在Hive中都有一個相應的目錄存儲數據。例如,一個表 pvs,它在 HDFS 中的路徑為:/wh/pvs,其中,wh 是在hive-site.xml中由${hive.metastore.warehouse.dir}指定的數據倉庫的目錄,所有的 Table 數據(不包括 External Table)都保存在這個目錄中。 ### 11.4 實驗步驟 #### 11.4.1 啟動Hive 啟動Hive命令行。 ~~~ [root@client ~]# cd /usr/cstor/hive/ [root@client hive ]# bin/hive ~~~ #### 11.4.2 創建表 默認情況下,新建表的存儲格式均為Text類型,字段間默認分隔符為鍵盤上的Tab鍵。 創建一個有兩個字段的pokes表,其中第一列名為foo,數據類型為INT,第二列名為bar,類型為STRING。 ~~~ hive> CREATE TABLE pokes (foo INT, bar STRING) ; ~~~ 創建一個有兩個實體列和一個(虛擬)分區字段的invites表。 ~~~ hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING) ; ~~~ 注意:分區字段并不屬于invites,當向invites導入數據時,ds字段會用來過濾導入的數據。 #### 11.4.3 顯示表 顯示所有的表。 ~~~ hive> SHOW TABLES ; ~~~ 顯示表(正則查詢),同MySQL中操作一樣,Hive也支持正則查詢,比如顯示以.s結尾的表。 ~~~ hive> SHOW TABLES '.*s'; ~~~ #### 11.4.4 顯示表列 ~~~ hive> DESCRIBE invites; ~~~ #### 11.4.5 更改表 修改表events名為3koobecaf (自行創建任意類型events表): ~~~ hive> ALTER TABLE events RENAME TO 3koobecaf; ~~~ 將pokes表新增一列(列名為new_col,類型為INT): ~~~ hive> ALTER TABLE pokes ADD COLUMNS (new_col INT); ~~~ 將invites表新增一列(列名為new_col2,類型為INT),同時增加注釋“a comment”: ~~~ hive> ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment'); ~~~ 替換invites表所有列名(數據不動): ~~~ hive> ALTER TABLE invites REPLACE COLUMNS (foo INT, bar STRING, baz INT COMMENT 'baz replaces new_col2'); ~~~ #### 11.4.6 刪除表(或列) 刪除invites表bar 和 baz 兩列: ~~~ hive> ALTER TABLE invites REPLACE COLUMNS (foo INT COMMENT 'only keep the first column'); ~~~ 刪除pokes表: ~~~ hive> DROP TABLE pokes; ~~~ ### 11.5 實驗結果 上述實驗步驟的結果如下圖所示: 創建一個有兩個字段的pokes表,如圖11-1所示。 ![](https://box.kancloud.cn/18d4d29926280f8416211164cd921d7a_306x53.jpg) 圖11-1 創建一個有兩個實體列和一個(虛擬)分區字段的invites表,如圖11-2所示。 ![](https://box.kancloud.cn/fe68df5d0c34e83f13a036d04c5e66fa_486x56.jpg) 圖11-2 顯示所有的表,如圖10-3所示。 ![](https://box.kancloud.cn/882f8d99e8e80628490f275553b2ac40_281x81.jpg) 圖11-3 以.s結尾的表,如圖11-4所示。 ![](https://box.kancloud.cn/e72011bd8011f8e3163f9bd3bd7e2ea7_287x82.jpg) 圖11-4 顯示表列,如圖11-5所示。 ![](https://box.kancloud.cn/aed78a35248fff5c5b584bb3f31a8983_382x178.jpg) 圖11-5 修改表events名為3koobecaf (自行創建任意類型events表),如圖11-6所示。 ![](https://box.kancloud.cn/661fd387248bbafdf4047f613d297614_299x55.jpg) 圖11-6 將pokes表新增一列(列名為new_col,類型為INT),如圖11-7所示。 ![](https://box.kancloud.cn/b2d38dd1ef7d0e8aab4c7a4b128004c7_327x55.jpg) 圖11-7 將invites表新增一列(列名為new_col2,類型為INT),如圖11-8所示。 ![](https://box.kancloud.cn/daae78f41c8767a98ed4d062fbbbff9c_487x56.jpg) 圖11-8 替換invites表所有列名,如圖11-9所示。 ![](https://box.kancloud.cn/e71731d7bd40a63152f545b0f4a493f3_479x37.jpg) 圖11-9 刪除invites表bar 和 baz 兩列,如圖11-10所示。 ![](https://box.kancloud.cn/e7b7bc67e19adfd146f6811431f7b971_478x46.jpg) 圖11-10 刪除pokes表,如圖11-11所示。 ![](https://box.kancloud.cn/b99fdbd5a87d85ccfdefe285a7c6d5a7_188x59.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看