Open chia7712 opened 1 year ago
壓縮演算法至少要支援 gzip,其他 lz4 snappy zstd 則看是否可行
目前專案中的 RecordWriterBuilder 中可以透過 compression 建立使用 gzip 的 ourput stream,那我先完成在 exporter 中可以透過可選參數 'compression.type' 供使用者設定要使用的壓縮方法。
將“備份出來”的資料倒回去的時候,系統可以自行判讀要用哪一種”壓縮演算法“
如果是第三點的那幾種壓縮方式,透過magic number來判斷壓縮方式不知是否恰當?
如果是第三點的那幾種壓縮方式,透過magic number來判斷壓縮方式不知是否恰當?
Magic number比較適合用來描述「整個檔案該如何讀取 or 寫入」,壓縮的資訊只應該是該檔案 tail的一部分
換句話說,我們的輸出檔案應該要在尾巴押上metadata了
如果只是單純知道檔案是哪種類型,應該可以使用以下的寫法:
import java.io.File;
import java.nio.file.Files;
public class Main {
public static void main(String[] args) {
try {
File file = new File("/home/user1/test.gz");
String fileType = Files.probeContentType(file.toPath());
System.out.println(fileType);
} catch(Exception e) {
throw new RuntimeException(e);
}
}
}
一個小建議,還是要看實際的需求來決定寫法。
非常感謝建議 我會試試看這方法的效果
backup 工具可以幫助我們快速將 topic 資料備份到指定的檔案系統,考量資料可能非常龐大,在資料內容適合壓縮的狀態下,支援壓縮演算法可以幫助我們更有效地將資料備份出來,因此這個議題用來追蹤以下幾個功能:
gzip
,其他lz4
snappy
zstd
則看是否可行