hive练习作业1
1.關(guān)閉防火墻應(yīng)該如何操作?
首先,切換到root用戶
su - root
然后,關(guān)閉防火墻和禁止防火墻自啟動
systemctl stop firewalld.service
systemctl disable firewalld.service
2.修改IP時,需要更改哪個文件?
vim /etc/sysconfig/network-scripts/ifcfg-ens33
第四行修改為BOOTPROTO=“static”
3.hive中復(fù)雜的數(shù)據(jù)類型有哪些?
struct,map,array
4.嘗試寫出hive中創(chuàng)建表的完整語法
create [external] table if not exists 表名 (列名 數(shù)據(jù)類型 [comment 本列注釋],...) [comment 表注釋] [partitioned by (列名 數(shù)據(jù)類型 [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表示創(chuàng)建外部表;hive在創(chuàng)建內(nèi)部表時,會將數(shù)據(jù)移動到數(shù)據(jù)倉庫指向的路徑;若創(chuàng)建外部表,
僅記錄數(shù)據(jù)所在的路徑,不對數(shù)據(jù)的位置做任何改變
②partitioned by表示創(chuàng)建分區(qū)表
③clustered by創(chuàng)建分桶表
④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二進(jìn)制文件、textfile文本文件、rcfile列式存儲格式)
⑦location 指定表在hdfs上的存儲位置
⑧l(xiāng)ike 允許用戶復(fù)制現(xiàn)有的表結(jié)構(gòu),但是不復(fù)制數(shù)據(jù)
⑨as 后跟查詢語句,根據(jù)查詢結(jié)果創(chuàng)建表
5.內(nèi)部表和外部表的區(qū)別
目前所創(chuàng)建的表都是所謂的管理表,有時也被稱為內(nèi)部表,因為這種表,Hive會(或多或少地)控制著數(shù)據(jù)的生命周期。當(dāng)刪除一個管理表時,Hive也會刪除這個表中數(shù)據(jù),管理表不方便和其他工作共享數(shù)據(jù)。
一個文件夾,并且將屬于這個表的數(shù)據(jù)都存放在這里
6.如何清除hive表中的數(shù)據(jù)
truncate table 表名;
7.靜態(tài)分區(qū)表和動態(tài)分區(qū)表有什么區(qū)別?
靜態(tài)分區(qū)與動態(tài)分區(qū)的主要區(qū)別在于靜態(tài)分區(qū)是手動指定,而動態(tài)分區(qū)是通過數(shù)據(jù)來進(jìn)行判判斷;
靜態(tài)分區(qū)的列是在編譯時期,通過用戶傳遞列名來指定的;動態(tài)分區(qū)只有在SQL執(zhí)行時才能決定。
8.hive的嚴(yán)格模式限制了哪幾種查詢
1)對于分區(qū)表,where后面要含有分區(qū)過濾條件;
2)對于使用order by 語句的查詢,要求必須使用limit進(jìn)行限制查詢;
3)限制笛卡爾積的查詢
9.如何將HDFS中的數(shù)據(jù)導(dǎo)入到hive表中
load data inpath 'HDFS上的路徑' into table 表名 [partition(partcol1=val1,....)];總結(jié)