HIVE 走近大数据之Hive进阶

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: HIVE 走近大数据之Hive进阶

1、load加载数据

   1、语法:local本地路径,没有则是默认读取HDFS文件路径,partition数据存储到分区表内

load data [local] inpath 'filepath' [overwrite] into table tablename [partition (partition = val1)]

   实例:

       1)将data1.txt数据导入data2,如果data1和data2的分隔符不一致,导入的数据是

null
            load data local inpath '/usr/data/data1.txt' into table data2;

       2)将/usr/data/整个目录下面的数据导入data2表,并且进行覆盖原来的数据

load data local inpath '/usr/data/' overwrite into table data2;

       3)将HDFS里面的数据导入data2

load data inpath '/data/data1.txt' into table data2;

       4)将data1.txt数据导入分区表,分区条件partition (gender='M')

load data local inpath '/usr/data/data1.txt' into table partition_data2 partition (gender='M');

2、sqoop的使用

   1、sqoop设置环境变量

export HADOOP_COMMON_HOME=/USR/HADOOP
        export HADOOP_MAPRED_HOME=/USR/HADOOP

   2、sqoop的数据导入导出

./sqoop import --connect jdbc:mysql://master:3306 --username root --password root --table emp --columns 'id, name, gender' -m 1 --target-dir '/hive'

3、hive表的查询操作

   1、员工号,名字,性别,月薪

select id, name, gender, sal from emp;

   2、员工号,名字,性别,月薪, 年薪

select id, name, gender, sal, sal*12 from emp;

   3、员工号,名字,性别,月薪, 年薪, 奖金,年收入--判断奖金是否为null,nvl(comm,0)

select id, name, gender, sal, sal*12, comm, sal*12+nvl(comm,0) from emp;

   4、查询奖金是否为空

select * from emp where comm is null;

   5、去掉重复记录--distinct

select distinct id from emp;

   6、hive某些操作要进行MapReduce操作,为了提高速度进行设置不进行MapReduce操作

hive.fetch.task.conversion=more;

   7、查询10号部门的员工

select * from emp where id = 10;

   8、根据条件用and或or进行多条件查询

//and 两个条件必须同时满足
        select * from emp where id = 10 and sal < 2000;
        //and 两个条件满足其一即可
        select * from emp where id = 10 or sal < 2000;

   9、模糊查询

       1)查询名字里面含有s的,%代表所有,_代表一个字符

select * from emp where name = "%s"

       2)如果查询数据里面出现了像_,%这样的特殊符号并且还在SQL里面属于关键字符就需要用到转移字符\\

select * from emp where name = "%\\_%"

   10、排序--默认是升序asc,需要降序加desc,

select * from emp order by id --desc
        //order by后面可以跟:列、表达式、别名、序号(开启set hive.groupby.orderby.position.alias=true)
        select sal, sal*12 year from emp order by sal, sal*12, year, 1
        //查询里面有NULL
        //升序默认是在最上面、降序是在最下面,需要把NULL转换成0显示或者0.0
        select nvl(sal,0), * from emp oder by sal;

4、hive函数

   1、数学函数(可以针对字段进行使用):round、ceil、floor

       1)round(数,保留位数),四舍五入 ---11.93

           select round(11.932)  --默认四舍五入取整数

           select round(11.932,2)

       2)ceil向上取整 --12

           select ceil(11.633)

       3)floor向下取整 --11

           select floor(11.623)

   2、字符函数("" == '')

       1)lower字符转换成小写,upper字符转换成大写

select lower("helloworld"), upper("helloworld");

       2)length字符的长度,一个汉字占两个字节,不是两个字符

select length("helloworld"), length("你好");

       3)concat拼接字符

select concat("hello", "world");

       4)substr截取字符

select substr("helloworld",2); --从第2个字符开始截取
            select substr("helloworld",2,3); --从第2个字符开始截取3个字符

       5)trim去掉两边空格

select trim(" hello world ");

       6)lpad左补齐,rpad右补齐

select lpad("hello",10,"*"), rpad("hello",10,"*");

 



相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
1月前
|
SQL 分布式计算 Java
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
34 0
|
4月前
|
SQL 分布式计算 大数据
大数据处理平台Hive详解
【7月更文挑战第15天】Hive作为基于Hadoop的数据仓库工具,在大数据处理和分析领域发挥着重要作用。通过提供类SQL的查询语言,Hive降低了数据处理的门槛,使得具有SQL背景的开发者可以轻松地处理大规模数据。然而,Hive也存在查询延迟高、表达能力有限等缺点,需要在实际应用中根据具体场景和需求进行选择和优化。
|
4月前
|
分布式计算 DataWorks 调度
MaxCompute产品使用合集之如何将数据迁移到CDH Hive
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
5月前
|
SQL 数据采集 数据可视化
基于Hive的招聘网站的大数据分析系统
基于Hive的招聘网站的大数据分析系统
130 2
|
5月前
|
SQL 关系型数据库 MySQL
基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)
基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)
185 0
|
5月前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之启用hive兼容的时候,某个字段是null,是否会把这个字段当成空白连起来
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6月前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
710 1
|
6月前
|
SQL 分布式计算 大数据
[AIGC 大数据基础]hive浅谈
[AIGC 大数据基础]hive浅谈
|
1月前
|
存储 机器学习/深度学习 分布式计算
大数据技术——解锁数据的力量,引领未来趋势
【10月更文挑战第5天】大数据技术——解锁数据的力量,引领未来趋势
|
15天前
|
数据采集 监控 数据管理
数据治理之道:大数据平台的搭建与数据质量管理
【10月更文挑战第26天】随着信息技术的发展,数据成为企业核心资源。本文探讨大数据平台的搭建与数据质量管理,包括选择合适架构、数据处理与分析能力、数据质量标准与监控机制、数据清洗与校验及元数据管理,为企业数据治理提供参考。
55 1