淘先锋技术网

首页 1 2 3 4 5 6 7

1、  通过hive的cli连接

步骤

Linux:

// 执行TDH Client的init.sh脚本

1.      通过hive命令来连接hive

在xshell中,直接输入hive,即可连接hive

2.      在hive中建库

create database if not exists data ;

3.      查看database

show databases;

4.      使用指定的database

use test;

5.      通过CLi建表

//hive不区分大小写,这里将关键字用大写表示,以作提示之用

CREATE TABLE customers (id int,name string,age int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ;

--如果表已存在就删除 drop table if exists db_msg.tb_msg_etl; --将Select语句的结果保存到新表中 create table db_msg.tb_msg_etl as select*, --原始表的所有字段仍保留 substr(msg_time,0,10) as dayinfo, --获取天 substr(msg_time,12,2) as hourinfo, --获取小时 split(sender_gps,",")[0] as sender_lng, --提取经度 split(sender_gps,",")[1] as sender_lat --提取纬度 from db_msg.tb_msg_source where length(sender_gps) > 0 ; --过滤字段为空的数据

6.      查看表结构

desc customers ;

//查看表的字段

show create table customers ;

//查看建表语句

7.      向表中插入数据

insert into  customers values(1,'tom',24);

insert into customers values(2,'Jame',21);

insert into customers values(2,'周树人',21);

insert into customers values(3,'薛燊',31);

8.      查看表中的数据

select * from customers;

9.      对查询结果进行全排序

select * from customers order by id asc ;

//排序时,会转换成MR任务

//sort进行的时map端排序。

select * from customers sort by id asc ;

//DISTRIBUTE BY类似于mysql的group by,进行分区操作。

select * from customers distribute by age sort by id ;    

             

//注意顺序.

select * from customers distribute by id sort by age desc ;

10.   导出表结构和数据

EXPORT TABLE customers TO '/root/customers.txt';

后面是想cp到hdfs上的文件夹

11.   在hdfs上查看导出的文件

hdfs dfs -ls -R /root

12.   退出登录

exit;

2、  通过beeline命令连接hive

l 任务:启动hiveserver2服务,并通过beeline命令连接hive和基本的HQL操作。

l 步骤

Linux:

//

1.      启动hiveserver2服务

hiveserver2

另起一个xshell客户端

2.      用beeline客户端连接hive 注意替换为自己的主机名

beeline -u jdbc:hive2://hadoop01:10000

3.      查看数据库

show databases;

退出

!q

//如果无法退出,请输入;,然后再执行