0

重命名攝入的文件我們有一個AWS S3存儲桶,我們可以以10分鐘的時間間隔獲取新的CSV文件。目標是將這些文件攝入Hive。如何將Apache Flume配置爲不使用.COMPLETE

所以對我來說顯而易見的方式是使用Apache Flume爲此並使用Spooling Directory來源,它將不斷尋找登陸目錄中的新文件並將它們攝入Hive中。

我們有read-only權限S3存儲桶和登陸目錄中的文件將被複制和Flume後綴攝入文件後綴.COMPLETED。因此,在我們的案例中,由於許可問題,Flume將無法標記完成的文件。

現在的問題是:

  1. 如果水槽不能後綴添加到完成 文件會發生什麼?它會給出任何錯誤還是會默默地失敗? (我實際上正在測試這個,但如果有人已經試過這個,那麼我不必重新發明輪子)
  2. 是否 Flume將能夠攝取文件而不用 .COMPLETED標記?
  3. 是否有更好的其他大數據工具/技術 適合此用例?

回答

1

流水線假冒目錄源需要具有寫權限,以重命名或刪除處理/讀取的日誌文件。

檢查'fileSuffix','deletePolicy'設置。

如果它不重命名/刪除完成的文件,它不能找出哪些文件已經處理。

您可能希望編寫一個從只讀S3桶讀取具有寫入權限的「暫存」文件夾的「腳本」,並將該暫存文件夾作爲源文件提供給水槽。