无法在Docker中使用python从GCS存储桶读取数据

时间:2020-02-05 14:21:44

标签: python pandas docker google-cloud-platform containers

大家好,我正在尝试使用Docker映像内的python代码从GCS存储桶读取数据。 1.23 gb csv文件所花费的时间过多,并且执行被自动终止。我要附加Docker文件和python代码。

unsigned char

Python代码:

FROM python:3.7.3

WORKDIR /Users/amansaurav/Downloads/xyz/data_process/
RUN pip3 install --upgrade pip
RUN pip3 install pandas --upgrade
RUN pip3 install sklearn
RUN pip3 install argparse
RUN pip3 install 'kfp' --quiet
RUN pip3 install pandas --upgrade
RUN pip3 install --upgrade oauth2client
RUN pip3 install gcsfs
RUN pip3 install https://storage.googleapis.com/ml-pipeline/release/0.1.20/kfp.tar.gz
RUN pip3 install "dask[complete]"

COPY . .
ENV GOOGLE_APPLICATION_CREDENTIALS /Users/amansaurav/Downloads/xyz/data_process/key.json
ENTRYPOINT ["python", "./dataprep.py", "--path", "gs://bucketName/", "--filename", "test.csv" ]

代码被卡在读取的csv部分,并且在大量CPU使用之后,容器被杀死。 我也尝试过用熊猫来做,但是结果是一样的,在高CPU使用率之后容器被杀死了:

file_path = os.path.join(path,filename)
print('file_path: '+ file_path)

fs = gcsfs.GCSFileSystem(project='projectName')
with fs.open(file_path) as f:
    df = pd.read_csv(f)
print('done')

我正在本地docker env中运行它。任何线索都将有所帮助。

编辑1-我也用200kb的文件尝试过此操作,虽然成功,但是文件大小为1.23 GB失败。

0 个答案:

没有答案