![](/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.