bitsCN.com
1.准备环境
@1.启动hadoop集群环境
@2.启动mysql数据库服务
@3.启动hive
2.简单操作总结
@1.常用关系运算符
1> =,,,>=,is null,is not null,like rlike,regexp
2>例子
假设已经建好一张表user,该表有三个字段 id int,name string,age int,三条数据 [(1,jl,20),(2,jx,24),(3,zw,28)]
HQL:select * from user where id=1;
结果:1,jl,20
HQL:select * from user where id>1;
结果:2,jx,24 3,zw,28
HQL:select * from user where id>=2;
结果:2,jx,24 3,zw,28
HQL:select * from user where id
结果:1,jl,20 2,jx,24
HQL:select * from user where id
结果:1,jl,20 2,jx,24
HQL:select * from user where name is not null;
结果:1,jl,20 2,jx,24 3,zw,28
HQL:select * from user where name is null;
结果:
HQL:select * from user where name like '%j%';
结果:1,jl,20 2,jx,24
HQL:select * from user where id rlike '^[0-9]$';
结果:1,jl,20 2,jx,24 3,zw,28
HQL:select * from user where name regexp '^//w+$';
结果:1,jl,20 2,jx,24 3,zw,28
小结:hql语句很想数据库中的sql,懂sql的话这些都不难理解和掌握
@2.运算符
1>+,-,*,/,%,&,|,^,~,
2>例子
HQL:select id+name from user;
结果:三行三列的NULL...可见+在hive中不能将整形和字符串进行类似的操作
HQL:select name+name from user;
结果:散列NULL...可见+也不能讲字符串进行类似操作
HQL:select id+age from user where id=1;
具有功能全面实用、安全性稳定性高、易操作、管理维护简单的特点,采用独创的智能型技术,web服务器、数据库和应用程序全部自动傻瓜安装配置,用户可在一分钟内自行安装完毕,无需专业人员即可自行维护,B/S结构,适用于Intranet/Internet应用,客户端只需浏览器便可连接办公系统,无论出差旅行,还是居家办公,工作都能得心应手,实现无地域限制的全球办公,具有邮件管理、业务管理、网络硬盘、智能工作流
0
结果:29
HQL:select age/id from user;
结果:28.0、20.0、26.666666...
HQL:select age%id from user;
结果:0、0、2
HQL:select id from user where id=1 and id=3;
结果:无结果 当然and也可以换成or 这和关系型数据库里边是一样的
HQL:select id from user where not id=1;
结果:2、3 等同于select id from user where id1;
@3.字符串
HQL:select length(name) from user where id=1;
结果:9
HQL:select reverse(name) from user where id=1;
结果:gnolgnaij
HQL:select concat(id,name) from user where id=1;
结果:1jianglong
HQL:select concat_ws('-',id,name) from user where id=1;
结果:无结果,会报错,意思貌似是不能将int类型的值和string类型的值进行字符串拼接操作。。。
HQL:select concat_ws('-',id,age) from user where id=1;
结果:无结果,会报错,意思貌似是不能将int类型的值进行字符串拼接操作....
HQL:select concat_ws('-',name,name) from user where id=1;
结果:jianglong-jianglong
HQL:select substr(name,1),substring(name,1) from user where id=1;
结果:jianglong jianglong
HQL:select substr(name,1,3),substring(name,1,3) from user where id=1;
结果:jia jia
HQL:select upper(name),ucase(name) from user where id=1;
结果:JIANGLONG JIANGLONG
HQL:select lower(upper(name)),lcase(ucase(name)) from user where id=1;
结果:jianglong jianglong
HQL:select trim(' 123 ') from user;
结果:123 123 123 rtrim和ltrim用法同上
HQL:select id,name,regexp_replace(name,'j','') from user where id=1;
结果:1 jianglong ianglong
现就到这儿吧,有时间再仔细研究研究,总体上手也比较简单,深奥的东东还需要琢磨
bitsCN.com
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号