大数据量的建表、导数据

-----跨机器转移数据文件-----(scp 在linux服务器之间复制文件和目录,cp只能在本机复制,不可以跨服务器

scp -r 20170907.tar.gz username@ip~:/export/
---解压
tar -zxvf 20170907.tar.gz

=====================================

或者

-------将电脑本地文件在跨集群间hdfs传文件-----
建立hdfs文件夹
hadoop fs -mkdir /GPCC
将本地文件上传到hdfs文件夹
hdfs dfs -put /home/gpdbadmin/greenplum-cc-web-3.3.1-LINUX-x86_64.zip /GPCC
传文件
hadoop dfs -get hdfs://NameNode1:50070/GPCC
将第一个集群中的/GPCC文件夹以及文件夹下的文件复制到第二个集群中的/home/gpadmin目录下
hadoop distcp hdfs://NameNode1:50070/GPCC hdfs://NameNode2:50070/home/gpadmin

(hadoop distcp 集群内部或者集群之间分布式拷贝数据)

小总结一下:

 DistCp(Distributed Copy)是用于大规模集群内部或者集群之间的高性能拷贝工具,和在linux上执行cp,scp实现效果是一致的,不同的是,cp是将本机的文件和目录拷贝到本机的其它地方,scp则可以将A机器的文件或者目录拷贝到B机器,而Distcp则可以实现的是A(hdfs)集群的数据拷贝到B(hdfs)集群,而分布式使得数据拷贝时,可以实现A级群的DN节点同时向B集群的DN节点发送数据,突破了单机拷贝的网卡速率限制,拷贝效率更高。

======================================

---建表
create table....
---查看表数据位置

desc fromatted tablename;

记为  /apps/hive/warehouse/db01.db/tablename

---put数据到表数据位置
hadoop fs -put dt= 2017-09-07  /apps/hive/warehouse/db01.db/tablename
---添加分区
alter table tablename add partition(dt='2017-09-07');






你可能感兴趣的:(Linux)