亚洲福利网站,国产精品久久国产三级国电话系列 ,欧美久久久久久,蜜桃av在线

IT培訓-高端面授IT培訓機構
云和教育:云和數據集團高端IT職業教育品牌
  • 國家級
    全民數字素養與技能培訓基地
  • 河南省
    第一批產教融合型企業建設培育單位
  • 鄭州市
    數字技能人才(碼農)培養評價聯盟
當前位置:
首頁IT問答正文

Hive中怎樣創建內部數據表和外部數據表?

  • 發布時間:
    2023-03-02
  • 版權所有:
    云和教育
  • 分享:

數據表是存儲數據的基本單位,Hive數據表主要分為內部表(又叫托管表)和外部表,以內部表和外部表為基礎可以創建分區表或分桶表,即內/外部分區表或內/外部分桶表。接下來,針對內部表和外部表進行詳細講解。

默認情況下,內部表和外部表的數據都存儲在Hive配置文件中參數hive.metastore.warehouse.dir指定的路徑。它們的區別在于刪除內部表時,內部表的元數據和數據會一同刪除;而刪除外部表時,只刪除外部表的元數據,不會刪除數據。外部表相對來說更加安全,數據組織更加靈活并且方便共享源數據文件。

CREATE TABLE IF NOT EXISTS
hive_database.managed_table(
staff_id INT COMMENT "This is staffid",
staff_name STRING COMMENT "This is staffname",
salary FLOAT COMMENT "This is staff salary",
hobby ARRAY<STRING> CONMENT "This is staff hobby",
deduct(hps MAP<STRING, FLOAT> COMMENT "This is staff deduction",
address STRUCT<street:STRING,city:STRING> COMMENT "This is staff address"
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY
MAP KEYS TERMINMTED BY  ':'
LINES TERMINATED BY '\n'
STORED AS textfile
TBLPROPERTIES("comment"="This is a managed table");

上述命令中,指定ROW FORMAT DELIMITED子句使用Hive內置的Serde,自定義字段(FIELDS)分隔符為“,”;自定義集合元素(COLLECTION ITEMS)的分隔符為“_”;自定義MAP(MAP KEYS)的鍵值對分隔符為“:”;自定義行(LINES)分隔符為\n。

(2)創建外部表external_table的命令如下。

CREATE TABLE IF NOT EXISTS
hive_database.managed_table(
staff_id INT COMMENT "This is staffid",
staff_name STRING COMMENT "This is staffname",
salary FLOAT COMMENT "This is staff salary",
hobby ARRAY<STRING> CONMENT "This is staff hobby",
deduct(hps MAP<STRING, FLOAT> COMMENT "This is staff deduction",
address STRUCT<street:STRING,city:STRING> COMMENT "This is staff address"
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY
MAP KEYS TERMINMTED BY  ':'
LINES TERMINATED BY '\n'
STORED AS textfile
TBLPROPERTIES("comment"="This is a managed table");

上述命令中,通過在CREATETABLE句式中指定EXTERNAL子句創建外部表。創建外部表時通常配合LOCATION子句指定數據的存儲位置,便于數據的維護與管理。

主站蜘蛛池模板: 东兰县| 玉溪市| 谷城县| 鄂温| 永定县| 项城市| 休宁县| 中阳县| 棋牌| 新化县| 曲周县| 郁南县| 金昌市| 平舆县| 慈利县| 嘉黎县| 绥芬河市| 福贡县| 双城市| 根河市| 河北省| 麦盖提县| 望奎县| SHOW| 南江县| 河南省| 新绛县| 迭部县| 沐川县| 武城县| 沽源县| 江安县| 精河县| 栾川县| 卢氏县| 东安县| 烟台市| 儋州市| 广南县| 宾阳县| 卢湾区|