![](/img/trans.png)
[英]Processing 1 billion records locally in Spark from Hive metastore(parquet format) takes forever 6 hours. How to speed it up?
[英]Loading 600billion records from 1 hive table into another
我在1个数据库中有一个配置单元外部表,其中包含大约6,000亿条记录和100列。 我需要将数据原样复制到其他数据库的同一表中。 我正在尝试编写一个火花代码,但是它花了很多时间。 有什么建议我将如何编写代码? 我是新来的火花!
不要复制,请放在原处。 在另一个数据库中创建外部表,其位置指向数据位置。
USE YOUR_DATABASE;
CREATE EXTERNAL TABLE abc ... LOCATION 'hdfs://your/data';
如果需要,使用MSCK REPAIR TABLE abc;
恢复分区MSCK REPAIR TABLE abc;
或ALTER TABLE abc RECOVER PARTITIONS;
如果您正在使用EMR。
如果您绝对需要将数据复制到另一个位置(并且如果您在Amazon支付的EC2集群上,则需要为此花钱的话),请使用distcp(分布式复制工具) :
hadoop distcp hdfs://your/data hdfs://your/data2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.