Bài viết Câu hỏi About RongvangIT
profile Pic
0
0

Đăng ngày:

 

Sửa ngày:

53 Lượt xem

Về Dung Lượng Thư mục Tạm Thời trong Glue (Python Shell)

AWSAWS GluePython

Chào bạn, lại là Kiyoshi đây.

Lần này, tôi muốn nói chút về dung lượng của thư mục tạm thời của Glue (Python Shell).

glue1.png

Thông Tin Về Glue (Python Shell)

Đối với Glue (Python Shell), trang web này cung cấp thông tin sau:

DPU được sử dụng để đo lường khả năng xử lý tương đối và bao gồm hiệu suất tính toán của 4 vCPU và 16GB bộ nhớ. Để biết thêm thông tin chi tiết, vui lòng tham khảo Giá của AWS Glue.
Giá trị có thể được đặt là 0.0625 hoặc 1. Giá trị mặc định là 0.0625.
Trong cả hai trường hợp, ổ đĩa cục bộ của instans sẽ là 20GB.

Thực Nghiệm

Tạo một tệp tin tạm thời lớn

Vì ổ đĩa cục bộ của máy instans là 20GB không phụ thuộc vào DPU, tôi sẽ thực hiện công việc sau để ghi một tệp tin khoảng 18GB vào thư mục /tmp:

test-glue-job.py

import os
import tempfile


file_size_bytes = 18 * 1000 * 1000 * 1000
chunk_size_bytes = 1000 * 1000 * 1000

print("start!")

tmp_dir = tempfile.gettempdir()
with open(os.path.join(tmp_dir, "tmp.txt"), "wb") as f:
    bytes_written = 0
    bytes_written = 0
    # Ghi dữ liệu vào từng phần khoảng 1GB
    while bytes_written < file_size_bytes:
        data = os.urandom(min(chunk_size_bytes, file_size_bytes - bytes_written))
        f.write(data)
        bytes_written += len(data)

print("finish!")

Kết quả của việc thực hiện trên là gặp lỗi sau:

OSError: [Errno 28] No space left on device

Dường như không có đủ không gian trống để ghi một tệp tin 18GB.

Kiểm Tra Dung Lượng Ổ Đĩa

Tôi sẽ thực hiện công việc sau để kiểm tra dung lượng ổ đĩa:

test-glue-job-2.py

import subprocess

cp = subprocess.run("df -h", shell=True, capture_output=True, text=True)
print(cp.stdout)

Kết quả cho thấy:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  6.1G   14G  32% /
tmpfs            64M     0   64M   0% /dev
tmpfs           474M     0  474M   0% /sys/fs/cgroup
/dev/nvme0n1p1   20G  6.1G   14G  32% /connection
shm              64M     0   64M   0% /dev/shm
tmpfs           474M     0  474M   0% /proc/acpi
tmpfs           474M     0  474M   0% /sys/firmware

Như có thể thấy, ổ đĩa cục bộ có dung lượng 20GB, nhưng không phải toàn bộ 20GB đó đều có thể sử dụng (điều này là dễ hiểu).

Tiếp theo, tôi sẽ tạo một tệp tin tạm thời 10GB và kiểm tra dung lượng thư mục /tmp:

test-glue-job-3.py

import os
import subprocess
import sys
import tempfile


file_size_bytes = 10 * 1000 * 1000 * 1000
chunk_size_bytes = 1000 * 1000 * 1000

print("start!")

tmp_dir = tempfile.gettempdir()
with open(os.path.join(tmp_dir, "tmp.txt"), "wb") as f:
    bytes_written = 0
    # Ghi dữ liệu vào từng phần khoảng 1GB
    while bytes_written < file_size_bytes:
        data = os.urandom(min(chunk_size_bytes, file_size_bytes - bytes_written))
        f.write(data)
        bytes_written += len(data)

cp = subprocess.run("df -h /tmp", shell=True, capture_output=True, text=True)
print(cp.stdout)

print("finish!")

Kết quả cho thấy:

start!
Filesystem      Size  Used Avail Use% Mounted on
overlay          20G   16G  4.1G  79% /
finish!

Sau khi ghi tệp tin 10GB, dung lượng còn lại khoảng 4.1GB.

Hãy luôn nhớ tới toàn bộ dung lượng của ổ đĩa khi ghi vào thư mục tạm thời.

Kết Luận

Đây là những gì tôi đã tìm hiểu về dung lượng của thư mục tạm thời của Glue (Python Shell).

Hy vọng rằng điều này sẽ hữu ích cho bạn.

Tài Liệu Tham Khảo

Python Shell Job trên AWS Glue

kiyoshi
Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.

Bình luận

Bài viết chưa có bình luận. Hãy trở thành người bình luận đầu tiên!
Sign up for free and join this conversation.
Sign Up
If you already have a RongvangIT account Login
Danh sách thư mục
Tại sao không đăng ký và nhận được nhiều hơn từ RồngVàngIT ?

Bạn cần đăng nhập để sử dụng chức năng này, cùng hàng loạt các chức năng tuyệt vời khác của RồngVàngIT !

  1. 1. Bạn sẽ nhận được các bài viết phù hợp bằng chức năng theo dõi tag và người dùng.
  2. 2. Bạn có thể đọc lại các thông tin hữu ích bằng chức năng lưu trữ nội dung.
  3. 3. Chia sẻ kiến thức, đặt câu hỏi và ghi lại quá trình trưởng thành của mình cùng RồngVàngIT !
Tạo tài khoản Đăng nhập
profile Pic