全部產品
Search
文件中心

E-MapReduce:使用JindoTable實現對OSS上表或分區的歸檔和解凍

更新時間:Jul 01, 2024

本文介紹了JindoTable中的archiveTable和unarchiveTable命令,這兩個命令可以用於對OSS上的表或分區進行歸檔和解凍操作。

使用限制

該文檔僅適用於使用Hive Metastore儲存中繼資料的情況。

archiveTable命令

archiveTable命令可以對OSS上的表或分區進行歸檔。

擷取協助資訊

執行以下命令,擷取協助資訊。

jindotable -help archiveTable

參數說明

jindotable -archiveTable -t <dbName.tableName> -i/-a/-ca [-c "<condition>" | -fullTable] [-b/-before <before days>] [-p/-parallel <parallelism>] [-mr/-mapReduce] [-e/-explain] [-w/-workingDir <working directory>][-l/-logDir <log directory>]

參數

描述

是否必選

-t <dbName.tableName>

待歸檔的表名稱,格式為資料庫名.表名

  • 資料庫和表名之間以半形句號(.)分隔。

  • 表可以是分區表或非分區表。

-i/-a/-ca

目標儲存方式。支援如下方式:

  • -a:歸檔(Archive)儲存。

  • -i:低頻 (Infrequent Access,IA)儲存。

    說明

    如果使用-i,即表示低頻儲存,會跳過已經處于歸檔儲存的檔案。

  • -ca:冷歸檔(Code Archive)儲存。

-c "<condition>" / -fullTable

-c "<condition>"-fullTable只需提供一個,即要麼指定-c "<condition>",要麼指定-fullTable

  • 指定-c "<condition>"時,則提供了一個過濾條件,用來選擇希望移動的分區,支援常見運算子,例如大於符號(>)。例如,資料類型為String的分區ds,希望分區名大於 'd',則代碼為-c " ds > 'd' "

  • 指定-fullTable時,則為移動整表,既可以是非分區表也可以是分區表。

-b/before <before days>

只有建立時間距離現在超過一定天數的表或分區才會被歸檔。

-p/-parallel <parallelism>

歸檔操作的並行度。

-mr/-mapReduce

使用Hadoop MapReduce而非本地多線程來歸檔資料。

-e/-explain

如果出現該選項,則為解釋(explain)模式,只會顯示待移動的分區列表,而不會真正移動資料。

-w/-workingDir

該目錄只在MapReduce作業執行時使用,作為MapReduce作業的工作目錄。工作目錄可以是非空的,因為在作業執行過程中會建立臨時檔案,執行完畢後會清理臨時檔案。

-l/-logDir <log directory>

指定Log檔案的目錄。

unarchiveTable命令

unarchiveTable命令可以對OSS上的表或分區進行解凍。

擷取協助資訊

執行以下命令,擷取協助資訊。

jindotable -help unarchiveTable

參數說明

jindotable -unarchiveTable -t <dbName.tableName> [-i/-a/-o/-cr] [-notWait] [-c "<condition>" | -fullTable] [-d/-restoreDays <restore days>] [-b/-before <before days>] [-p/-parallel <parallelism>] [-mr/-mapReduce] [-e/-explain] [-w/-workingDir <working directory>][-l/-logDir <log directory>]

參數

描述

是否必選

-t <dbName.tableName>

待解凍的表名稱,格式為資料庫名.表名。資料庫和表名之間以半形句號(.)分隔。表可以是分區表或非分區表。

-i/-a/-o/-cr

如果不指定參數,則轉換儲存格式為標準(Standard)儲存。

支援如下方式:

  • -i:則轉換儲存格式為低頻(Infrequent Access,IA)儲存,原本為標準儲存的檔案被跳過。

  • -a:則轉換儲存格式歸檔(Archive)儲存。

  • -o:僅做解凍(Restore)操作。原本為標準儲存或低頻儲存的檔案均被跳過。已經處於解凍狀態的檔案也會被跳過,即不會重複解凍。

  • -cr:檢查是否所有 restore 任務已完成。

-notWait

該選項僅適用於Restore操作。如果出現該選項,則不會等待OSS服務端完成Restore操作。否則,會等待Restore操作完成或者逾時(10分鐘)後才退出。

-c "<condition>" / -fullTable

-fullTable-c "<condition>"只需提供一個,即要麼指定-c "<condition>",要麼指定-fullTable

  • 指定-fullTable時,則為移動整表,既可以是非分區表也可以是分區表。

  • 指定-c "<condition>"時,則提供了一個過濾條件,用來選擇希望移動的分區,支援常見運算子,例如大於符號(>)。例如,資料類型為String的分區ds,希望分區名大於 'd',則代碼為-c " ds > 'd' "。

-d/-restoreDays <restore days>

當執行僅解凍(Restore)操作時,通過設定參數可以指定保持解凍狀態的天數,預設為一天。

例如,對於已冷歸檔的表執行僅解凍操作時(-o參數),則該參數將生效;對一個從未解凍過的歸檔狀態的錶轉為標準儲存時,該參數將在中間環節發揮作用;而對一個低頻狀態的錶轉為標準儲存時,該參數將不起作用。

-b/-before <before days>

只有建立時間距離現在超過一定天數的表或分區才會被解凍。

-p/-parallel <parallelism>

解凍操作的並行度。

-mr/-mapReduce

使用Hadoop MapReduce而非本地多線程來解凍資料。

-e/-explain

如果出現該選項,則為解釋(explain)模式,只會顯示待移動的分區列表,而不會真正移動資料。

-w/-workingDir

該目錄只在MapReduce作業執行時使用,作為MapReduce作業的工作目錄。工作目錄可以是非空的,因為在作業執行過程中會建立臨時檔案,執行完畢後會清理臨時檔案。

-l/-logDir <log directory>

指定Log檔案的目錄。