hive相关基础

hive相关基础

1、进入到hive命令下;(linux下直接输入hive即可)

hive

2、查看工作分区下的hive表都有哪些?

show tables;

3、查看hive中某个具体表,例如要查看’abc’表的结构(在hive命令下执行)

desc abc;

4、建表语句’abc’;(下面是分隔符,加上就好有好处,不然会出现本来要传2列数据到两个字段下面,却发现两列数据全部到了一个字段下面)

CREATE TABLE `abc`(

`dim_user_hid` string

)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY ‘\t’

LINES TERMINATED BY ‘\n’;

5、这句话是把本地文件中yz.txt中的数据传到建的hive表’abc’中

load data local inpath ‘yz.txt’into table abc;

6、一般情况下是4和5联合起来使用,比如你要导出指定mac的相关数据信息,而数据库中是所有mac的信息,那怎么筛选呢

先把指定的mac信息写成一个txt文本,上传到linux指定目录下,然后把数据导入创建好的hive表中,然后和已知的hive达标数据做join关联即可

7、6说到了文件上传,给你说下上传命令;

linux命令下,rz -be 就会弹出界面,选择你要上传的文件即可;

7、删除某个表;

hive下执行drop table 表名;

8、其实hive的精髓就是表与表之间的关联和相关字段之间的关联,hive数据库建好以后,里面会有很多表,几乎所有信息都在里面储存,但是需求并不一定需要

全部的数据,所以就需要各种各样的条件查询和导出相应的数据;

9、insert那句话是表示在tmp目录下面建立的文件以及文件名称(这句话一般都要加上并写在查询语句前方,方便查询完毕后将文件导出来)

这个查询语句是非常简单的,就是说在导出hehe里面的id、hid信息,条件是id=300119的所有信息

insert overwrite local directory ‘/tmp/300021’ row format delimited fields terminated by ‘,’

select id,hid from hehe where id =300119 ;

10、导完数据后,数据就存储在了tmp目录下面的300021文件中,这个时候,我们去到300021目录中把文件下载到桌面就好了

可以vi 00000_0

然后:wq

再然后sz 00000_0即可;

另一种方法就是在数据导入的目录下执行:

cd /tmp/300019

cat *>> a.log

sz a.log即可(这种方式是将所有文件中的数据导入到了log文件中,用起来比较方便)

先写到这儿吧,hive还是要多多操作才会更加熟练,数据的导出工作是基础的,同时也是磨炼基本功的,特别是多种表关联的时候,hive真的妙不可言,哈哈

元周

    原文作者:HG01
    原文地址: https://www.jianshu.com/p/8f23761a76e1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