2015-09-10 71 views
0

感謝您的答案。我還沒有得到我想要的答案。這是一個涉及HDFS和concat api的特殊問題。我可以繞過HDFS的無更新限制嗎?

這是它。當concat談論文件時,它是否意味着只有「由HDFS創建和管理的文件?」或者它會在HDFS不知道的文件上工作,但恰好位於datanode上?

的想法是

  • 創建一個文件並將其保存至HDFS。它被分解成塊並保存到datanode。

  • 直接轉到datanodes並使用普通shell命令創建塊的本地副本。

  • 改變這些副本。我現在有一組Hadoop不知道的塊。校驗和肯定是不好的。

  • 使用concat將副本拼接在一起,並使用HDFS「註冊」它們。

最後,就HDFS而言,我有兩個文件。原始和更新的副本。本質上,我將數據塊放在datanode上,而不經過Hadoop。 concat代碼將所有這些新塊放到一個新的HDFS文件中,而不必通過Hadoop傳遞數據。

我不認爲這會工作,但我需要確保它不會。有人建議我作爲更新問題的可能解決方案。我需要說服他們這是行不通的。

回答

0

轉到了HBase的它是建立在Hadoop之上,支持CRUD操作在大數據hadoop世界。 如果你不應該使用無SQL數據庫,那麼就沒有機會更新HDFS文件。唯一的選擇是重寫。

相關問題