[英]Import from MySql dump to hive
將MySql轉儲導入Hive時遇到問題。
我使用了sqoop
連接器將數據成功地從MySql
導入到Hive
。 但是,有更多的數據轉儲要導入到Hive。 首先還原數據庫是不可行的。 由於轉儲大小為300G,因此需要3天才能恢復。 另外,由於磁盤空間問題,我無法在MySql上還原兩個以上的文件。
結果,我希望將MySql轉儲中的數據直接導入到配置單元中,而不還原到MySql中。
MySql轉儲還有一個問題,就是有多個插入語句(大約10億個)。 那么它將為每個插入創建多個文件嗎? 在這種情況下,如何合並它們?
您可以使用Hive提供的“加載”命令來加載本地目錄中存在的數據。
示例:這會將文件fileName.csv中存在的數據加載到配置單元表tableName中。
load data local inpath '/tmp/fileName.csv' overwrite into table tableName;
如果您的數據存在於HDFS中,請使用不帶本地選項的相同加載命令。
示例:此處/ tmp / DataDirectory是HDFS目錄,並且該目錄中存在的所有文件都將被加載到Hive中。
load data inpath '/tmp/DataDirectory/*' overwrite into table tableName;
警告:由於Hive是讀取模式,因此請確保要加載的文件和Hive表中的行定界符和字段定界符相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.