Linux
cat 並拆分文件並上傳到 hdfs?
我正在嘗試實現這種情況,我可以拆分本地 linux 上的 gz 文件並將其作為部分解壓縮或壓縮文件上傳到 hdfs,而無需將拆分輸出寫入磁碟。嘗試以下命令後我遇到了問題。
下面的命令寫入本地磁碟,然後我可以上傳到我不想要的 hdfs:-
zcat ./file.txt.gz | tail -n +2 | split -l 20 - file.part hdfs dfs -copyFromLocal ./*file.part* /folder/in/hdfs/
我想要這樣的東西可以實現嗎?:-
zcat ./file.txt.gz | tail -n +2 | split -l 20 | gzip -d | hdfs dfs -put - /folder/in/hdfs/file.part
您可以避免拆分並自行進行拆分:
number_of_files=5 # for you to determine zcat ./file.txt.gz | for((i=0;i<5;i++)); do head -n 20 | hdfs dfs -put - /folder/in/hdfs/file.part_$i done