更新時間:2023-04-26 來源:黑馬程序員 瀏覽量:
Hive中創(chuàng)建數(shù)據(jù)庫的語法格式如下。
CREATE (DATARASE [SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_name=property_value, .…)];
上述語法的具體講解如下。
·CREATE(DATABASE|SCHEMA):表示創(chuàng)建數(shù)據(jù)庫的語句,其中 DATABASE和SCHEMA含義相同,可以切換使用。
·IFNOTEXISTS:可選,用于判斷創(chuàng)建的數(shù)據(jù)庫是否已經(jīng)存在,若不存在則創(chuàng)建數(shù)據(jù)庫,反之不創(chuàng)建數(shù)據(jù)庫。
·database_name:表示創(chuàng)建的數(shù)據(jù)庫名稱。
·COMMENTdatabase_com ment:可選.表示數(shù)據(jù)庫的相關(guān)描述。
·LOCATION hdfs_path:可選,用于指定數(shù)據(jù)庫在HDFS上的存儲位置,默認存儲位置取決于Hive 配置文件hive-site.xml中參數(shù)hive.metastore.warehouse.dir指定的存儲位置。
·WITH DBPROPERTIES(property_name=property_value,...):可選,用于設(shè)置數(shù)據(jù)庫屬性,其中property_name表示屬性名稱,該名稱可以自定義;property_value表示屬性值,該值可以自定義。
接下來,在Hive客戶端工具Beeline中創(chuàng)建數(shù)據(jù)庫itcast,并指定數(shù)據(jù)庫文件存放在HDFS的/hive_db/create_db八錄中,具體命令如下。
CREATE DATABASE IF NOT EXISTS itcAst COMMENT *This is itcast database" 出版社 LOCATION '/hive_db/create_db/' NITH DBPROPERTIES ("creator"-"itcast", "date"-"2020-08-08"):
上述命令中,添加了數(shù)據(jù)庫描述和數(shù)據(jù)庫屬性,其中數(shù)據(jù)庫描述為This is itcast database;數(shù)據(jù)庫屬性為creator和date,這兩個屬性對應(yīng)的值分別是itcast和2020-08-08。
Hive中查詢數(shù)據(jù)庫的語法格式如下所示。
SHOW (DATABASES[SCHEMAS) [LIKE 'identifier_with_wildcards'];
上述語法的具體講解如下。
·SHOW(DATABASESISCHEMAS):表示查詢數(shù)據(jù)庫的語句,其中DATABASE和SCHEMA含義相同,可以切換使用。
·LIKE identifier_with_wildcards':可選,LIKE子句用于模糊查詢,identifier_with_wildcards 用于指定查詢條件。
接下來,查詢Hive中所有數(shù)據(jù)庫,具體命令如下。
SHOW DATABASES;
如果要查詢Hive中數(shù)據(jù)庫名稱的首字母是i的數(shù)據(jù)庫,具體命令如下。
SHOW DATABASES LIKE "i *";
上述命令在Hive客戶端工具Beeline的執(zhí)行效果如圖所示。
Hive中查看數(shù)據(jù)庫信息的語法格式如下所示。
上述語法的具體講解如下。
·DESCRIBE|DESC(DATABASES|SCHEMAS):表示查詢數(shù)據(jù)庫信息的語句,其中DESCRIBE和DESC含義相同,可以切換使用。
·EXTENDED:可選,在查詢數(shù)據(jù)庫的信息中顯示屬性。
·db_name:用于指定查詢的數(shù)據(jù)庫名稱。
接下來,查看Hive中數(shù)據(jù)庫itcast的信息,具體命令如下。
DESC DATABASE EXTENDED itcast;
上述命令在Hive客戶端工具Beeline的執(zhí)行效果如圖所示。
上圖中數(shù)據(jù)庫itcast中的信息包含6個字段。其中,db_name表示數(shù)據(jù)庫名稱,comment表示數(shù)據(jù)庫描述,location表示數(shù)據(jù)庫在HDFS上的存儲位置.owner_name表示數(shù)據(jù)庫所有者名稱,owner_type表示數(shù)據(jù)庫所有者類型,parameters表示數(shù)據(jù)庫屬性。