注意:我使用的是 Windows 11 我构建了一个 docker 映像,该映像执行 pyspark 应用程序来读取 CSV 文件并以 parquet 格式写入它们。下面是我的 Dockerfile
FROM gcr.io/datamechanics/spark:platform-3.2-latest
ENV PYSPARK_MAJOR_PYTHON_VERSION=3
WORKDIR /opt/application/
COPY requirements.txt .
RUN pip3 install -r requirements.txt
COPY input/ input/
COPY output/ output/
COPY main.py .
我正在使用下面来执行脚本
docker run <image_name> driver local:///opt/application/main.py
我正在将输出写入
output
文件夹。查看我正在使用的输出文件
docker cp <container_name>:/opt/application/output C:/output/
是否有任何ETL方法可以执行python脚本(使用dockerfile/shell脚本)并直接在Windows中查看输出文件(无需从docker容器复制)?
您需要使用卷运行:
docker run -it -v C:\temp\csv_files:/local <image_name>...
然后您可以写入 /local 例如使用 pyspark 写入 csv
df.write.csv('/local/foo.csv', header=True)