Dữ liệu lớn trong AWS - Giải pháp thông minh cho dữ liệu lớn



Bài viết này giúp bạn hiểu cách AWS giao dịch thông minh với Dữ liệu lớn. Nó cũng cho thấy cách AWS có thể giải quyết các thách thức Dữ liệu lớn một cách dễ dàng.

Ý tưởng về Dữ liệu lớn đơn giản không phải là mới, nó có ở khắp mọi nơi. Ảnh hưởng của Dữ liệu lớn ở khắp mọi nơi, từ kinh doanh đến khoa học, từ chính phủ đến nghệ thuật, v.v. Không có người bạn đồng hành nào tốt hơn để xử lý và phân tích Dữ liệu lớn. Trong bài viết này, tôi sẽ trình bày cách AWS giải quyết các thách thức của Dữ liệu lớn và các điểm mà tôi sẽ đề cập như sau:

Dữ liệu lớn là gì?

đặc điểm dữ liệu lớn





Bạn có thể coi Dữ liệu lớn là tài sản thông tin có khối lượng lớn, tốc độ cao và / hoặc đa dạng, đòi hỏi các hình thức xử lý thông tin sáng tạo, hiệu quả về chi phí cho phép nâng cao hiểu biết sâu sắc, ra quyết định và tự động hóa quy trình.

Dữ liệu lớn bao gồm 5 V’s quan trọng xác định các đặc điểm của Dữ liệu lớn. Hãy để chúng tôi thảo luận về những vấn đề này trước khi chuyển sang AWS.



AWS là gì?

bao gồm nhiều sản phẩm và dịch vụ điện toán đám mây khác nhau. Bộ phận có lợi nhuận cao của Amazon cung cấp máy chủ, lưu trữ, mạng, điện toán từ xa, email, phát triển di động cùng với bảo mật. Hơn nữa. AWS bao gồm hai sản phẩm chính: EC2, dịch vụ máy ảo của Amazon và S3, một hệ thống lưu trữ của Amazon. Nó lớn và hiện diện trong thế giới máy tính đến mức hiện có kích thước gấp ít nhất 10 lần so với đối thủ cạnh tranh gần nhất và lưu trữ các trang web phổ biến như Netflix và Instagram.

.

AWS được chia thành 12 khu vực toàn cầu trên toàn thế giới, mỗi khu vực đều có nhiều khu vực khả dụng nơi đặt các máy chủ của nó.Các khu vực được phục vụ này được chia nhỏ để cho phép người dùng đặt giới hạn địa lý cho dịch vụ của họ, nhưng cũng để cung cấp bảo mật bằng cách đa dạng hóa các vị trí thực tế mà dữ liệu được lưu giữ.



Tại sao sử dụng Dữ liệu lớn trong AWS?

Các nhà khoa học, nhà phát triển và những người đam mê công nghệ khác từ nhiều lĩnh vực khác nhau đang tận dụng AWS để thực hiện phân tích dữ liệu lớn và đáp ứng những thách thức quan trọng do Vs ngày càng tăng của thông tin kỹ thuật số. AWS cung cấp cho bạn một danh mục các dịch vụ điện toán đám mây để giúp quản lý dữ liệu lớn bằng cách giảm đáng kể chi phí, mở rộng quy mô để đáp ứng nhu cầu và tăng tốc độ đổi mới.

Amazon Web Services cung cấp một danh mục đầu tư tích hợp đầy đủ của các dịch vụ điện toán đám mây. Hơn nữa, nó giúp bạn xây dựng, bảo mật và triển khai các ứng dụng dữ liệu lớn của mình. Ngoài ra, với AWS, bạn không cần mua sắm phần cứng và cơ sở hạ tầng để duy trì và mở rộng quy mô. Do đó, bạn có thể tập trung nguồn lực của mình để khám phá những thông tin chi tiết mới.Vì các tính năng mới được bổ sung liên tục, bạn sẽ luôn có thể tận dụng các công nghệ mới nhất mà không yêu cầu thực hiện các cam kết đầu tư dài hạn.

