Các phiên tương tác AWS Glue cho phép các kỹ sư xây dựng, thử nghiệm và chạy khối lượng công việc chuẩn bị và phân tích dữ liệu trong một sổ ghi chép tương tác. Phiên tương tác cung cấp môi trường phát triển biệt lập, chăm sóc cụm điện toán cơ bản và cho phép cấu hình dừng tài nguyên chạy không tải.
Các phiên tương tác keo cung cấp các cấu hình được đề xuất mặc định và cũng cho phép người dùng tùy chỉnh phiên để đáp ứng nhu cầu của họ. Ví dụ: bạn có thể cung cấp thêm nhân viên để thử nghiệm trên tập dữ liệu lớn hơn hoặc đặt thời gian chờ không hoạt động cho khối lượng công việc chạy dài. Với khả năng linh hoạt thay đổi các tùy chọn này tùy thuộc vào khối lượng công việc, bạn có thể cần đảm bảo rằng các tùy chọn được thay đổi trong các ranh giới cụ thể và áp dụng cơ chế kiểm soát.
Trong bài viết này, chúng tôi trình bày quá trình triển khai một giải pháp tái sử dụng để thực thi các giới hạn phiên tương tác của AWS Glue đối với ba tùy chọn: kết nối, số lượng công nhân và thời gian nhàn rỗi tối đa. Tùy chọn đầu tiên giải quyết nhu cầu áp dụng kiểm tra và kiểm soát tùy chỉnh đối với lưu lượng truy cập, chẳng hạn như bằng cách thực thi một phiên tương tác chỉ được chạy bên trong VPC. Hai quy định còn lại thực thi các giới hạn về chi phí và việc sử dụng Keo AWS tài nguyên bằng cách thực thi ranh giới trên về số lượng công nhân và thời gian nhàn rỗi mỗi phiên. Bạn có thể mở rộng thêm giải pháp cho các thuộc tính hoặc dịch vụ khác trong AWS Glue.
Tổng quan về giải pháp
Kiến trúc đề xuất được xây dựng trên các thành phần serverless và chạy bất cứ khi nào một phiên tương tác AWS Glue mới được tạo.
Các bước quy trình làm việc như sau:
- Kỹ sư dữ liệu tạo phiên tương tác AWS Glue mới thông qua Bảng điều khiển quản lý AWS hoặc trong sổ ghi chép Jupyter cục bộ.
- Phiên tương tác tạo ra một sự kiện mới để Đường mòn đám mây AWS cho
CreateSession
sự kiện với tất cả thông tin liên quan để xác định và kiểm tra phiên ngay khi phiên được bắt đầu. - An Sự kiện Amazon quy tắc lọc các sự kiện CloudTrail và gọi một AWS Lambda chức năng kiểm tra các
CreateSession
biến cố. - Hàm Lambda kiểm tra
CreateSession
sự kiện và kiểm tra tất cả các điều kiện biên được xác định. Hiện tại, các ranh giới có thể định cấu hình bằng giải pháp này bị giới hạn ở số lượng công nhân tối đa, thời gian chờ không hoạt động tính bằng phút và triển khai với kết nối được thực thi. - Nếu bất kỳ điều kiện biên đã xác định nào không được đáp ứng, ví dụ như có quá nhiều nhân viên được cung cấp cho phiên, tùy thuộc vào cấu hình được cung cấp, chức năng sẽ kết thúc phiên tương tác ngay lập tức và gửi email qua Dịch vụ thông báo đơn giản của Amazon (Amazon SNS). Nếu phiên chưa bắt đầu, chức năng sẽ đợi phiên bắt đầu trước khi thực hiện bất kỳ hành động nào.
- Nếu phiên bị dừng, một email sẽ được gửi đến một chủ đề SNS. Không có thông tin nào trong sổ tay phiên tương tác về lý do kết thúc phiên. Do đó, thông tin ngữ cảnh bổ sung được cung cấp thông qua chủ đề SNS cho các kỹ sư dữ liệu.
- Nếu chức năng không thành công, các phiên được đăng nhập vào một hàng đợi chữ cái chết trong Dịch vụ xếp hàng đơn giản trên Amazon (Amazon SQS). Hơn nữa, hàng đợi được theo dõi và trong trường hợp có tin nhắn, nó sẽ kích hoạt amazoncloudwatch báo thức.
Các bước sau đây sẽ hướng dẫn bạn cách xây dựng và triển khai giải pháp. Mã có sẵn trong Repo GitHub.
Điều kiện tiên quyết
Đối với hướng dẫn này, bạn nên có các điều kiện tiên quyết sau:
Tổng quan về các tài nguyên được triển khai
Tất cả các tài nguyên cần thiết được xác định trong một Hình thành đám mây AWS tập tin nằm dưới cfn/template.yaml
. Để triển khai các tài nguyên đó, chúng tôi sử dụng Mô hình ứng dụng không có máy chủ AWS (AWS SAM), cho phép chúng tôi xây dựng và đóng gói tất cả các phụ thuộc một cách thuận tiện, đồng thời quản lý các bước AWS CloudFormation cho chúng tôi.
Ngăn xếp CloudFormation triển khai các tài nguyên sau:
- Một hàm Lambda với thư viện của nó, cả hai được định nghĩa trong thư mục src/functions. Chức năng là điều khiển. Nó sẽ xác thực rằng phiên được bắt đầu trong giới hạn được xác định.
- Một quy tắc EventBridge. Sự kiện này lắng nghe CloudTrail và trong trường hợp có phiên tương tác mới, sẽ kích hoạt chức năng Lambda kiểm soát.
- Hàng đợi chữ cái chết SQS (DLQ) được đính kèm với hàm Lambda. Điều này lưu giữ một bản ghi các sự kiện gây ra lỗi chức năng Lambda.
- Hai cảnh báo CloudWatch giám sát lỗi chức năng Lambda và thông báo trong DLQ.
Nếu thông báo qua email được bật, hai tài nguyên khác sẽ được triển khai:
Ngoài ra, AWS CloudFormation triển khai tất cả các tính năng cần thiết Quản lý truy cập và nhận dạng AWS (IAM) vai trò và chính sách, và một Dịch vụ quản lý khóa AWS (AWS KMS) để đảm bảo rằng dữ liệu trao đổi được mã hóa.
Triển khai giải pháp
Để tạo thuận lợi cho vòng đời triển khai, bao gồm thiết lập môi trường cục bộ của người dùng, chúng tôi cung cấp Makefile mô tả tất cả các bước cần thiết. Đảm bảo rằng bạn đã gia hạn thông tin đăng nhập AWS và có quyền truy cập vào tài khoản của mình. Để biết thêm thông tin, hãy tham khảo Cài đặt tệp cấu hình và thông tin xác thực.
- Khám phá Makefile và điều chỉnh Vùng và tên ngăn xếp nếu cần bằng cách sửa đổi giá trị của các biến
AWS_REGION
vàSTACK_NAME
. - Thiết lập
KILL_SESSION = "True"
nếu bạn muốn dừng ngay phiên tương tác bị phát hiện vượt quá ranh giới. Các giá trị được phép là Đúng hoặc Sai; Mặc định là đúng. - Thiết lập
NOTIFICATION_EMAIL_ADDRESS = <your.email@provider.com>
trongMakefile
nếu bạn muốn được thông báo khi một phiên được tìm thấy ngoài ranh giới. - Đặt giá trị cho các điều khiển của bạn:
ENFORCE_VPC_CONNECTION
để dừng các phiên không chạy bên trong VPC (đúng hoặc sai).MAX_WORKERS
để đặt số lượng công nhân tối đa cho một phiên (số).MAX_IDLE_TIMEOUT_MINUTES
để xác định thời gian nhàn rỗi tối đa cho các phiên tính bằng phút (số).
- Cài đặt tất cả các thư viện tiên quyết:
Chúng sẽ được cài đặt trong môi trường ảo Python mới được tạo bên trong kho lưu trữ này trong thư mục
.venv
. - Triển khai ngăn xếp mới:
Lệnh này sẽ hoàn thành các tác vụ sau:
- Kiểm tra nếu các điều kiện tiên quyết được đáp ứng.
- Thực hiện
pytest unittest
trên các tệp Python. - Xác thực mẫu CloudFormation.
- Tạo các tạo phẩm (hàm Lambda và các lớp Lambda).
- Triển khai tài nguyên qua AWS SAM.
Kiểm tra giải pháp
Tham khảo Giới thiệu các phiên tương tác AWS Glue cho Jupyter để biết thông tin về cách chạy một phiên tương tác. Nếu bạn làm theo hướng dẫn trong bài (xem phần Chạy ô mã đầu tiên của bạn và tạo sổ tay AWS Glue của bạn), việc khởi tạo phiên tương tác sẽ không thành công với lỗi tương tự như sau.
Ví dụ về mã trong ô:
Đầu ra nhận được:
Nếu bạn đã bật tính năng email, bạn cũng sẽ nhận được thông báo qua email.
Bạn cũng có thể kiểm tra trên bảng điều khiển AWS Glue để biết rằng ID phiên của bạn không được liệt kê.
Làm sạch
Dọn dẹp các tài nguyên đã triển khai bằng cách chạy lệnh sau:
Lưu ý rằng các tài nguyên được triển khai từ sau bài đăng được đề xuất, Giới thiệu các phiên tương tác AWS Glue cho Jupyter, sẽ không bị xóa bằng lệnh trước đó.
Hạn chế
Đảm bảo phân phối các sự kiện CloudTrail tới EventBridge là nỗ lực tốt nhất. Điều này có nghĩa là CloudTrail sẽ cố gắng phân phối tất cả các sự kiện tới EventBridge, nhưng trong một số trường hợp hiếm hoi, một sự kiện có thể không được phân phối. Để biết thêm thông tin, hãy tham khảo Sự kiện từ các dịch vụ AWS.
Kết luận
Bài đăng này mô tả cách xây dựng, triển khai và thử nghiệm giải pháp để thực thi các điều kiện biên trên các phiên tương tác của AWS Glue nhằm thực thi các ràng buộc về số lượng công nhân, thời gian chờ nhàn rỗi và kết nối AWS Glue.
Bạn có thể điều chỉnh giải pháp này dựa trên nhu cầu của mình và mở rộng hơn nữa để cho phép kiểm soát các tùy chọn khác.
Để tìm hiểu thêm về cách sử dụng phiên tương tác AWS Glue, hãy tham khảo Giới thiệu các phiên tương tác AWS Glue cho Jupyter và Tác giả AWS Glue việc làm với PyCharm bằng cách sử dụng các phiên tương tác AWS Glue.
Về các tác giả
Nicolas Jacob Baer là Kiến trúc sư ứng dụng đám mây cấp cao, tập trung nhiều vào kỹ thuật dữ liệu và máy học, có trụ sở tại Thụy Sĩ. Anh ấy hợp tác chặt chẽ với các khách hàng doanh nghiệp để thiết kế nền tảng dữ liệu và xây dựng các trường hợp sử dụng phân tích/ml nâng cao.
Luca Mazzaferro là Kiến trúc sư DevOps cấp cao tại Amazon Web Services. Anh ấy thích có cơ sở hạ tầng tự động, có thể tái sản xuất và bảo mật. Trong thời gian rảnh rỗi, anh ấy thích nấu ăn, đặc biệt là pizza.
kemeng Zhang là Kiến trúc sư ứng dụng đám mây tập trung mạnh vào máy học và UX, có trụ sở tại Thụy Sĩ. Cô làm việc chặt chẽ với khách hàng để thiết kế trải nghiệm người dùng và xây dựng các trường hợp sử dụng phân tích/ml nâng cao.
Đánh dấu Walser, Kiến trúc sư dữ liệu toàn cầu cấp cao tại Amazon Web Services, cộng tác với khách hàng để phát triển các giải pháp Dữ liệu lớn sáng tạo nhằm giải quyết các vấn đề kinh doanh và tăng tốc độ áp dụng các dịch vụ AWS. Ngoài công việc, anh ấy tìm thấy niềm vui khi chạy bộ, bơi lội và tất cả những thứ liên quan đến công nghệ.
Gal Heyne là Giám đốc sản phẩm của AWS Glue, tập trung mạnh vào AI/ML, kỹ thuật dữ liệu và BI, có trụ sở tại California. Cô đam mê phát triển sự hiểu biết sâu sắc về nhu cầu kinh doanh của khách hàng và cộng tác với các kỹ sư để thiết kế các sản phẩm dữ liệu dễ sử dụng.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoData.Network Vertical Generative Ai. Trao quyền cho chính mình. Truy cập Tại đây.
- PlatoAiStream. Thông minh Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Trung tâmESG. Ô tô / Xe điện, Than đá, công nghệ sạch, Năng lượng, Môi trường Hệ mặt trời, Quản lý chất thải. Truy cập Tại đây.
- BlockOffsets. Hiện đại hóa quyền sở hữu bù đắp môi trường. Truy cập Tại đây.
- nguồn: https://aws.amazon.com/blogs/big-data/enforce-boundaries-on-aws-glue-interactive-sessions/
- : có
- :là
- :không phải
- $ LÊN
- 1
- 10
- 100
- 7
- a
- Giới thiệu
- truy cập
- Tài khoản
- Hoạt động
- thích ứng
- thêm vào
- địa chỉ
- Nhận con nuôi
- tiên tiến
- AI / ML
- báo động
- Tất cả
- cho phép
- cho phép
- cho phép
- Ngoài ra
- đàn bà gan dạ
- Amazon Web Services
- an
- phân tích
- và
- bất kì
- Các Ứng Dụng
- Đăng Nhập
- Nộp đơn
- kiến trúc
- LÀ
- đối số
- AS
- At
- tác giả
- Tự động
- có sẵn
- AWS
- Hình thành đám mây AWS
- Keo AWS
- dựa
- BE
- được
- trước
- BEST
- lớn
- Dữ Liệu Lớn.
- Blog
- cả hai
- ranh giới
- xây dựng
- xây dựng
- kinh doanh
- nhưng
- by
- california
- gọi
- CAN
- mà
- trường hợp
- trường hợp
- pin
- thay đổi
- thay đổi
- kiểm tra
- Séc
- chặt chẽ
- đám mây
- cụm
- mã
- hợp tác
- hoàn thành
- các thành phần
- Tính
- điều kiện
- Cấu hình
- liên quan
- An ủi
- khó khăn
- bối cảnh
- điều khiển
- điều khiển
- Chi phí
- tạo
- tạo ra
- tạo ra
- CHỨNG CHỈ
- Credentials
- Hiện nay
- khách hàng
- khách hàng
- dữ liệu
- kỹ sư dữ liệu
- Chuẩn bị dữ liệu
- sâu
- Mặc định
- xác định
- cung cấp
- giao
- giao hàng
- Tùy
- triển khai
- triển khai
- triển khai
- triển khai
- triển khai
- mô tả
- Thiết kế
- phát triển
- phát triển
- Phát triển
- DevOps
- dễ dàng
- nỗ lực
- hay
- kích hoạt
- cho phép
- mã hóa
- kết thúc
- thi hành
- thực thi
- ky sư
- Kỹ Sư
- Kỹ sư
- đảm bảo
- Doanh nghiệp
- khách hàng doanh nghiệp
- Môi trường
- môi trường
- lôi
- đặc biệt
- Ether (ETH)
- Sự kiện
- sự kiện
- ví dụ
- ngoại lệ
- trao đổi
- Kinh nghiệm
- thử nghiệm
- thêm
- tạo điều kiện
- FAIL
- không
- Không
- sai
- Đặc tính
- Tập tin
- Các tập tin
- bộ lọc
- tìm thấy
- Tên
- Linh hoạt
- Tập trung
- theo
- tiếp theo
- sau
- Trong
- tìm thấy
- Miễn phí
- từ
- chức năng
- xa hơn
- Hơn nữa
- GAL
- được
- Toàn cầu
- Bảo hành
- Có
- he
- của mình
- Độ đáng tin của
- Hướng dẫn
- HTML
- http
- HTTPS
- IAM
- ID
- xác định
- Bản sắc
- Nhàn rỗi
- if
- ngay
- nhập khẩu
- in
- Bao gồm
- thông tin
- Cơ sở hạ tầng
- khởi xướng
- sáng tạo
- trong
- hướng dẫn
- tương tác
- trong
- viện dẫn
- bị cô lập
- IT
- ITS
- Việc làm
- việc làm
- jpg
- Máy tính xách tay Jupyter
- Key
- lớn hơn
- lớp
- LEARN
- học tập
- thư viện
- Thư viện
- vòng đời
- Lượt thích
- Hạn chế
- giới hạn
- Liệt kê
- địa phương
- tại địa phương
- nằm
- đăng nhập
- máy
- học máy
- làm cho
- quản lý
- giám đốc
- quản lý
- nhiều
- tối đa
- Có thể..
- có nghĩa
- cơ chế
- Gặp gỡ
- tin nhắn
- tin nhắn
- hoàn tất
- Might
- phút
- theo dõi
- giám sát
- chi tiết
- tên
- cần thiết
- Cần
- cần thiết
- nhu cầu
- Mới
- mới
- Không
- máy tính xách tay
- thông báo
- con số
- xảy ra
- of
- on
- có thể
- hoạt động
- Tùy chọn
- Các lựa chọn
- or
- gọi món
- Nền tảng khác
- ra
- đầu ra
- bên ngoài
- gói
- đam mê
- mỗi
- Bánh Pizza
- Nền tảng
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- niềm vui
- Chính sách
- Bài đăng
- chuẩn bị
- điều kiện tiên quyết
- trình bày
- trước
- vấn đề
- quá trình
- sản xuất
- Sản phẩm
- giám đốc sản xuất
- Sản phẩm
- tài sản
- đề xuất
- cho
- cung cấp
- cung cấp
- cung cấp
- Python
- HIẾM HOI
- sẵn sàng
- lý do
- đề nghị
- ghi
- khu
- liên quan
- có liên quan
- Đã loại bỏ
- gia hạn
- kho
- Thông tin
- vai trò
- Quy tắc
- chạy
- chạy
- chạy
- Sam
- Phần
- Bảo mật
- xem
- gửi
- cao cấp
- gởi
- Không có máy chủ
- DỊCH VỤ
- Phiên
- phiên
- định
- thiết lập
- chị ấy
- nên
- tương tự
- Đơn giản
- giải pháp
- Giải pháp
- động SOLVE
- một số
- Chẳng bao lâu
- Spark
- riêng
- tốc độ
- ngăn xếp
- Bắt đầu
- bắt đầu
- Tuyên bố
- Trạng thái
- Các bước
- Dừng
- dừng lại
- mạnh mẽ
- chắc chắn
- bơi
- switzerland
- Hãy
- dùng
- nhiệm vụ
- Công nghệ
- mẫu
- thử nghiệm
- việc này
- Sản phẩm
- cung cấp their dịch
- Đó
- vì thế
- Kia là
- điều
- điều này
- những
- số ba
- Thông qua
- thời gian
- đến
- quá
- chủ đề
- giao thông
- biến đổi
- kích hoạt
- được kích hoạt
- đúng
- hai
- kiểu
- Dưới
- cơ bản
- sự hiểu biết
- us
- Sử dụng
- sử dụng
- trường hợp sử dụng
- người sử dang
- Người sử dụng
- sử dụng
- ux
- HIỆU LỰC
- Các giá trị
- thông qua
- ảo
- chờ đợi
- Đợi
- hương
- muốn
- là
- we
- web
- các dịch vụ web
- khi nào
- bất cứ khi nào
- cái nào
- trong khi
- sẽ
- với
- ở trong
- Công việc
- công nhân
- công nhân
- quy trình làm việc
- công trinh
- nhưng
- bạn
- trên màn hình
- zephyrnet