日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql hive索引_Hive数据仓库--HiveQL视图和索引

發布時間:2024/8/5 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql hive索引_Hive数据仓库--HiveQL视图和索引 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上篇文章中講完了查詢的相關操作,接下來就是視圖與索引了,Hive中的視圖的作用總的來說就是為了簡化查詢語句,是一個邏輯上的視圖,而不是物化的視圖。索引則是加快查詢速度的比較重要的手段,之前的Mysql優化的文章中也講到了索引的使用,感覺概念上和Mysql數據庫中的操作基本上是相似的。

視圖

創建這樣的一個視圖,高收入人群。

我試了下,這里的視圖并不會幫我們進行存儲視圖所代表的查詢語句所包含的數據的,這里可以認為他就是一個復雜的語句的簡化,是一個邏輯的視圖,而不是物化視圖,這里好像并沒有對效率進行提升。視圖在這里是將Hive的行和列進行的固化,但是并沒有對數據進行固化,那么當你刪除掉表中的列的時候,會造成視圖的錯誤。

創建視圖語句

CREATE VIEW [IF NOT EXISTS] view_name [(column_name [COMMENT column_comment], ...) ][COMMENT view_comment][TBLPROPERTIES (property_name = property_value, ...)]AS SELECT ...

創建視圖

hive> > create view salaries_high as > select * from salaries_external where salary > 500000;OKTime taken: 1.227 secondshive> select * from salaries_high limit 10;Total jobs = 1Launching Job 1 out of 1Number of reduce tasks is set to 0 since there's no reduce operatorStarting Job = job_1475147088438_0007, Tracking URL = http://hadoopwy1:8088/proxy/application_1475147088438_0007/Kill Command = /usr/local/hadoop2/bin/hadoop job -kill job_1475147088438_0007Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 02016-09-29 05:37:02,617 Stage-1 map = 0%, reduce = 0%2016-09-29 05:37:10,092 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.46 secMapReduce Total cumulative CPU time: 1 seconds 460 msecEnded Job = job_1475147088438_0007MapReduce Jobs Launched:Job 0: Map: 1 Cumulative CPU: 1.46 sec HDFS Read: 4422 HDFS Write: 310 SUCCESSTotal MapReduce CPU Time Spent: 1 seconds 460 msecOK1985 BAL AL murraed02 1472819.01985 BAL AL lynnfr01 1090000.01985 BAL AL ripkeca01 800000.01985 BAL AL lacyle01 725000.01985 BAL AL flanami01 641667.01985 BAL AL boddimi01 625000.01985 BAL AL stewasa01 581250.01985 BAL AL martide01 560000.01985 BAL AL roeniga01 558333.01985 BAL AL mcgresc01 547143.0Time taken: 26.702 seconds, Fetched: 10 row(s)

刪除視圖

hive> drop view if exists salaries_high;OKTime taken: 1.043 seconds

索引

創建索引語句

CREATE INDEX index_name ON TABLE base_table_name (col_name, ...)AS 'index.handler.class.name'[WITH DEFERRED REBUILD][IDXPROPERTIES (property_name=property_value, ...)][IN TABLE index_table_name][PARTITIONED BY (col_name, ...)][ [ ROW FORMAT ...] STORED AS ... | STORED BY ...][LOCATION hdfs_path][TBLPROPERTIES (...)][COMMENT "index comment"]

創建一個索引

索引表的

hive> create index yearindex on table salaries_external(yearid) as 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' with deferred rebuild in table salaries_external_index;OKTime taken: 0.475 seconds

僅僅索引的

hive> create index index_test on table salaries_external(yearid) AS 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' WITH DEFERRED REBUILD ;OKTime taken: 0.278 seconds

查看索引

hive> > show index on salaries_external;OKyearindex salaries_external yearid salaries_external_index compactindex_test salaries_external yearid default__salaries_external_index_test__ compactTime taken: 0.077 seconds, Fetched: 2 row(s)

改變索引

hive> alter index index_test on salaries_external rebuild;Total jobs = 1Launching Job 1 out of 1Number of reduce tasks not specified. Estimated from input data size: 1In order to change the average load for a reducer (in bytes): set hive.exec.reducers.bytes.per.reducer=In order to limit the maximum number of reducers: set hive.exec.reducers.max=In order to set a constant number of reducers: set mapreduce.job.reduces=Starting Job = job_1475147088438_0009, Tracking URL = http://hadoopwy1:8088/proxy/application_1475147088438_0009/Kill Command = /usr/local/hadoop2/bin/hadoop job -kill job_1475147088438_0009Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 12016-09-29 06:44:34,287 Stage-1 map = 0%, reduce = 0%2016-09-29 06:45:02,611 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 2.2 sec2016-09-29 06:45:18,538 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 3.85 secMapReduce Total cumulative CPU time: 3 seconds 850 msecEnded Job = job_1475147088438_0009Loading data to table default.default__salaries_external_index_test__rmr: DEPRECATED: Please use 'rm -r' instead.Deleted hdfs://hadoopnodeservice1/user/hive/warehouse/default__salaries_external_index_test__Table default.default__salaries_external_index_test__ stats: [numFiles=1, numRows=58, totalSize=321107, rawDataSize=321049]MapReduce Jobs Launched:Job 0: Map: 1 Reduce: 1 Cumulative CPU: 3.85 sec HDFS Read: 1354022 HDFS Write: 321214 SUCCESSTotal MapReduce CPU Time Spent: 3 seconds 850 msecOKTime taken: 58.187 seconds

刪除索引

hive> > drop index index_test on salaries_external;OKTime taken: 0.188 secondshive> show index on salaries_external;OKyearindex salaries_external yearid salaries_external_index compactTime taken: 0.065 seconds, Fetched: 1 row(s)

總結

以上是生活随笔為你收集整理的mysql hive索引_Hive数据仓库--HiveQL视图和索引的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。