AWS có thể giải quyết các Thách thức Dữ liệu lớn như thế nào?

Giải pháp AWS cho Dữ liệu lớn

AWS có nhiều giải pháp cho mọi mục đích phát triển và triển khai. Ngoài ra, trong lĩnh vực Khoa học Dữ liệu và Dữ liệu lớn, AWS đã đưa ra những phát triển gần đây trong các khía cạnh khác nhau của việc xử lý Dữ liệu lớn. Trước khi chuyển sang các công cụ, hãy để chúng tôi hiểu các khía cạnh khác nhau của Dữ liệu lớn mà AWS có thể cung cấp giải pháp.

  1. Nhập dữ liệu
    Thu thập dữ liệu thô - giao dịch, nhật ký, thiết bị di động và hơn thế nữa - là thách thức đầu tiên mà nhiều tổ chức phải đối mặt khi xử lý dữ liệu lớn. Một nền tảng dữ liệu lớn tốt giúp bước này dễ dàng hơn, cho phép các nhà phát triển nhập nhiều loại dữ liệu - từ có cấu trúc đến không có cấu trúc - ở bất kỳ tốc độ nào - từ thời gian thực đến hàng loạt.

  2. Lưu trữ dữ liệu
    Bất kỳ nền tảng dữ liệu lớn nào cũng cần một kho lưu trữ an toàn, có thể mở rộng và bền để lưu trữ dữ liệu trước hoặc thậm chí sau khi xử lý các tác vụ. Tùy thuộc vào yêu cầu cụ thể của bạn, bạn cũng có thể cần các cửa hàng tạm thời để chuyển dữ liệu.

  3. Xử lí dữ liệu
    Đây là bước mà quá trình chuyển đổi dữ liệu xảy ra từ trạng thái thô của nó thành một định dạng có thể tiêu thụ được - thường là bằng cách sắp xếp, tổng hợp, nối và thậm chí thực hiện các chức năng và thuật toán nâng cao hơn. Các tập dữ liệu kết quả sẽ được lưu trữ để xử lý thêm hoặc có sẵn để tiêu thụ thông qua các công cụ trực quan hóa dữ liệu và trí tuệ kinh doanh.

  4. Hình dung

    cấu trúc dữ liệu hàng đợi trong java

    Dữ liệu lớn là tất cả về việc nhận được giá trị cao, thông tin chi tiết hữu ích từ nội dung dữ liệu của bạn. Lý tưởng nhất là dữ liệu có sẵn cho các bên liên quan thông qua các công cụ kinh doanh thông minh tự phục vụ và các công cụ trực quan hóa dữ liệu linh hoạt cho phép khám phá nhanh chóng và dễ dàng các tập dữ liệu.

Công cụ AWS cho Dữ liệu lớn

Trong các phần trước, chúng ta đã xem xét các trường trong Dữ liệu lớn mà AWS có thể cung cấp giải pháp. Ngoài ra, AWS có nhiều công cụ và dịch vụ trong kho vũ khí của mình để cho phép khách hàng sử dụng các khả năng của Dữ liệu lớn.

Hãy cùng chúng tôi xem xét các giải pháp khác nhau do AWS cung cấp để xử lý các giai đoạn khác nhau liên quan đến việc xử lý Dữ liệu lớn

Nuốt phải

  1. Kinesis

    Amazon Kinesis Firehose là một dịch vụ được quản lý hoàn toàn để cung cấp dữ liệu phát trực tuyến theo thời gian thực trực tiếp đến Amazon S3. Kinesis Firehose tự động điều chỉnh tỷ lệ để phù hợp với khối lượng và thông lượng của dữ liệu truyền trực tuyến và không yêu cầu quản trị liên tục. Bạn có thể định cấu hình Kinesis Firehose để chuyển đổi dữ liệu phát trực tuyến trước khi lưu trữ trong Amazon S3.

  2. Snowball
    Bạn có thể dùng AWS Snowball để di chuyển dữ liệu hàng loạt một cách an toàn và hiệu quả từ nền tảng lưu trữ tại chỗ và cụm Hadoop sang nhóm S3. Sau khi tạo công việc trong Bảng điều khiển quản lý AWS, bạn sẽ tự động nhận được thiết bị Snowball. Sau khi Snowball đến, hãy kết nối nó với mạng cục bộ của bạn, cài đặt ứng dụng Snowball trên nguồn dữ liệu tại chỗ của bạn, sau đó sử dụng ứng dụng Snowball để chọn và chuyển các thư mục tệp sang thiết bị Snowball.

Lưu trữ

  1. Amazon S3

Amazon S3 là nơi lưu trữ đối tượng bền, có khả năng mở rộng cao, an toàn với độ trễ mili giây để truy cập dữ liệu. S3 có thể lưu trữ bất kỳ loại dữ liệu nào từ mọi nơi - các trang web và ứng dụng dành cho thiết bị di động, ứng dụng công ty và dữ liệu từ các thiết bị hoặc cảm biến IoT. Nó cũng có thể lưu trữ và truy xuất bất kỳ lượng dữ liệu nào, với tính khả dụng chưa từng có và được xây dựng từ đầu để cung cấp độ bền 99,999999999% (11 nines).

2. Keo AWS

Keo là một dịch vụ được quản lý hoàn toàn cung cấp danh mục dữ liệu để làm cho dữ liệu trong hồ dữ liệu có thể khám phá được. Ngoài ra, nó có khả năng trích xuất, chuyển đổi và tải (ETL) để chuẩn bị dữ liệu cho phân tích. Ngoài ra, danh mục dữ liệu có sẵn giống như một kho lưu trữ siêu dữ liệu liên tục cho tất cả các nội dung dữ liệu, giúp tất cả dữ liệu có thể tìm kiếm được và có thể truy vấn trong một chế độ xem.

Chế biến

  1. EMR
    Để xử lý dữ liệu lớn bằng Spark và Hadoop, Amazon EMR cung cấp dịch vụ được quản lý giúp xử lý lượng lớn dữ liệu dễ dàng, nhanh chóng và tiết kiệm chi phí. Hơn nữa, EMR hỗ trợ 19 dự án mã nguồn mở khác nhau bao gồm Hadoop , Tia lửa Ngoài ra, nó còn đi kèm với Máy tính xách tay EMR được quản lý cho kỹ thuật dữ liệu, phát triển khoa học dữ liệu và cộng tác.

  2. Dịch chuyển đỏ
    Đối với kho dữ liệu, Amazon Redshift cung cấp khả năng chạy các truy vấn phân tích, phức tạp dựa trên hàng petabyte dữ liệu có cấu trúc. Ngoài ra, nó bao gồm Quang phổ dịch chuyển đỏ chạy các truy vấn SQL trực tiếp dựa trên Exabyte dữ liệu có cấu trúc hoặc phi cấu trúc trong S3 mà không cần di chuyển dữ liệu không cần thiết.

Hình dung

  1. Amazon QuickSight

    Đối với trang tổng quan và hình ảnh hóa, Amazon Quicksight cung cấp cho bạn dịch vụ phân tích kinh doanh nhanh chóng, được hỗ trợ bởi đám mây. Nó giúp bạn dễ dàng tạo hình ảnh trực quan tuyệt đẹp và trang tổng quan phong phú. Ngoài ra, bạn có thể truy cập chúng từ bất kỳ trình duyệt hoặc thiết bị di động nào.

Demo - Phân tích dữ liệu về các loài thực vật và động vật có nguy cơ tuyệt chủng ở Úc.

Trong Demo này, chúng tôi sẽ sử dụng dữ liệu mẫu về các loài động thực vật có nguy cơ tuyệt chủng từ các tiểu bang và vùng lãnh thổ của Úc. Ở đây chúng tôi sẽ tạo một cụm EMR và cấu hình nó để chạy các công việc Apache Hive nhiều bước. Cụm EMR sẽ được cài đặt Apache Hive trong đó. Cụm này sẽ sử dụng EMRFS làm hệ thống tệp, để các vị trí đầu vào và đầu ra dữ liệu của nó được ánh xạ tới một nhóm S3. Cụm cũng sẽ sử dụng cùng một nhóm S3 để lưu trữ các tệp nhật ký.

Bây giờ chúng ta sẽ tạo một số bước EMR trong cụm để xử lý một tập dữ liệu mẫu. Ở đây, mỗi bước trong số các bước này sẽ chạy một tập lệnh Hive và đầu ra cuối cùng sẽ được lưu vào nhóm S3. Các bước này sẽ tạo nhật ký MapReduce và đó là do các lệnh Hive được dịch sang các công việc MapReduce tại thời điểm chạy. Các tệp nhật ký cho mỗi bước được tổng hợp từ các vùng chứa mà nó tạo ra.

Dữ liệu mẫu

Tập dữ liệu mẫu cho trường hợp sử dụng này có sẵn công khai từ Trang web dữ liệu mở của chính phủ Úc . Bộ dữ liệu này nói về các loài động thực vật bị đe dọa từ các tiểu bang và vùng lãnh thổ khác nhau ở Úc. Bạn có thể xem và tải xuống mô tả về các trường của tập dữ liệu này và tệp CSV đây .

Các bước xử lý

Bước công việc EMR đầu tiên ở đây liên quan đến việc tạo bảng Hive dưới dạng lược đồ cho tệp nguồn cơ bản trong S3. Trong bước công việc thứ hai, bây giờ chúng ta sẽ chạy một truy vấn thành công đối với dữ liệu. Tương tự, sau đó chúng tôi sẽ chạy truy vấn thứ ba và thứ tư.

Chúng tôi sẽ lặp lại bốn bước này một vài lần trong một giờ, mô phỏng các lần chạy liên tiếp của một công việc hàng loạt nhiều bước. Tuy nhiên, trong trường hợp thực tế, chênh lệch thời gian giữa mỗi đợt chạy bình thường có thể cao hơn nhiều. Khoảng cách thời gian nhỏ giữa các lần chạy liên tiếp nhằm mục đích đẩy nhanh quá trình thử nghiệm của chúng tôi.

Nhóm và thư mục S3

Trước khi tạo cụm EMR của chúng tôi, ở đây chúng tôi phải tạo một thùng S3 để lưu trữ các tệp của nó. Trong ví dụ của chúng tôi, chúng tôi đặt tên cho nhóm này là “arvind1-bucket” Các thư mục trong nhóm này được hiển thị bên dưới trong Bảng điều khiển AWS cho S3:

  • Thư mục đầu vào chứa dữ liệu mẫu

  • Thư mục script chứa các tệp script Hive cho các bước công việc EMR

  • Thư mục đầu ra rõ ràng sẽ chứa đầu ra chương trình Hive

  • Cụm EMR sử dụng thư mục nhật ký để lưu các tệp nhật ký của nó.

Tập lệnh Hive cho các bước công việc EMR

1. Bước công việc này chạy tập lệnh Hiveđể tạo bảng Hive bên ngoài. Bảng này mô tả giản đồ dạng bảng của tệp dữ liệu CSV bên dưới. Kịch bản cho việc này như sau:

TẠO BẢNG BÊN NGOÀI `đe dọa_species` (chuỗi tên khoa học`, chuỗi tên thông dụng`, chuỗi tên khoa học hiện tại`, chuỗi trạng thái bị đe dọa`, chuỗi hành động`, chuỗi` nsw`, chuỗi `nt`,` qld` chuỗi, chuỗi `sa`, chuỗi` tas`, chuỗi `vic`, chuỗi` wa`, chuỗi `aci`, chuỗi` cki`, chuỗi `ci`, chuỗi` csi`, chuỗi `jbt`,` nfi` string, `hmi` string,` aat` string, `cma` string,` list sprat taxonid` bigint, `current sprat taxonid` bigint,` Kingdom` string, `class` string,` profile` string, `date extract` string, chuỗi `nsl name` string,` family` string, `genus` string,` loài`, chuỗi `thứ hạng cơ sở hạ tầng`,` chuỗi hạ tầng ', chuỗi `loài tác giả`,` chuỗi hạ tầng tác giả`) ĐƯỢC CHẤM DỨT BỞI ',' ĐƯỢC LƯU TRỮ NHƯ INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3: // arvind1-bucket / script /'

2. Bước công việc này chạy một truy vấn để tính toán năm loài nguy cấp hàng đầu ở bang New South Wales (NSW). Tên tệp truy vấn Hive là nguy cấpSpeciesNSW.q và nó được hiển thị bên dưới:

CHỌN loài, COUNT (nsw) NHƯ number_of_endangered_species TỪ ĐÂU (nsw = 'Yes' OR nsw = 'Endangered') VÀ 'tình trạng bị đe dọa' = 'Nguy cấp' NHÓM THEO loài CÓ COUNT (nsw)> 1 ĐƠN HÀNG THEO number_of_endangered_species MÔ TẢ GIỚI HẠN 5

3.Bước công việc này chạy một truy vấn để tính tổng số loài thực vật có nguy cơ tuyệt chủng cho mỗi họ thực vật ở Úc. Tên tệp truy vấn Hive lànguy cấpPlantSpecies.qvà được hiển thị bên dưới

CHỌN gia đình, COUNT (loài) AS number_of_endangered_species FROM secure_species2 WHERE vương quốc = 'Plantae' VÀ 'tình trạng bị đe dọa' = 'Nguy cấp' NHÓM THEO họ

4. Bước này liệt kê tên khoa học của các loài động vật đã tuyệt chủng ở bang Queensland của Úc. Tệp script được gọi là tuyệt chủngAnimalsQLD.q và được hiển thị bên dưới:

CHỌN 'tên thông thường', 'tên khoa học' TỪ đe dọa_species WHERE vương quốc = 'Animalia' VÀ (qld = 'Có' OR qld = 'Đã tuyệt chủng') VÀ 'tình trạng bị đe dọa' = 'Đã tuyệt chủng'

Tổng hợp nhật ký

Ở đây chúng tôi cũng đã tải lên một tệp JSON có tên là logAggregation.json trong thư mục script của nhóm S3. Chúng tôi sử dụng tệp này để tổng hợp các tệp nhật ký YARN. Tổng hợp nhật ký được định cấu hình trong tệp cấu hình fiber-site.xml khi cụm khởi động. Nội dung của tệp logAggregation.json như sau:

[{“Phân loại”: “địa điểm sợi”, “Thuộc tính”: {“sợi.log-kết hợp-cho phép”: “đúng”, “sợi.log-tổng hợp.retain-giây”: “-1”, “sợi .nodemanager.remote-app-log-dir ”:“ s3: // arvind1-bucket / logs ”}}]

Sau khi bạn tạo nhóm S3 và sao chép dữ liệu và tệp tập lệnh vào các thư mục tương ứng của chúng, bây giờ đã đến lúc thiết lập một cụm EMR. Các ảnh chụp nhanh sau đây mô tả quá trình khi chúng tôi tạo cụm với hầu hết các cài đặt mặc định.

Thiết lập cụm EMR

Trong hình ảnh đầu tiên, để định cấu hình cụm trong bảng điều khiển AWS, chúng tôi đã giữ lại tất cả các ứng dụng được EMR đề xuất, bao gồm cả Hive. Chúng tôi không cần sử dụng AWS Glue để lưu trữ siêu dữ liệu Hive và cũng không phải thêm bất kỳ bước công việc nào vào lúc này. Tuy nhiên, chúng ta cần thêm cài đặt phần mềm cho Hive. Ở đây, bạn phải quan sát cẩn thận cách chúng tôi chỉ định đường dẫn đến tệp JSON tổng hợp nhật ký trong trường này.

Trong bước tiếp theo, chúng tôi đã giữ tất cả các cài đặt mặc định. Vì lợi ích của thử nghiệm của chúng tôi, cụm sẽ có một nút chính và hai nút lõi. Mỗi nút ở đây là một phiên bản m3.xlarge và có khối lượng gốc 10 GB. Chúng tôi đang đặt tên cụm arvind1-cluster trong bước tiếp theo và chỉ định vị trí s3 tùy chỉnh cho các tệp nhật ký của nó.

Cuối cùng, chúng tôi đã chỉ định một cặp khóa EC2 cho mục đích truy cập vào nút chính của cụm. Không có thay đổi trong các vai trò IAM mặc định cho EMR, cấu hình cá thể EC2 và các tùy chọn tỷ lệ tự động. Ngoài ra, các nút chính và nút lõi đang sử dụng các nhóm bảo mật có sẵn mặc định. Thông thường, đây là thiết lập mặc định cho một cụm EMR. Khi mọi thứ đã sẵn sàng, cụm ở trạng thái “chờ đợi” như hình dưới đây:

Gửi các bước công việc Hive

Sau đó, chúng tôi cần cho phép truy cập SSH.

  1. Mở bảng điều khiển Amazon EMR tại https://console.aws.amazon.com/elasticmapreduce/ .
  2. Chọn Cụm .
  3. Chọn Tên của cụm.
  4. Dưới Bảo mật và quyền truy cập chọn Nhóm bảo mật cho Master liên kết.
  5. Chọn ElasticMapReduce-master khỏi danh sách.
  6. Chọn Đến , Biên tập .
  7. Tìm quy tắc với các cài đặt sau và chọn x biểu tượng để xóa nó:
    • Kiểu SSH
    • Hải cảng 22
    • Nguồn Tùy chỉnh 0.0.0.0/0
  8. Cuộn xuống cuối danh sách các quy tắc và chọn Thêm quy tắc .
  9. Đối với Kiểu , lựa chọn SSH . Điều này tự động nhập TCP cho Giao thức 22 cho Phạm vi cổng .
  10. Đối với nguồn, hãy chọn IP của tôi . Điều này sẽ tự động thêm địa chỉ IP của máy khách của bạn làm địa chỉ nguồn. Ngoài ra, bạn có thể thêm một loạt các Tập quán địa chỉ IP máy khách đáng tin cậy và chọn thêm quy tắc để tạo các quy tắc bổ sung cho các khách hàng khác. Trong nhiều môi trường mạng, bạn phân bổ địa chỉ IP động, vì vậy bạn có thể cần chỉnh sửa định kỳ các quy tắc nhóm bảo mật để cập nhật địa chỉ IP của các máy khách đáng tin cậy.
  11. Chọn Tiết kiệm .
  12. Tùy ý, chọn ElasticMapReduce-slave từ danh sách và lặp lại các bước ở trên để cho phép máy khách SSH truy cập vào các nút tác vụ và lõi từ máy khách đáng tin cậy.

Vì cụm EMR đang hoạt động, chúng tôi đã thêm bốn bước công việc. Đây là các bước EMR sẽ chạy lần lượt. Hình ảnh sau đây cho thấy các bước từ bảng điều khiển AWS EMR:

Sau khi thêm bốn bước, chúng tôi có thể kiểm tra trạng thái của các bước này là đã hoàn thành. Ngay cả khi có một số vấn đề với việc thực hiện các bước này, thì trong những trường hợp đó, nó có thể được giải quyết bằng cách sử dụng tệp nhật ký của các bước này.

Vì vậy, đây là nó từ phía tôi trong bài viết này về Dữ liệu lớn trong AWS. Tôi hy vọng bạn đã hiểu tất cả mọi thứ mà tôi đã giải thích ở đây.

Nếu thấy Dữ liệu lớn này trong AWS có liên quan, bạn có thể xem khóa học trực tiếp và có người hướng dẫn của Edureka trên , được đồng tạo bởi những người thực hành trong ngành.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến vấn đề này trong phần nhận xét của Cách triển khai ứng dụng web Java trong AWS này và chúng tôi sẽ liên hệ lại với bạn.