几种基本的导入数据方式:
1 建表的时候指定location 结构化数据的位置文件夹 外部表
例:
①新建user1.txt 文件 将该文件上传到HDFS 的/data/test/目录下
②建表
create external table tb_user2(
id int,
name string
)
row format delimited fields terminated by ‘\t’
location ‘/data/test/’;
③此时创建外部表时直接指定数据的位置,查看表时数据直接就在表中了。
2 可以直接将结构化数据put到hdfs中表的目录下(建表时的位置,忘了可以通过 desc formatted 表名 来查)
如果本身就是HDFS中的数据 hdfs dfs -mv 移动文件
例:
①本地创建一个文件写入结构化数据 vi tb_user1.txt
②随便创建一个表
create external table tb_user2(
id int,
name string
)
row format delimited fields terminated by ‘\t’;
③此时表在HDFS中位置为:/user/hive/warehouse/tb_user2
④将文件tb_user1.txt 上传到该路径下:
hdfs dfs -put ./tb_user1.txt /user/hive/warehouse/tb_user2/
⑤此时select *from tb_user2 会发现tb_user1.txt中的数据已经进入到表中了
⑥再传一次数据(不会冲突,此时表名的目录下会有两个文件。查询表数据发现数据又多一遍)
hdfs dfs -put ./tb_user1.txt /u