感謝您的答案。我還沒有得到我想要的答案。這是一個涉及HDFS和concat api的特殊問題。我可以繞過HDFS的無更新限制嗎?
這是它。當concat談論文件時,它是否意味着只有「由HDFS創建和管理的文件?」或者它會在HDFS不知道的文件上工作,但恰好位於datanode上?
的想法是
創建一個文件並將其保存至HDFS。它被分解成塊並保存到datanode。
直接轉到datanodes並使用普通shell命令創建塊的本地副本。
改變這些副本。我現在有一組Hadoop不知道的塊。校驗和肯定是不好的。
使用concat將副本拼接在一起,並使用HDFS「註冊」它們。
最後,就HDFS而言,我有兩個文件。原始和更新的副本。本質上,我將數據塊放在datanode上,而不經過Hadoop。 concat代碼將所有這些新塊放到一個新的HDFS文件中,而不必通過Hadoop傳遞數據。
我不認爲這會工作,但我需要確保它不會。有人建議我作爲更新問題的可能解決方案。我需要說服他們這是行不通的。