Hive 基本语法操练(二):视图和索引操作

Hive 基本语法操练(二):视图和索引操作

大家好,又见面了,我是你们的朋友全栈君。

1. 视图操作 -------  1) 创建一个测试表。  ``` hive> create table test(id int,name string); OK Time taken: 0.385 seconds hive> desc test; OK id int  name string  Time taken: 0.261 seconds, Fetched: 2 row(s) ```  2) 基于表 test 创建一个 test_view 视图。  ``` hive> create view test_view(id,name_length) as select id,length(name) from test; ```  3) 查看 test_view 视图属性。  ``` hive> desc test_view; OK id int  name_length int  Time taken: 0.071 seconds, Fetched: 2 row(s)  ```  4) 查看视图结果。  ``` hive> select * from test_view; ```  2. 索引操作 ------- 1) Hive 创建索引。  ``` hive> create table user like group_test; OK Time taken: 0.232 seconds hive> create index user_index on table user(uid) as 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' with deferred rebuild IN TABLE user_index_table; OK Time taken: 0.183 seconds  ```  2) 更新数据。  ``` hive> alter index user_index on user rebuild; Query ID = hadoop_20180518043232_ebdf97bd-5984-4310-a3c8-6befef328133 Total jobs = 1 Launching Job 1 out of 1 Number of reduce tasks not specified. Estimated from input data size: 1 In order to change the average load for a reducer (in bytes): set hive.exec.reducers.bytes.per.reducer=<number> In order to limit the maximum number of reducers: set hive.exec.reducers.max=<number> In order to set a constant number of reducers: set mapreduce.job.reduces=<number> Starting Job = job_1526553207632_0018, Tracking URL = http://master:8088/proxy/application_1526553207632_0018/ Kill Command = /opt/modules/hadoop-2.6.0/bin/hadoop job -kill job_1526553207632_0018 Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1 2018-05-18 04:32:55,632 Stage-1 map = 0%, reduce = 0% 2018-05-18 04:33:04,400 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.65 sec 2018-05-18 04:33:12,406 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 2.93 sec MapReduce Total cumulative CPU time: 2 seconds 930 msec Ended Job = job_1526553207632_0018 Loading data to table default.user_index_table Table default.user_index_table stats: [numFiles=1, numRows=0, totalSize=0, rawDataSize=0] MapReduce Jobs Launched:  Stage-Stage-1: Map: 1 Reduce: 1 Cumulative CPU: 2.93 sec HDFS Read: 290 HDFS Write: 50 SUCCESS Total MapReduce CPU Time Spent: 2 seconds 930 msec OK Time taken: 25.609 seconds  ``` 3) 查看索引 ``` hive> show index on user; OK user_index user uid user_index_table compact  Time taken: 0.046 seconds, Fetched: 1 row(s)  ```  4) 删除索引  ``` hive> drop index user_index on user; OK  Time taken: 0.094 seconds hive> show index on user;  OK Time taken: 0.036 seconds  ```  5) 创建表和索引案例  ``` hive> create table index_test(id INT,name STRING) PARTITIONED BY (dt STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; ```  创建一个索引测试表 index_test,dt作为分区属性,“ROW FORMAT DELIMITED FIELDS TERMINATED BY ','” 表示用逗号分割字符串。  6) 创建一个临时索引表 index_tmp。  ``` hive> create table index_tmp(id INT,name STRING,dt STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; ```  7) 加载本地数据到 index_tmp 表中。  ``` [hadoop@master test]$ sudo vim test.txt 02,female,192.168.1.3 01,male,192.168.1.26 03,male,192.168.1.5 08,female,192.168.1.62 04,male,192.168.1.9 hive> load data local inpath '/home/hadoop/test/test.txt' into table index_tmp; Loading data to table default.index_tmp Table default.index_tmp stats: [numFiles=1, totalSize=106] OK Time taken: 0.224 seconds hive> select * from index_tmp; OK 2 female 192.168.1.3 1 male 192.168.1.26 3 male 192.168.1.5 8 female 192.168.1.62 4 male 192.168.1.9  ```  设置 Hive 的索引属性来优化索引查询,命令如下。  ``` hive> set hive.exec.dynamic.partition.mode=nonstrict;----设置所有列为 dynamic partition hive> set hive.exec.dynamic.partition=true;----使用动态分区 ```  8) 查询index_tmp 表中的数据,插入 table_test 表中。  ``` hive> insert overwrite table index_test partition(dt) select id,name,dt from index_tmp; Query ID = hadoop_20180518044343_97e7fe67-a5a1-408b-be8e-e9dadb2f9e48 Total jobs = 3 Launching Job 1 out of 3 Number of reduce tasks is set to 0 since there's no reduce operator Starting Job = job_1526553207632_0019, Tracking URL = http://master:8088/proxy/application_1526553207632_0019/ Kill Command = /opt/modules/hadoop-2.6.0/bin/hadoop job -kill job_1526553207632_0019 Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0 2018-05-18 04:43:42,621 Stage-1 map = 0%, reduce = 0% 2018-05-18 04:43:48,835 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 0.87 sec MapReduce Total cumulative CPU time: 870 msec Ended Job = job_1526553207632_0019 Stage-4 is selected by condition resolver. Stage-3 is filtered out by condition resolver. Stage-5 is filtered out by condition resolver. Moving data to: hdfs://ns/tmp/hive/hadoop/9f7dd0d3-a14c-4535-9291-557b9cb6259b/hive_2018-05-18_04-43-36_337_559705388802402645-1/-ext-10000 Loading data to table default.index_test partition (dt=null) Time taken for load dynamic partitions : 278 Loading partition {dt=192.168.1.62} Loading partition {dt=192.168.1.3} Loading partition {dt=192.168.1.5} Loading partition {dt=192.168.1.26} Loading partition {dt=192.168.1.9}

转载于:https://www.cnblogs.com/zimo-jing/p/9059550.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107504.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • eclipse的maven插件(eclipse更新maven仓库)

    打开eclipse的help菜单,选择installnewsoftware项。2、在弹出的窗口中选择whatisalreadyinstalled,就会弹出所有安装的插件,选择maven,点击uninstall,卸载后重启eclipse即可。我的是卸载圈中的这两个…

    2022年4月17日
    146
  • mysql redis配置文件详解_Redis配置文件redis.conf 详解

    mysql redis配置文件详解_Redis配置文件redis.conf 详解Redis配置文件redis.conf详解1.基本配置内存单位的表示#1k=>1000bytes#1kb=>1024bytes#1m=>1000000bytes#1mb=>1024*1024bytes#1g=>1000000000bytes#1gb=>1024*1024*1024bytes单位中不区分大小写1GB…

    2022年6月9日
    25
  • APP——List「建议收藏」

    [‘王者荣耀’,’QQ’,’作业帮-学习辅导’,’绝地求生:刺激战场’,’爱奇艺’,’快手’,’腾讯视频’,’微信’,’抖音短视频’,’全民K歌’,’手机淘宝’,’迷你世界’,’QQ音乐’,’优酷’,’WiFi万能钥匙’,’酷狗音乐’,’荒野行动’,’互动作业’,’穿越火线:荒岛特训-60V60′,’QQ飞车手游’,’拼多多’,’绝地求生全军出击’,’…

    2022年4月9日
    37
  • 《哈佛大学公开课:幸福课》 学习笔记(1)

    《哈佛大学公开课:幸福课》 学习笔记(1)视频链接:http://v.163.com/special/sp/positivepsychology.html当初《幸福课》在网易公开课很火,当然现在也很火。但是由于对门户热门内容的成见,再加上一个江湖骗子式的课程名字,我还以为是又一个简单空洞的心灵鸡汤。但是今天看完了第一节课,事实告诉我,真是要相信群众的眼睛呀,而且随便怀疑哈佛出品也未免太过自信。70+分钟的时间内,没有多少废话,反复

    2022年7月18日
    16
  • 大学计算机系最努力的同学都是如何学习的?

    经常会被同学们问到这个问题,要怎么努力才能找到好工作?学习好就能进好公司?屁!被学校教育坑的一把鼻涕一把泪的老学长来回答一波。我上大学时,连续三年得过国家励志奖学金,英语过六级,以为软考有用,还考了个软件设计师证书,以为四级有用,也考了个软件测试工程师证书,看人家用c++写软件,自学MFC写了几个桌面小程序。自以为很牛逼的去找工作,结果要价2500,都没人收,2011年,一个计算机系top级毕业生,薪资还没流水线的高。现在工作近十年,也辗转几个大厂,做校招、社招面试也不下于上百场,这

    2022年4月11日
    51
  • idea202012激活码永久_通用破解码

    idea202012激活码永久_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    202

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号