hive练习作业1
1.關閉防火墻應該如何操作?
首先,切換到root用戶
su - root
然后,關閉防火墻和禁止防火墻自啟動
systemctl stop firewalld.service
systemctl disable firewalld.service
2.修改IP時,需要更改哪個文件?
vim /etc/sysconfig/network-scripts/ifcfg-ens33
第四行修改為BOOTPROTO=“static”
3.hive中復雜的數據類型有哪些?
struct,map,array
4.嘗試寫出hive中創建表的完整語法
create [external] table if not exists 表名 (列名 數據類型 [comment 本列注釋],...) [comment 表注釋] [partitioned by (列名 數據類型 [comment 本列注釋],...)] [clustered by(列名,列名,...)] [sorted by (列名 [asc|desc],...)] info num_buckets buckets] [row format row_format] [stored as file_format] [location hdfs_path] [tblproperties (property_name=property_value,...)] [as select_statement]說明:
①external表示創建外部表;hive在創建內部表時,會將數據移動到數據倉庫指向的路徑;若創建外部表,
僅記錄數據所在的路徑,不對數據的位置做任何改變
②partitioned by表示創建分區表
③clustered by創建分桶表
④sorted by 不常用
⑤row format delimited [fields terminated by char] [collection items terminated
by char] [map keys terminated by char] [line terminated by char]
⑥stored as 指定文件存儲類型(sequencefile二進制文件、textfile文本文件、rcfile列式存儲格式)
⑦location 指定表在hdfs上的存儲位置
⑧like 允許用戶復制現有的表結構,但是不復制數據
⑨as 后跟查詢語句,根據查詢結果創建表
5.內部表和外部表的區別
目前所創建的表都是所謂的管理表,有時也被稱為內部表,因為這種表,Hive會(或多或少地)控制著數據的生命周期。當刪除一個管理表時,Hive也會刪除這個表中數據,管理表不方便和其他工作共享數據。
一個文件夾,并且將屬于這個表的數據都存放在這里
6.如何清除hive表中的數據
truncate table 表名;
7.靜態分區表和動態分區表有什么區別?
靜態分區與動態分區的主要區別在于靜態分區是手動指定,而動態分區是通過數據來進行判判斷;
靜態分區的列是在編譯時期,通過用戶傳遞列名來指定的;動態分區只有在SQL執行時才能決定。
8.hive的嚴格模式限制了哪幾種查詢
1)對于分區表,where后面要含有分區過濾條件;
2)對于使用order by 語句的查詢,要求必須使用limit進行限制查詢;
3)限制笛卡爾積的查詢
9.如何將HDFS中的數據導入到hive表中
load data inpath 'HDFS上的路徑' into table 表名 [partition(partcol1=val1,....)];總結
- 上一篇: 伪分布集群搭建
- 下一篇: Hive SQL基础