我想在Python腳本中從HDFS導入tar.gz文件,然後解壓縮它。該文件如下20160822073413-EoRcGvXMDIB5SVenEyD4pOEADPVPhPsg.tar.gz,它始終具有相同的結構。在通配符的Python腳本中解壓縮文件
在我的python腳本中,我想複製它在本地和提取文件。我使用下面的命令來做到這一點:
import subprocess
import os
import datetime
import time
today = time.strftime("%Y%m%d")
#Copy tar file from HDFS to local server
args = ["hadoop","fs","-copyToLocal", "/locationfile/" + today + "*"]
p=subprocess.Popen(args)
p.wait()
#Untar the CSV file
args = ["tar","-xzvf",today + "*"]
p=subprocess.Popen(args)
p.wait()
進口完美的作品,但我不能提取文件,我收到以下錯誤:
['tar', '-xzvf', '20160822*.tar']
tar (child): 20160822*.tar: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
put: `reportResults.csv': No such file or directory
誰能幫助我?
非常感謝!
嗨,謝謝。我現在有一個不同的錯誤: tar:您必須指定'-Acdtrux'或'--test-label'選項之一 有關更多信息,請嘗試'tar --help'或'tar --usage'。 \t 謝謝 – Majid
@Majid將'today'變量傳遞給'Popen'時有什麼變化? – martriay
這是當天的日期格式爲20160822.我這樣做是因爲我每天接收一個文件,並嘗試自動執行此過程 – Majid