Chuyển đổi xml sang python sàn gỗ
Trên Đám mây Amazon Web Services (AWS), AWS Glue là dịch vụ trích xuất, chuyển đổi và tải (ETL) được quản lý toàn phần. AWS Glue giúp phân loại dữ liệu của bạn, làm sạch, bổ sung dữ liệu và di chuyển dữ liệu một cách đáng tin cậy giữa các kho lưu trữ dữ liệu và luồng dữ liệu khác nhau với chi phí hiệu quả Show
Mẫu này cung cấp các loại công việc khác nhau trong AWS Glue và sử dụng ba tập lệnh khác nhau để minh họa các công việc ETL tác giả Bạn có thể sử dụng AWS Glue để viết các lệnh ETL trong môi trường trình bao Python. Bạn cũng có thể tạo cả công việc ETL hàng loạt và trực tuyến bằng cách sử dụng Python (PySpark) hoặc Scala trong môi trường Apache Spark được quản lý. Để giúp bạn bắt đầu với việc soạn thảo các công việc ETL, mẫu này tập trung vào các công việc ETL hàng loạt bằng cách sử dụng Python shell, PySpark và Scala. Công việc trình bao Python dành cho khối lượng công việc yêu cầu sức mạnh tính toán thấp hơn. Môi trường Apache Spark được quản lý dành cho khối lượng công việc yêu cầu sức mạnh tính toán cao Apache Parquet được xây dựng để hỗ trợ các sơ đồ nén và mã hóa hiệu quả. Nó có thể tăng tốc khối lượng công việc phân tích của bạn vì nó lưu trữ dữ liệu theo kiểu cột. Chuyển đổi dữ liệu sang Parquet có thể giúp bạn tiết kiệm cả không gian lưu trữ, chi phí và thời gian trong thời gian dài hơn. Để tìm hiểu thêm về Parquet, hãy xem bài đăng trên blog Apache Parquet. Cách trở thành anh hùng với định dạng dữ liệu cột nguồn mở trên đám mây Google, Azure và Amazon Điều kiện tiên quyết và hạn chếđiều kiện tiên quyết
Ngành kiến trúcNgăn xếp công nghệ mục tiêu
Tự động hóa và quy mô Quy trình làm việc AWS Glue hỗ trợ tự động hóa hoàn toàn quy trình ETL Bạn có thể thay đổi số lượng đơn vị xử lý dữ liệu (DPU) hoặc loại worker để chia tỷ lệ theo chiều ngang và chiều dọc Công cụ
Cấu hình Sau đây là các cài đặt để định cấu hình sức mạnh tính toán của AWS Glue ETL. Để giảm chi phí, hãy sử dụng cài đặt tối thiểu khi bạn chạy khối lượng công việc được cung cấp trong mẫu này.
Bảng sau hiển thị các loại công nhân AWS Glue khác nhau cho môi trường Apache Spark. Bởi vì Python shell job không sử dụng môi trường Apache Spark để chạy Python nên nó không được đưa vào bảng Tiêu chuẩn G. 1X G. 2X vCPU 4 4 8 Kỉ niệm 16 GB 16 GB 32 GB Dung lượng đĩa 50 GB 64 GB 128 GB Giám đốc điều hành cho mỗi công nhân 2 1 1 Mã số Khi tạo tác vụ AWS Glue, bạn có thể sử dụng vai trò IAM được đính kèm hoặc vai trò hiện có Vỏ Python keo AWS Mã Python sử dụng thư viện Pandas và PyArrow để chuyển đổi dữ liệu sang Parquet. Thư viện Pandas đã có sẵn. Thư viện PyArrow được tải xuống khi bạn chạy mẫu, vì đây là lần chạy một lần. Bạn có thể sử dụng tệp bánh xe để chuyển đổi PyArrow thành thư viện và cung cấp tệp dưới dạng gói thư viện. Để biết thêm thông tin về các tệp bánh xe đóng gói, hãy xem Cung cấp thư viện Python của riêng bạn
Công việc AWS Glue Spark với Python Để sử dụng loại công việc AWS Glue Spark với Python, hãy chọn Spark làm loại công việc. Chọn tia lửa 2. 4, Python 3 với thời gian khởi động công việc được cải thiện (Phiên bản keo 2. 0) dưới dạng phiên bản Keo AWS
Công việc AWS Glue Spark với Scala Để sử dụng loại công việc AWS Glue Spark với Scala, hãy chọn Spark làm loại công việc. Chọn tia lửa 2. 4, Scala 2 với thời gian khởi động công việc được cải thiện (Glue Version 2. 0) dưới dạng phiên bản Keo AWS. Để tiết kiệm dung lượng lưu trữ, mẫu AWS Glue with Scala sau đây cũng sử dụng tính năng applyMapping để chuyển đổi các loại dữ liệu
sử thiNhiệm vụMô tảKỹ năng bắt buộcTải dữ liệu lên bộ chứa S3 mới hoặc hiện có Tạo hoặc sử dụng bộ chứa S3 hiện có trong tài khoản của bạn. Tải lên sample_data. csv từ phần Tệp đính kèm và lưu ý bộ chứa S3 và vị trí tiền tố AWS chungMô tả nhiệm vụ Yêu cầu kỹ năngTạo công việc AWS Glue Trong phần ETL của bảng điều khiển AWS Glue, hãy thêm một công việc AWS Glue. Chọn loại công việc phù hợp, phiên bản AWS Glue, loại DPU/Công nhân tương ứng và số lượng công nhân. Để biết chi tiết, xem phần Cấu hình Sao chép mã tương ứng với công việc Keo của bạn và thay đổi vị trí đầu vào và đầu ra mà bạn đã lưu ý trong Tải lên dữ liệu sử thi Nhà phát triển, đám mây hoặc dữ liệuChạy công việc ETLChạy công việc của bạn và kiểm tra đầu ra. Lưu ý dung lượng đã giảm so với tệp gốc Nhà phát triển, đám mây hoặc dữ liệuNgười giới thiệu Hướng dẫn và video Thông tin thêmcấu hình thông số Bạn có thể sử dụng các đoạn mã sau để đặt tham số cho công việc ETL của mình. AWS Glue sử dụng bốn tên đối số trong nội bộ.
Tham số 2 phải được nhập rõ ràng trên bảng điều khiển AWS Glue. Chọn Công việc, Chỉnh sửa Công việc, Cấu hình bảo mật, thư viện tập lệnh và thông số công việc (tùy chọn). Nhập 2 làm khóa và cung cấp giá trị. Bạn cũng có thể sử dụng Giao diện dòng lệnh AWS (AWS CLI) hoặc AWS Glue API để đặt tham số này. Tham số 2 được Spark sử dụng và không cần thiết trong công việc môi trường trình bao PythonBạn phải thêm 3 trước mỗi tên tham số; . Ví dụ: đối với các đoạn mã sau, tham số vị trí phải được gọi bởi 4 và 5Vỏ Python keo AWS
AWS Keo Python
Keo AWS Scala ________số 8tệp đính kèmĐể truy cập nội dung bổ sung được liên kết với tài liệu này, hãy giải nén tệp sau. tập tin đính kèm. khóa kéo Chúng tôi có thể chuyển đổi XML thành DataFrame trong python không?xml” bắt đầu từ gốc của cây, cụ thể là phần tử chúng ta có thể lặp qua từng nút của cây, điều đó có nghĩa là chúng ta sẽ lấy từng phần tử sinh viên và lấy thuộc tính name và tất cả các phần tử con của nó để xây dựng khung dữ liệu của chúng ta.
Gấu trúc có thể đọc các tệp XML không?Thư viện phân tích dữ liệu Pandas cung cấp chức năng đọc/ghi dữ liệu cho hầu hết các loại tệp. Ví dụ: nó bao gồm read_csv() và to_csv() để tương tác với tệp CSV. Tuy nhiên, Pandas không bao gồm bất kỳ phương thức nào để đọc và ghi tệp XML .
Có thể chuyển đổi một. Tệp XML vào khung dữ liệu bằng python nếu vậy nên sử dụng thư viện và phương thức nào?Chúng tôi sẽ trích xuất dữ liệu từ tệp XML bằng thư viện này và sau đó chúng tôi sẽ chuyển đổi dữ liệu được trích xuất thành Dataframe. Để chuyển đổi thành Dataframes, chúng ta cần cài đặt thư viện của gấu trúc .
Parquet có cần lược đồ không?Bạn sẽ luôn cần một lược đồ cho tệp Parquet vì chúng ở dạng nhị phân và nếu không có lược đồ thì trình đọc không thể giải tuần tự hóa. |