我正在嘗試讀取幾個檔案的內容并使用 grep 查找帶有我的搜索查詢的行,然后將結果輸出到另一個目錄中的檔案夾中。我收到錯誤“不存在這樣的檔案或目錄”。我已經創建了檔案夾結構和文本檔案。
hadoop fs -cat /Final_Dataset/c*.txt | grep 2015-01-* > /energydata/2015/01/01.txt
錯誤:
-bash: /energydata/2015/01/01.txt: 沒有那個檔案或目錄
uj5u.com熱心網友回復:
> /energydata/2015/01/01.txt意味著輸出被重定向到本地檔案。hdfs fs -cat將輸出發送到您的本地機器,此時您不再在 Hadoop 中操作。grep只是對資料流起作用,它不關心(或知道)它來自哪里。
/energydata/2015/01/在運行此命令之前,您需要確保本地存在。您可以使用mkdir -p /energydata/2015/01/.
如果您希望從 HDFS 上的檔案中提取某些記錄,然后將新檔案重新寫入 HDFS,那么我建議不要使用cat-ing 檔案,而是使用 Spark 或Hive 可以有效地轉換資料。或者失敗只是做一個hadoop dfs -put <local_path> /energydata/2015/01/01.txt.
uj5u.com熱心網友回復:
以下 CLI 命令有效
hadoop fs -cat /FinalDataset/c*.txt | grep 2015-01-* | hadoop fs -put - /energydata/2015/01/output.txt
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/351600.html
上一篇:我的網頁有時會忽略我的css檔案
下一篇:jQuery不區分大小寫的搜索
