1、Hive数据导入
2、Hive的数据查询
3、Hive的Java客户端和自定义函数
1、Hive数据导入
(1.1)使用Load语句导入
HiveQL中提供LOAD DATA
命令,用于导入数据到Hive表中。根据导入文件是在本地,还是在HDFS文件系统上,LOAD DATA
命令,又可分为LOAD DATA LOCAL INPATH
和LOAD DATA INPATH
。
将student02.txt导入t2中
load data local inpath '/root/data/student01.txt' into table t2
如果指明Local 则说明数据存储在lnux操作系统上,否则数据存储在HDFS中
假设文件在HDFS中
load data inpath'/user/b.txt' into table t2;
数据加载到分区表中
load data local inpath '/root/data/' into table partition_table_1 partition(sex='女')
load data local inpath '/root/data/' into table partition_table_2 partition(sex='男')
(1.2)使用Sqoop导入数据
(1.3)使用HDFS命令
Hive表数据与HDFS文件是对应的,因此,可以使用HDFS文件管理命令将文件直接复制/移动到Hive表数据存放目录,从而达到将数据导入相应Hive表的目的。
使用如下命令,建立一个Hive表user:
create table user(id int,name string) row format delimited fields terminated by ',' ;
通过以下命令将“a.txt”文件直接复制到表对应的数据存放目录:
hadoop fs -put a.txt /user/hive/warehouse/user/
(1.4)使用 insert into table tablename
select ...
语句
首先使用如下命令创建一个新的Hive表userlog。
create table userlog(id int,name string)
接着使用如下命令从以上提及到的user表中获取数据插入userlog表中。
insert into table userlog selectid,name from user
(1.5)使用create table tablenames as select ...语句
可以在创建Hive表的同时从其他表获取数据进行填充。比如执行如下语句,表示创建了一个新的Hive表,同时从上述提及到的user表中获取数据进行了填充。
create table personlog as select id,name from user
2、Hive的数据查询
3、Hive的Java客户端和自定义函数