近期经常将现场的数据带回公司测试,所以写下该文章,梳理一下思路。
1.首先要查询相应的hive表,比如我要将c_cons这张表导出,我先查出hive中是否有这张表。
查出数据,证明该表在hive中存在。
2.查询该表的表结构(建表语句),为了更快的将表数据导入的公司的hive表中。查询表结构语句:show create table c_cons
3.根据你hive配置地址找到表在hadoop集群中的文件位置。
我的c_cons表的位置在:/user/hive/warehouse/c_cons里面。
4.在集群上输入:hadoop fs -get /user/hive/warehouse/c_cons,变可将文件下载到本地。不指定位置就下载到root目录下(shell命令参考:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html)
5.有时候文件过大,拷贝太占U盘空间,所以要进行打包。
-r 压缩 c_cons目录下的所有文件,压缩成的文件名为c_cons.zip (linux压缩解压参考:http://jingyan.baidu.com/article/6d704a13f9981a28da51ca70.html)
6.然后将c_cons.zip拷到U盘,带走。
7.回到公司,将c_cons.zip放在集群本地,进行解压。
解压到默认目录直接:unzip c_cons.zip 就可以了。
如果指定目录,例如解压到home目录下 unzip c_cons.zip –d /home/
8.将解压出来的文件上传到hadoop集群,我放在集群的/jsdata/目录下。使用shell命令:hadoop fs -put /home/c_cons /jsdata/
9.然后根据查询出的建表语句建表。
10.将数据导入到hive表中:load data inpath '/jsdata/c_cons into table c_cons