ITPub博客

首页 > > > Hive SQL 入门操作

Hive SQL 入门操作

作者:markriver 时间:2020-07-01 16:46:35 0 删除 编辑

本文暂且不说业务,只说操作。

来来来~~~~废话少说,直接上干货。

1.首先介绍大数据的奠基人:google 和 Apache

google三大著名论文:

Google file system:讲述借助低成本机器有效的存储海量数据;
Google MapReduce:强调快速计算海量数据;
Google BigTable:强调海量数据的快速查询;

Apache 公司受到google三大论文的启发,开发出Hadoop分布式系统。

这个分布式系统包括HDFS和MapReduce。HDFS是Hadoop的分布式文件系统,用于存储海量数据。MapReduce用于计算海量数据。

Hbase是基于Hadoop的数据库,访问方式有:通过行键进行随机访问;通过map-reduce脱机或批访问,属于OLTP,方便底层管理人员实时查询明细,具有实时性。Hive是基于Hadoop的数据仓库工具,可以存储,查询,分析数据,属于OLAP。方便决策人员和数据分析人员统计分析历史数据,对时间没有要求。Hive可以借助查询语言SQl将HDFS上存储的结构化文件映射成一张数据库表,并提供类SQL查询功能。本质是将浅学易懂的SQL转换为MapReduce程序,避免编写复杂的MapReduce程序。

2.下面介绍在hive操作的常用SQl语句:

首先,我们一般利用SecureCRSecureFXPortable终端进入远程机器(该机器与Hadoop集群相连),然后进入Hive的命令行。

show databases;
# 列出所有数据库
use   数据库名;
# 使用指定数据库
show  tables;
# 列出某数据库下面的所有表
desc  表名;  
# 列出指定表的所有字段
create table 表名; 
# 创建表
select * from  表名 ;
# 选出指定表的所有列
select * from 表名 limit 10;
# 选出指定表所有列,并输出10条数据
select count(*) from 表名;
# 统计指定表有多少条数据
select * from 表名 where  pt>='2017-07-07' and pt<='2017-07-16';
# 显示日期为7.7-7.16号的所有数据

3.上传文件、下载文件、运行(假设文件为file.sh)

rz file.sh;      
# cd  目标目录后,执行rz,就可将文件上传并保存到该目录
sz file.sh;      
# 下载文件,可以在终端设置好下载文件的路径
bash file.sh;   
# 运行file.sh脚本    

后台运行脚本

nohup bash file.sh 2017-07-28 1 > test.log 2>&1 &   

#nohup,表示后台运行;1表示标准输出,2表示标准错误,这条命令是执行脚本,日期为7.28号,并将标准输出和标准错误都放在test.log 2文件中。

4.HDFS的数据保存到本地(表名为 mytable )

hive -e "select * from mytable  where  pt>='2017-07-07' and pt<='2017-07-16'">/home/mydata/t1.txt;  

#从指定表mytable中选出日期为在7.7-7.16号的所有数据,并存入制定路径下的文件t1.txt中

5.本地数据保存到HDFS

load data local inpath'/home/mydata/t2.csv' overwrite into table mytable ;

后续还会更新windows 编写的脚本在Linux运行时常见错误与解决方法~~~~~

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/818/viewspace-3126505/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-07-03

  • 博文量
    502
  • 访问量
    18491