簡體   English   中英

帶有已刪除分區文件的分區表上的Spark SQL查詢失敗

[英]Spark sql queries on partitioned table with removed partitions files fails

以下是按順序嘗試的內容,

  1. 根據當前時間在蜂巢中創建分區表。
  2. 使用spark配置單元上下文並執行msck修復表。
  3. 手動刪除添加的分區之一的hdfs文件夾。
  4. 再次使用spark hive上下文並執行> msck修復,這不會刪除已添加的沒有hdfs文件夾的分區。 似乎是關於“ msck修復”的已知行為b>從tablexxx其中選擇*(現有分區); 失敗失敗:Filenotfound異常指向手動刪除的hdfs文件夾。

對這種行為的任何見解都會有很大的幫助。

是的, MSCK REPAIR TABLE將僅發現新分區,而不刪除“舊”分區。

使用刪除了HDFS文件夾的外部配置單元表,我看到了兩種解決方案

  1. 刪除表(由於表是外部文件,因此不會刪除文件),然后使用相同的位置重新創建表,然后運行MSCK REPAIR TABLE 這是我的首選解決方案。
  2. 使用ALTER TABLE <table> DROP PARTITION <partition>刪除所有刪除的ALTER TABLE <table> DROP PARTITION <partition>

您在案例中觀察到的內容可能與以下內容有關: https : //issues.apache.org/jira/browse/SPARK-15044https://issues.apache.org/jira/browse/SPARK-19187

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM