-
查看全部
-
explain plan for select * from emp where deptno=10;
--查看該select的執行計劃
select * from table(dbms_xplan.display);
查看全部 -
hive.apache.org
查看全部 -
hive沒有索引(mysql有),hive的分區就相當于它的索引,目的是減少掃描范圍,提高查詢效率。
#沒有分區的執行計劃 explain?select?*?from?table?where?day='2019-12-08' #有分區的執行計劃 explain?select?*?from?table_with_partition?where?day='2019-12-08'
查看全部 -
在hive里創建表,會自動在hdfs里創建文件夾。在hive里保存的文件夾中的數據對應于該文件夾下的文件。
user/hive/warehouse/
mysql是沒有分區的。hive搞這么一大坨,什么hdfs啊,Hadoop啊,都是為了“大”數據服務的。你可以把hdfs想象成多個電腦聯機的磁盤(mysql只是單機的),但因為有了“大”數據,因此一臺電腦的磁盤不夠用了,于是要搞出多個電腦聯機來存放數據,于是hive數據庫的數據就是被放在hdfs上的。hdfs的重點就在于d上(h是家族名,f是file,s是system),d是distributed,分布式(聯機)。Hadoop是數據庫引擎,用來把HQL翻譯成map和reduce任務,然后執行得到結果。
查看全部 -
1、hive中的時間數據類型有哪兩種?
時間戳timestamp:與時區無關(不同時區一樣),表偏移量(相對于有了Unix以來)
日期型date:注意不含時點(區別于其他數據庫)
查看全部 -
hive是數據倉庫,數據倉庫的本質就是數據庫。數據庫里面就是表,是表就有字段,字段就有其類型。數據類型有基礎的、復雜的、時間的。
1、什么是hive中基礎的數據類型?
整數型:tinyint\smallint\int\bigint(精度不同)
小數型:double\float
字符串:string
布爾型:bool
creat?table?table_name( uid?bigint ,uname?sting? ,is_student?boolean ,score?double )
2、怎么查看表中字段的數據類型?
desc?table
3、varchar 和char的區別?
varchar(20)是字符串不能超過多少位。
char(20)是字符串按照20位存儲。
查看全部 -
1、在hue里輸入一條HQL語句,它是如何在hive數據倉庫里進行查詢的?
step1:輸入HQL查詢語句
step2:解析器分析有沒有語法錯誤,有的話就print出來(報錯)
step3:語法沒問題的話就進入編譯器,生成執行計劃
step4:然后優化器生成最佳的執行計劃
step5:最后執行這個最佳執行計劃,得到這條HQL的查詢結果。
2、怎么知道自己寫的HQL的執行計劃是怎樣的?
通過explain函數。explain+這條HQL語句=這條HQL語句的執行計劃
例如:explain select 一張沒有索引的表,那么它的執行計劃是先全表掃描;explain select 一張有索引的表,那么它的執行計劃是先掃描有索引;
查看全部 -
1、什么是hive的元數據?
元數據就是記錄表本身的信息的數據。(表1:表的信息;表2:列的信息)
元數據也是要存儲在數據庫中的,默認存在Derby數據庫中。
查看全部 -
1、什么是hive?
hive是構建在Hadoop hdfs上的數據倉庫。對應的查詢語言叫HQL,表是hdfs的目錄或文件。
hive是HQL的解析引擎,把HQL轉化成map和reduce的job,然后在Hadoop中執行。
查看全部 -
1、什么是數據倉庫?
數據倉庫是一種特殊的數據庫:它的目的是服務于分析(因此主要是做查詢的、數據是不可更新的、且通常是按照主題存儲的)。
2、如何構建數據倉庫?
首先把分散在各處的數據(例如業務數據庫、txt/csv的文檔、其他數據源)收集起來,然后通過ETL轉化,轉化成符合規范的數據格式,按照主題存到數據倉庫里(例如商品推薦系統,使用星型模型或雪花模型搭建),再通過服務器和前端,最終實現不同功用的目的(例如hive-hue查詢、BI看報表、數據接口)
查看全部 -
Hive體系結構
查看全部 -
解釋器→編譯器→優化器→查詢計劃生成→存儲于HDFS→MapReduce調用執行
查看全部 -
Hive元數據存儲在metastore(derby,mysql或oracle)中
Hive元數據包括:1.表名及屬性 2.列名及屬性 3.分區名及屬性 4. 表的數據所在目錄等
查看全部 -
傳統數據倉庫是建立在MySQL, Oracle等基礎上的。而Hive是建立在HDFS上的。可以進行數據ETL即提取、轉化、加載(Sqoop)。Hive的查詢語言為HQL,HQL解析引擎將把查詢語句翻譯成M/R程序。
Hive允許MapReduce開發者開發自定義的mapper和reducer來完成復雜的分析工作。
Hive的表實際上就是HDFS的目錄,而Hive中的數據就是HDFS中的文件。
查看全部
舉報