启动Hive
hive
内部表
建表
create table test1(id int,name string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
创建完成后使用 show tables; 查看是否创建成功.
show tables;
hive> show tables;
OK
sfmta_raw
test1
Time taken: 0.099 seconds, Fetched: 2 row(s)
写入数据
提前准备好一个txt文件,文件内容如下,分隔符为,
1,aaaaa
2,bbbbb
3,ccccc
4,ddddd
将txt文件数据导入hive表中
hive> load data local inpath '/opt/test.txt' into table test1;
Loading data to table default.test1
Table default.test1 stats: [numFiles=1, totalSize=34]
OK
Time taken: 0.46 seconds
查看表中的数据。
hive> select * from test1;
OK
1 aaaaa
2 bbbbb
3 ccccc
4 ddddd
Time taken: 0.261 seconds, Fetched: 4 row(s)
数据已经导入成功。
在导入数据的过程中,如果在建表的过程中没有指定location,那么就会在hive.metastore.warehouse.dir指定的路径下,以表名创建一个文件夹,之后所有有关该表的数据都会存储到此文件夹中。
hive.metastore.warehouse.dir是在HIVE_HOME/conf/hive-site.xml中配置的,如果没有配置,默认为/user/hive/warehouse
在HDFS中就可以看到该路径下有个文件夹名为test1,这个文件夹名就是hive表名
进入test1目录,test.txt这个文件就是我们在导入数据时,从本地文件系统拷贝到HDFS中。
删除表
drop table test1;
hive> drop table test1;
OK
Time taken: 0.285 seconds