amazon Athena là một dịch vụ truy vấn tương tác giúp dễ dàng phân tích dữ liệu trong Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) và các nguồn dữ liệu nằm trong AWS, tại chỗ hoặc các hệ thống đám mây khác sử dụng SQL hoặc Python. Athena được xây dựng trên các công cụ Trino và Presto mã nguồn mở cũng như các khung công tác Apache Spark mà không cần nỗ lực cung cấp hoặc cấu hình. Athena không có máy chủ, vì vậy không có cơ sở hạ tầng để quản lý và bạn chỉ trả tiền cho các truy vấn mà bạn chạy.
tảng băng Apache là một định dạng bảng mở cho các bộ dữ liệu phân tích rất lớn. Nó quản lý các tập hợp tệp lớn dưới dạng bảng và nó hỗ trợ các hoạt động hồ dữ liệu phân tích hiện đại như chèn, cập nhật, xóa và truy vấn du hành thời gian ở cấp độ bản ghi. Athena hỗ trợ các truy vấn đọc, du hành thời gian, ghi và DDL cho các bảng Apache Iceberg sử dụng định dạng Apache Parquet cho dữ liệu và Danh mục dữ liệu keo AWS cho di căn của họ.
Kỹ thuật tính năng là một quá trình xác định và chuyển đổi dữ liệu thô (hình ảnh, tệp văn bản, video, v.v.), chèn lấp dữ liệu bị thiếu và thêm một hoặc nhiều thành phần dữ liệu có ý nghĩa để cung cấp ngữ cảnh để mô hình học máy (ML) có thể học hỏi từ đó. Ghi nhãn dữ liệu là bắt buộc đối với các trường hợp sử dụng khác nhau, bao gồm dự báo, thị giác máy tính, xử lý ngôn ngữ tự nhiên và nhận dạng giọng nói.
Kết hợp với các khả năng của Athena, Apache Iceberg mang đến quy trình làm việc đơn giản hóa cho các nhà khoa học dữ liệu để tạo các tính năng dữ liệu mới mà không cần sao chép hoặc tạo lại toàn bộ tập dữ liệu. Bạn có thể tạo các tính năng bằng SQL tiêu chuẩn trên Athena mà không cần sử dụng bất kỳ dịch vụ nào khác cho kỹ thuật tính năng. Các nhà khoa học dữ liệu có thể giảm thời gian chuẩn bị và sao chép bộ dữ liệu, thay vào đó tập trung vào kỹ thuật tính năng dữ liệu, thử nghiệm và phân tích dữ liệu trên quy mô lớn.
Trong bài đăng này, chúng tôi xem xét các lợi ích của việc sử dụng Athena với định dạng bảng mở Apache Iceberg và cách nó đơn giản hóa các tác vụ kỹ thuật tính năng phổ biến cho các nhà khoa học dữ liệu. Chúng tôi trình bày cách Athena có thể chuyển đổi bảng hiện có ở định dạng Apache Iceberg, sau đó thêm cột, xóa cột và sửa đổi dữ liệu trong bảng mà không cần tạo lại hoặc sao chép tập dữ liệu và sử dụng các khả năng này để tạo các tính năng mới trên bảng Apache Iceberg.
Tổng quan về giải pháp
Các nhà khoa học dữ liệu thường quen với việc làm việc với các tập dữ liệu lớn. Bộ dữ liệu thường được lưu trữ ở dạng JSON, CSV, ORC hoặc Sàn gỗ Apache hoặc các định dạng được tối ưu hóa đọc tương tự để có hiệu suất đọc nhanh. Các nhà khoa học dữ liệu thường tạo ra các tính năng dữ liệu mới và lấp đầy các tính năng dữ liệu đó bằng dữ liệu tổng hợp và phụ trợ. Trước đây, nhiệm vụ này được thực hiện bằng cách tạo chế độ xem trên đầu bảng với dữ liệu cơ bản ở định dạng Apache Parquet, trong đó các cột và dữ liệu đó được thêm vào thời gian chạy hoặc bằng cách tạo một bảng mới có các cột bổ sung. Mặc dù quy trình công việc này rất phù hợp với nhiều trường hợp sử dụng, nhưng nó không hiệu quả đối với các tập dữ liệu lớn, vì dữ liệu sẽ cần được tạo trong thời gian chạy hoặc các tập dữ liệu sẽ cần được sao chép và chuyển đổi.
Athena đã giới thiệu Giao dịch ACID (Nguyên tử, Tính nhất quán, Cách ly, Độ bền) các khả năng bổ sung các hoạt động CHÈN, CẬP NHẬT, XÓA, HỢP NHẤT và du hành thời gian được xây dựng trên Các bảng Apache Iceberg. Những khả năng này cho phép các nhà khoa học dữ liệu tạo các tính năng dữ liệu mới và loại bỏ các tính năng dữ liệu hiện có trên các bộ dữ liệu hiện có mà không phải lo lắng về việc sao chép hoặc chuyển đổi tập dữ liệu hoặc trừu tượng hóa nó bằng một chế độ xem. Các nhà khoa học dữ liệu có thể tập trung vào công việc kỹ thuật tính năng và tránh sao chép cũng như chuyển đổi bộ dữ liệu.
Hoạt động CẬP NHẬT của Athena Iceberg ghi các tệp xóa vị trí Apache Iceberg và các hàng mới được cập nhật dưới dạng tệp dữ liệu trong cùng một giao dịch. Bạn có thể chỉnh sửa bản ghi thông qua một câu lệnh CẬP NHẬT.
Với việc phát hành công cụ Athena phiên bản 3, khả năng của các bảng Apache Iceberg được tăng cường với sự hỗ trợ cho các hoạt động như TẠO BẢNG NHƯ CHỌN (CTAS) và các lệnh MERGE hợp lý hóa việc quản lý vòng đời của dữ liệu Iceberg của bạn. CTAS giúp việc tạo bảng từ các định dạng khác như Apache Paquet và MERGE VÀO cập nhật có điều kiện, xóa hoặc chèn hàng vào bảng Iceberg. Một câu lệnh có thể kết hợp các hành động cập nhật, xóa và chèn.
Điều kiện tiên quyết
Thiết lập nhóm làm việc Athena với công cụ Athena phiên bản 3 để sử dụng các lệnh CTAS và MERGE với bảng Apache Iceberg. Để nâng cấp công cụ Athena hiện tại của bạn lên phiên bản 3 trong nhóm làm việc Athena của bạn, hãy làm theo hướng dẫn trong Nâng cấp lên Athena engine phiên bản 3 để tăng hiệu suất truy vấn và truy cập nhiều tính năng phân tích hơn hoặc tham khảo Thay đổi phiên bản công cụ trong bảng điều khiển Athena.
Bộ dữ liệu
Để trình diễn, chúng tôi sử dụng bảng Apache Parquet chứa vài triệu bản ghi dữ liệu bán hàng hư cấu được phân phối ngẫu nhiên từ vài năm qua được lưu trữ trong bộ chứa S3. Tải về tập dữ liệu, giải nén nó vào máy tính cục bộ của bạn và tải nó lên bộ chứa S3 của bạn. Trong bài đăng này, chúng tôi đã tải tập dữ liệu của mình lên s3://sample-iceberg-datasets-xxxxxxxxxxx/sampledb/orders_and_customers/
.
Bảng sau đây cho thấy cách bố trí cho bảng customer_orders
.
Tên cột dọc | Loại dữ liệu | Mô tả |
khóa đặt hàng | chuỗi | Số thứ tự cho đơn đặt hàng |
bảo quản | chuỗi | Mã số khách hàng |
tình trạng đặt hàng | chuỗi | Tình trạng đơn hàng |
Tổng giá | chuỗi | Tổng giá trị đơn hàng |
ngày đặt hàng | chuỗi | Ngày đặt hàng |
thứ tự ưu tiên | chuỗi | Thứ tự ưu tiên |
nhân viên bán hàng | chuỗi | Tên của nhân viên bán hàng đã xử lý đơn đặt hàng |
ưu tiên vận chuyển | chuỗi | ưu tiên vận chuyển |
tên | chuỗi | Tên khách hàng |
địa chỉ | chuỗi | Địa chỉ của khách hàng |
khóa quốc gia | chuỗi | Chìa khóa quốc gia khách hàng |
điện thoại | chuỗi | Số điện thoại của khách hàng |
acctbal | chuỗi | Số dư tài khoản khách hàng |
phân khúc mkt | chuỗi | Phân khúc thị trường khách hàng |
Thực hiện kỹ thuật tính năng
Là một nhà khoa học dữ liệu, chúng tôi muốn thực hiện kỹ thuật tính năng trên dữ liệu đơn đặt hàng của khách hàng bằng cách cộng tổng số lần mua đã tính trong một năm và số lần mua trung bình trong một năm cho từng khách hàng trong tập dữ liệu hiện có. Đối với mục đích trình diễn, chúng tôi đã tạo ra customer_orders
bảng trong sampledb
cơ sở dữ liệu bằng Athena như được hiển thị trong lệnh DDL sau. (Bạn có thể sử dụng bất kỳ bộ dữ liệu hiện có nào của mình và làm theo các bước được đề cập trong bài đăng này.) customer_orders
tập dữ liệu đã được tạo và lưu trữ ở vị trí bộ chứa S3 s3://sample-iceberg-datasets-xxxxxxxxxxx/sampledb/orders_and_customers/
ở dạng Sàn gỗ. Bảng này không phải là bảng Apache Iceberg.
Xác thực dữ liệu trong bảng bằng cách chạy truy vấn:
Chúng tôi muốn thêm các tính năng mới vào bảng này để hiểu sâu hơn về doanh số bán hàng của khách hàng, điều này có thể giúp đào tạo mô hình nhanh hơn và có thêm thông tin chi tiết có giá trị. Để thêm các tính năng mới vào tập dữ liệu, hãy chuyển đổi customer_orders
bảng Athena đến bảng Apache Iceberg trên Athena. phát hành một CTAS câu lệnh truy vấn để tạo một bảng mới với định dạng Apache Iceberg từ customer_orders
bàn. Trong khi làm như vậy, một tính năng mới được thêm vào để lấy tổng số tiền mua hàng trong năm qua (năm tối đa của tập dữ liệu) theo từng khách hàng.
Trong truy vấn CTAS sau đây, một cột mới có tên one_year_sales_aggregate
với giá trị mặc định là 0.0
kiểu dữ liệu double
được thêm vào và table_type
được thiết lập để ICEBERG
:
Đưa ra truy vấn sau để xác minh dữ liệu trong bảng Apache Iceberg với cột mới one_year_sales_aggregate
giá trị như 0.0
:
Chúng tôi muốn điền các giá trị cho tính năng mới one_year_sales_aggregate
trong tập dữ liệu để lấy tổng số tiền mua hàng của từng khách hàng dựa trên số lần mua hàng của họ trong năm qua (năm tối đa của tập dữ liệu). Đưa ra câu lệnh truy vấn MERGE cho bảng Apache Iceberg bằng cách sử dụng Athena để điền các giá trị cho one_year_sales_aggregate
tính năng:
Đưa ra truy vấn sau để xác thực giá trị cập nhật cho tổng chi tiêu của từng khách hàng trong năm qua:
Chúng tôi quyết định thêm một tính năng khác vào bảng Apache Iceberg hiện có để tính toán và lưu trữ số tiền mua hàng trung bình trong năm qua của từng khách hàng. Đưa ra câu lệnh truy vấn ALTER để thêm cột mới vào bảng hiện có cho tính năng one_year_sales_average
:
Trước khi điền các giá trị cho tính năng mới này, bạn có thể đặt giá trị mặc định cho tính năng này one_year_sales_average
đến 0.0
. Sử dụng cùng một bảng Apache Iceberg trên Athena, đưa ra câu lệnh truy vấn CẬP NHẬT để điền giá trị cho tính năng mới dưới dạng 0.0
:
Đưa ra truy vấn sau để xác minh giá trị cập nhật cho chi tiêu trung bình của mỗi khách hàng trong năm qua được đặt thành 0.0
:
Bây giờ chúng tôi muốn điền các giá trị cho tính năng mới one_year_sales_average
trong tập dữ liệu để lấy số tiền mua trung bình cho mỗi khách hàng dựa trên số lần mua của họ trong năm qua (năm tối đa của tập dữ liệu). Đưa ra câu lệnh truy vấn MERGE cho bảng Apache Iceberg hiện có trên Athena bằng cách sử dụng công cụ Athena để điền các giá trị cho đối tượng địa lý one_year_sales_average
:
Đưa ra truy vấn sau để xác minh các giá trị được cập nhật cho mức chi tiêu trung bình của mỗi khách hàng:
Khi các tính năng dữ liệu bổ sung đã được thêm vào tập dữ liệu, các nhà khoa học dữ liệu thường tiến hành đào tạo các mô hình ML và đưa ra suy luận bằng cách sử dụng Amazon Sagemaker hoặc bộ công cụ tương đương.
Kết luận
Trong bài đăng này, chúng tôi đã trình bày cách thực hiện kỹ thuật tính năng bằng Athena với Apache Iceberg. Chúng tôi cũng đã trình diễn cách sử dụng truy vấn CTAS để tạo bảng Apache Iceberg trên Athena từ tập dữ liệu hiện có ở định dạng Apache Parquet, thêm các tính năng mới trong bảng Apache Iceberg hiện có trên Athena bằng cách sử dụng truy vấn ALTER và sử dụng các câu lệnh truy vấn UPDATE và MERGE để cập nhật giá trị tính năng của các cột hiện có.
Chúng tôi khuyến khích bạn sử dụng truy vấn CTAS để tạo bảng nhanh chóng và hiệu quả, đồng thời sử dụng câu lệnh truy vấn MERGE để đồng bộ hóa bảng trong một bước nhằm đơn giản hóa việc chuẩn bị dữ liệu và cập nhật tác vụ khi chuyển đổi các tính năng bằng Athena với Apache Iceberg. Nếu bạn có ý kiến hoặc phản hồi, xin vui lòng để lại trong phần bình luận.
Về các tác giả
Vivek Gautam là Kiến trúc sư dữ liệu có chuyên môn về kho dữ liệu tại AWS Professional Services. Anh ấy làm việc với các khách hàng doanh nghiệp đang xây dựng các sản phẩm dữ liệu, nền tảng phân tích và giải pháp trên AWS. Khi không xây dựng và thiết kế các nền tảng dữ liệu hiện đại, Vivek là một người đam mê ẩm thực, người cũng thích khám phá các điểm đến du lịch mới và đi bộ đường dài.
Mikhail Vaynshteyn là một Kiến trúc sư giải pháp với Amazon Web Services. Mikhail làm việc với các khách hàng về chăm sóc sức khỏe và khoa học đời sống để xây dựng các giải pháp giúp cải thiện kết quả điều trị cho bệnh nhân. Mikhail chuyên về các dịch vụ phân tích dữ liệu.
Naresh Gautam là một nhà lãnh đạo Phân tích dữ liệu và AI/ML tại AWS với 20 năm kinh nghiệm, người thích giúp khách hàng thiết kế các giải pháp phân tích dữ liệu và AI/ML có tính sẵn sàng cao, hiệu suất cao và tiết kiệm chi phí để trao quyền cho khách hàng trong việc ra quyết định dựa trên dữ liệu . Trong thời gian rảnh rỗi, anh ấy thích thiền và nấu ăn.
Harsha Tadiparthi là chuyên gia Kiến trúc giải pháp chính, Phân tích tại AWS. Anh ấy thích giải quyết các vấn đề phức tạp của khách hàng trong cơ sở dữ liệu và phân tích và mang lại kết quả thành công. Ngoài công việc, anh ấy thích dành thời gian cho gia đình, xem phim và đi du lịch bất cứ khi nào có thể.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- EVM tài chính. Giao diện hợp nhất cho tài chính phi tập trung. Truy cập Tại đây.
- Tập đoàn truyền thông lượng tử. Khuếch đại IR/PR. Truy cập Tại đây.
- PlatoAiStream. Thông minh dữ liệu Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- nguồn: https://aws.amazon.com/blogs/big-data/accelerate-data-science-feature-engineering-on-transactional-data-lakes-using-amazon-athena-with-apache-iceberg/
- : có
- :là
- :không phải
- :Ở đâu
- $ LÊN
- 10
- 100
- 12
- 17
- 20
- 20 năm
- 23
- 27
- 7
- a
- Giới thiệu
- đẩy nhanh tiến độ
- truy cập
- thực hiện
- Tài khoản
- hành động
- thêm vào
- thêm
- thêm
- thêm vào
- địa chỉ
- AI / ML
- Ngoài ra
- Mặc dù
- đàn bà gan dạ
- amazon Athena
- Amazon SageMaker
- Amazon Web Services
- số lượng
- an
- Phân tích
- Phân tích
- phân tích
- phân tích
- phân tích
- và
- Một
- bất kì
- Apache
- Apache Spark
- LÀ
- AS
- At
- có sẵn
- Trung bình cộng
- tránh
- AWS
- Dịch vụ chuyên nghiệp của AWS
- dựa
- BE
- bởi vì
- được
- Lợi ích
- xây dựng
- Xây dựng
- xây dựng
- by
- tính
- CAN
- khả năng
- trường hợp
- phân loại
- đám mây
- bộ sưu tập
- Cột
- Cột
- kết hợp
- Bình luận
- Chung
- phức tạp
- Tính
- máy tính
- Tầm nhìn máy tính
- Cấu hình
- chứa
- bối cảnh
- chuyển đổi
- nấu ăn
- sao chép
- Sửa chữa
- chi phí-hiệu quả
- tạo
- tạo ra
- Tạo
- khách hàng
- khách hàng
- dữ liệu
- Phân tích dữ liệu
- Hồ dữ liệu
- khoa học dữ liệu
- nhà khoa học dữ liệu
- hướng dữ liệu
- Cơ sở dữ liệu
- cơ sở dữ liệu
- bộ dữ liệu
- Ngày
- quyết định
- Ra quyết định
- sâu sắc hơn
- Mặc định
- phân phối
- cung cấp
- chứng minh
- chứng minh
- thiết kế
- khu
- phân phối
- làm
- tăng gấp đôi
- Rơi
- Độ bền
- mỗi
- dễ dàng
- hiệu quả
- hiệu quả
- nỗ lực
- hay
- các yếu tố
- trao quyền
- cho phép
- khuyến khích
- Động cơ
- Kỹ Sư
- Động cơ
- nâng cao
- Doanh nghiệp
- khách hàng doanh nghiệp
- người đam mê
- Toàn bộ
- Tương đương
- Ether (ETH)
- hiện tại
- kinh nghiệm
- khám phá
- ngoài
- sai
- gia đình
- NHANH
- nhanh hơn
- Đặc tính
- Tính năng
- thông tin phản hồi
- Các tập tin
- Tập trung
- theo
- tiếp theo
- thực phẩm
- Trong
- định dạng
- khung
- Miễn phí
- từ
- nói chung
- tạo ra
- được
- Go
- Nhóm
- Hadoop
- Có
- he
- chăm sóc sức khỏe
- giúp đỡ
- giúp đỡ
- hiệu suất cao
- cao
- Đi bộ đường dài
- của mình
- lịch sử
- Tổ ong
- Độ đáng tin của
- Hướng dẫn
- HTML
- HTTPS
- Xác định
- xác định
- if
- hình ảnh
- nâng cao
- in
- Bao gồm
- Tăng lên
- không hiệu quả
- Cơ sở hạ tầng
- Chèn
- những hiểu biết
- thay vì
- hướng dẫn
- tương tác
- trong
- giới thiệu
- cô lập
- vấn đề
- IT
- jpg
- json
- ghi nhãn
- hồ
- Ngôn ngữ
- lớn
- Họ
- Bố trí
- lãnh đạo
- LEARN
- học tập
- Rời bỏ
- Cuộc sống
- Khoa học đời sống
- vòng đời
- LIMIT
- địa phương
- địa điểm thư viện nào
- yêu
- máy
- học máy
- làm cho
- LÀM CHO
- quản lý
- quản lý
- quản lý
- nhiều
- thị trường
- phù hợp
- tối đa
- có ý nghĩa
- Thiền
- đề cập
- đi
- triệu
- mất tích
- ML
- kiểu mẫu
- mô hình
- hiện đại
- sửa đổi
- chi tiết
- Phim Điện Ảnh
- tên
- Được đặt theo tên
- quốc gia
- Tự nhiên
- Ngôn ngữ tự nhiên
- Xử lý ngôn ngữ tự nhiên
- Cần
- cần
- Mới
- tính năng mới
- Các tính năng mới
- mới
- Không
- con số
- of
- thường
- on
- ONE
- có thể
- mở
- mã nguồn mở
- hoạt động
- Hoạt động
- or
- đơn đặt hàng
- Nền tảng khác
- vfoXNUMXfipXNUMXhfpiXNUMXufhpiXNUMXuf
- kết quả
- bên ngoài
- qua
- Trả
- thực hiện
- hiệu suất
- điện thoại
- Nền tảng
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- xin vui lòng
- vị trí
- có thể
- Bài đăng
- chuẩn bị
- giá
- Hiệu trưởng
- vấn đề
- quá trình
- xử lý
- xử lý
- Sản phẩm
- chuyên nghiệp
- cho
- mua
- mua hàng
- mục đích
- Python
- truy vấn
- Mau
- Nguyên
- dữ liệu thô
- Đọc
- công nhận
- ghi
- hồ sơ
- giảm
- phát hành
- cần phải
- kết quả
- xem xét
- HÀNG
- chạy
- chạy
- nhà làm hiền triết
- bán hàng
- tương tự
- Quy mô
- Khoa học
- KHOA HỌC
- Nhà khoa học
- các nhà khoa học
- Phần
- Không có máy chủ
- dịch vụ
- DỊCH VỤ
- định
- một số
- thể hiện
- Chương trình
- tương tự
- Đơn giản
- đơn giản hóa
- đơn giản hóa
- duy nhất
- So
- Giải pháp
- Giải quyết
- nguồn
- Spark
- chuyên gia
- chuyên
- phát biểu
- Speech Recognition
- tiêu
- tiêu
- SQL
- Tiêu chuẩn
- Tuyên bố
- báo cáo
- Bước
- Các bước
- là gắn
- hàng
- lưu trữ
- hợp lý hóa
- Chuỗi
- thành công
- như vậy
- hỗ trợ
- Hỗ trợ
- hệ thống
- bàn
- Nhiệm vụ
- nhiệm vụ
- việc này
- Sản phẩm
- Hợp nhất
- cung cấp their dịch
- Them
- sau đó
- Đó
- Kia là
- điều này
- thời gian
- du hành thời gian
- đến
- hàng đầu
- Tổng số:
- Train
- Hội thảo
- giao dịch
- giao dịch
- chuyển đổi
- biến đổi
- đi du lịch
- kiểu
- cơ bản
- sự hiểu biết
- Cập nhật
- cập nhật
- Cập nhật
- nâng cấp
- tải lên
- sử dụng
- sử dụng
- thường
- HIỆU LỰC
- Quý báu
- giá trị
- Các giá trị
- khác nhau
- xác minh
- phiên bản
- rất
- thông qua
- Video
- Xem
- tầm nhìn
- muốn
- là
- Đồng hồ đeo tay
- we
- web
- các dịch vụ web
- là
- khi nào
- bất cứ khi nào
- cái nào
- trong khi
- CHÚNG TÔI LÀ
- với
- không có
- Công việc
- quy trình làm việc
- Nhóm làm việc
- đang làm việc
- công trinh
- sẽ
- viết
- năm
- năm
- bạn
- trên màn hình
- zephyrnet
- Zip