Logo Zephyrnet

Trích xuất dữ liệu ServiceNow bằng AWS Glue Studio trong hồ dữ liệu Amazon S3 và phân tích bằng Amazon Athena

Ngày:

Nhiều phần mềm dựa trên đám mây khác nhau dưới dạng dịch vụ (SaaS) có sẵn trong AWS. ServiceNow là một trong những nền tảng tự động hóa quy trình làm việc dựa trên đám mây phổ biến được khách hàng AWS sử dụng rộng rãi. Trong vài năm qua, chúng tôi đã thấy rất nhiều khách hàng muốn trích xuất và tích hợp dữ liệu từ các công cụ quản lý dịch vụ CNTT (ITSM) như ServiceNow cho các trường hợp sử dụng khác nhau:

  • Tạo thông tin chi tiết từ dữ liệu - Khi bạn kết hợp dữ liệu ServiceNow với dữ liệu từ các dịch vụ khác như CRM (chẳng hạn như Salesforce) hoặc dữ liệu Martech (chẳng hạn như Điểm chính xác của Amazon) để tạo ra thông tin chi tiết tốt hơn (ví dụ: xây dựng chế độ xem khách hàng 360 hoàn chỉnh).
  • Lưu trữ dữ liệu cho các yêu cầu kinh doanh hoặc quy định trong tương lai - Bạn có thể lưu trữ dữ liệu ở dạng thô trong hồ dữ liệu của mình để xử lý các trường hợp sử dụng trong tương lai hoặc chỉ giữ nó để đáp ứng các yêu cầu quy định như kiểm toán.
  • Cải thiện hiệu suất bằng cách tách các trường hợp sử dụng báo cáo hoặc học máy khỏi ITSM - Khi bạn chuyển báo cáo ITSM của mình từ ServiceNow sang một Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3), không có tác động về hiệu suất đối với phiên bản ServiceNow của bạn.
  • Dân chủ hóa dữ liệu - Bạn có thể trích xuất dữ liệu và đưa vào hồ dữ liệu để người dùng và đơn vị doanh nghiệp khác có thể khám phá và sử dụng.

Nhiều khách hàng đã và đang xây dựng kiến ​​trúc dữ liệu hiện đại trên AWS, bao gồm xây dựng hồ dữ liệu trên Amazon S3 và sử dụng phân tích AWS sâu và rộng cũng như dịch vụ AI / ML để trích xuất thông tin có ý nghĩa từ dữ liệu bằng cách kết hợp dữ liệu từ các nguồn dữ liệu khác nhau.

Trong bài đăng này, chúng tôi cung cấp hướng dẫn từng bước để đưa dữ liệu từ ServiceNow sang hồ dữ liệu S3 bằng cách sử dụng Xưởng keo AWS và phân tích dữ liệu với amazon Athena.

Tổng quan về giải pháp

Trong giải pháp này, dữ liệu ServiceNow đang được trích xuất thông qua Keo AWS sử dụng trình kết nối Marketplace. AWS Glue cung cấp hỗ trợ tích hợp cho các kho dữ liệu được sử dụng phổ biến nhất (chẳng hạn như Amazon Redshift, Amazon Aurora, Microsoft SQL Server, MySQL, MongoDB và PostgreSQL) sử dụng kết nối JDBC. AWS Glue cũng cho phép bạn sử dụng trình điều khiển JDBC tùy chỉnh trong các công việc trích xuất, chuyển đổi và tải (ETL) của bạn. Đối với các kho dữ liệu không được hỗ trợ nguyên bản, chẳng hạn như các ứng dụng SaaS, bạn có thể sử dụng trình kết nối và được lưu trữ trong Amazon S3. Dữ liệu được lập danh mục trong Danh mục dữ liệu keo AWS và chúng tôi sử dụng Athena để truy vấn dữ liệu.

Keo AWS là một dịch vụ tích hợp dữ liệu không máy chủ giúp dễ dàng khám phá, chuẩn bị và kết hợp dữ liệu để phân tích, học máy (ML) và phát triển ứng dụng. AWS Glue cung cấp tất cả các khả năng cần thiết để tích hợp dữ liệu để bạn có thể bắt đầu phân tích dữ liệu của mình và sử dụng nó trong vài phút thay vì vài tháng.

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 Amazon S3 bằng cách sử dụng SQL tiêu chuẩn. 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.

ServiceNow là một nền tảng phần mềm dựa trên đám mây cho ITSM giúp tự động hóa việc quản lý kinh doanh CNTT. Nó được thiết kế dựa trên các nguyên tắc ITIL để cung cấp định hướng dịch vụ cho các nhiệm vụ, hoạt động và quy trình.

Sơ đồ sau minh họa kiến ​​trúc giải pháp của chúng tôi.
blog keo aws

Để triển khai giải pháp, chúng tôi hoàn thành các bước cấp cao sau:

  1. Đăng ký với Thị trường kết nối keo AWS cho ServiceNow từ Thị trường AWS.
  2. Tạo kết nối trong AWS Glue Studio.
  3. tạo một Quản lý truy cập và nhận dạng AWS (IAM) cho AWS Glue.
  4. Định cấu hình và chạy công việc AWS Glue sử dụng kết nối.
  5. Chạy truy vấn đối với hồ dữ liệu (Amazon S3) bằng Athena.

Điều kiện tiên quyết

Đối với hướng dẫn này, bạn nên có những điều sau:

  • An Tài khoản AWS.
  • Một tài khoản ServiceNow. Để theo dõi bài đăng này, bạn có thể đăng ký nhà phát triển , được điền sẵn các bản ghi mẫu trong nhiều đối tượng ServiceNow.
  • Thông tin xác thực thuộc tính kết nối ServiceNow được lưu trữ trong Quản lý bí mật AWS. Trên bảng điều khiển Trình quản lý bí mật, hãy tạo một bí mật mới (chọn Các loại bí mật khác) với một cặp khóa-giá trị cho mỗi thuộc tính, ví dụ:
    • Tên đăng nhập (Username) - Tên người dùng tài khoản ServiceNow Instance (ví dụ: admin)
    • Mật khẩu - Mật khẩu tài khoản ServiceNow Instance
    • Sơ thẩm - Tên phiên bản ServiceNow mà không có https.service-now.com

Sao chép tên bí mật để sử dụng khi định cấu hình kết nối trong AWS Glue Studio.

Đăng ký Trình kết nối thị trường keo AWS cho ServiceNow

Để kết nối, chúng tôi sử dụng Trình kết nối thị trường keo AWS cho ServiceNow. Bạn cần đăng ký trình kết nối từ AWS Marketplace.

Sản phẩm Trình kết nối thị trường keo AWS cho ServiceNow được cung cấp bởi nhà cung cấp phần mềm độc lập bên thứ ba (ISV) được liệt kê trên AWS Marketplace. Phí đăng ký liên quan và phí sử dụng AWS được áp dụng sau khi đăng ký.

Để sử dụng trình kết nối trong AWS Glue, bạn cần kích hoạt trình kết nối đã đăng ký trong AWS Glue Studio. Quá trình kích hoạt tạo đối tượng trình kết nối và kết nối trong tài khoản AWS của bạn.

  1. Trên bảng điều khiển AWS Glue, hãy chọn Xưởng keo AWS.
  2. Chọn Kết nối.
  3. Chọn Chợ.
  4. Tìm kiếm Trình kết nối Keo CData AWS cho ServiceNow.


Sau khi bạn đăng ký trình kết nối, một tab cấu hình mới sẽ xuất hiện trên trang trình kết nối AWS Marketplace.

  1. Xem lại giá cả và các thông tin liên quan khác.
  2. Chọn Tiếp tục Đăng ký.
  3. Chọn Chấp nhận các điều khoản.

Sau khi bạn đăng ký trình kết nối, các bước tiếp theo là định cấu hình nó.

  1. Giữ lại các lựa chọn mặc định cho phương thức vận chuyển Phiên bản phần mềm để sử dụng phiên bản phần mềm trình kết nối mới nhất.
  2. Chọn Tiếp tục khởi chạy.

  1. Chọn Cách sử dụng cấu trúc.


Cửa sổ bật lên xuất hiện với siêu liên kết để kích hoạt trình kết nối với AWS Glue Studio.

  1. Chọn liên kết này để bắt đầu định cấu hình kết nối với tài khoản ServiceNow của bạn trong AWS Glue Studio.

Tạo kết nối trong AWS Glue Studio

Tạo kết nối trong AWS Glue Studio bằng các bước sau:

  1. Trong Họ tên, hãy nhập một tên duy nhất cho kết nối ServiceNow của bạn.
  2. Trong Loại thông tin xác thực kết nối, chọn tên người dùng_mật khẩu.
  3. Trong Bí mật AWS, hãy chọn bí mật Trình quản lý bí mật mà bạn đã tạo làm điều kiện tiên quyết.

Không cung cấp bất kỳ chi tiết bổ sung nào trong tùy chọn Credentials vì nó truy xuất giá trị từ Trình quản lý bí mật.

  1. Chọn Tạo kết nối và kích hoạt trình kết nối để hoàn tất việc tạo kết nối.

Bây giờ bạn sẽ có thể xem trình kết nối ServiceNow mà bạn đã đăng ký và kết nối liên quan của nó.

Tạo vai trò IAM cho AWS Glue

Bước tiếp theo là tạo vai trò IAM với các quyền cần thiết cho công việc AWS Glue. Tên của vai trò phải bắt đầu bằng chuỗi AWSGlueServiceRole để AWS Glue Studio sử dụng nó một cách chính xác. Bạn cần cấp quyền cho vai trò IAM của mình mà AWS Glue có thể đảm nhận khi thay mặt bạn gọi các dịch vụ khác. Để biết thêm thông tin, hãy xem Tạo vai trò IAM cho AWS Glue.

Đính kèm các chính sách được AWS quản lý sau vào vai trò:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "{secret name arn}" ] } ]
}

Để biết thêm thông tin về quyền, hãy xem Xem lại các quyền IAM cần thiết cho người dùng AWS Glue Studio.

Định cấu hình và chạy công việc AWS Glue

Sau khi định cấu hình kết nối của mình, bạn có thể tạo và chạy công việc AWS Glue.

Tạo một công việc sử dụng kết nối

Để tạo một công việc, hãy hoàn thành các bước sau:

  1. Trong AWS Glue Studio, chọn Kết nối.
  2. Chọn kết nối bạn đã tạo.
  3. Chọn Tạo việc làm.


Trình chỉnh sửa công việc trực quan xuất hiện. Một nút nguồn mới, bắt nguồn từ kết nối, được hiển thị trên biểu đồ công việc. Trong bảng chi tiết nút ở bên phải, Thuộc tính nguồn dữ liệu tab được chọn để người dùng nhập.

Định cấu hình các thuộc tính của nút nguồn

Bạn có thể định cấu hình các tùy chọn truy cập cho kết nối của mình với nguồn dữ liệu trên Thuộc tính nguồn dữ liệu chuyển hướng. Đối với bài đăng này, chúng tôi cung cấp một hướng dẫn đơn giản. Tham khảo đến Hướng dẫn sử dụng AWS Glue Studio để biết thêm thông tin chi tiết.

  1. trên nguồn menu, chọn CData AWS Glue Connector cho ServiceNow.

  1. trên Thuộc tính nguồn dữ liệu - Trình kết nối , hãy đảm bảo rằng nút nguồn cho trình kết nối của bạn được chọn.

Sản phẩm Trường kết nối được điền tự động với tên của kết nối được liên kết với trình kết nối thị trường.

  1. Nhập tên bảng nguồn hoặc truy vấn để sử dụng để truy xuất dữ liệu từ nguồn dữ liệu. Đối với bài đăng này, chúng tôi nhập sự cố tên bảng.

  1. trên Chuyển đổi chọn Áp dụng ánh xạ.
  2. Trong tab thuộc tính nút, hãy chọn nút cha CData AWS Glue Connector cho ServiceNow.
  3. Khi chúng tôi đang kết nối với nguồn dữ liệu bên ngoài; khi bạn lần đầu tiên nhìn vào tab lược đồ Chuyển đổi và Đầu ra; bạn sẽ không tìm thấy lược đồ được trích xuất từ ​​nguồn.
  4. Để bạn truy xuất lược đồ, hãy chuyển đến tab Xem trước dữ liệu, nhấp vào Bắt đầu phiên xem trước dữ liệu và chọn vai trò IAM mà bạn đã tạo cho công việc này.
  5. Sau khi xem trước Dữ liệu xong, hãy chuyển đến phần Nguồn dữ liệu và nhấp vào Sử dụng lược đồ xem xét dữ liệu.
  6. Truy cập Chuyển đổi và Kiểm tra tất cả các cột nơi Loại dữ liệu hiển thị là NULL.

  1. trên Mục tiêu menu, chọn Amazon S3.
  2. trên Thuộc tính mục tiêu dữ liệu - S3 tab, cho Định dạng, chọn Sàn gỗ.
  3. Trong Loại nén, chọn GZIP.
  4. Trong Vị trí mục tiêu S3, nhập vị trí Amazon S3 để lưu trữ dữ liệu.
  5. Trong Tùy chọn cập nhật Danh mục dữ liệu, lựa chọn Tạo một bảng trong Danh mục dữ liệu và trong các lần chạy tiếp theo, hãy giữ lại lược đồ hiện có và thêm các phân vùng mới.
  6. Trong Cơ sở dữ liệu, đi vào sampledb.
  7. Trong Tên bảng, đi vào incident.

Chỉnh sửa, lưu và chạy công việc

Chỉnh sửa công việc bằng cách thêm và chỉnh sửa các nút trong biểu đồ công việc. Nhìn thấy Chỉnh sửa công việc ETL trong AWS Glue Studio để biết thêm thông tin chi tiết.

Sau khi bạn chỉnh sửa công việc, hãy nhập các thuộc tính công việc.

  1. Chọn Chi tiết công việc phía trên trình chỉnh sửa biểu đồ trực quan.
  2. Trong Họ tên, nhập tên công việc.
  3. Trong Vai trò IAM, chọn một vai trò IAM với các quyền cần thiết, như đã mô tả trước đây.
  4. Trong Kiểu, chọn Spark.
  5. Trong Phiên bản keo, chọn Keo 3.0 - Hỗ trợ spark 3.1, Scala 2, Python 3.
  6. Trong Ngôn ngữ, chọn Python 3.
  7. Loại công nhân: G.1X
  8. Số lượng công nhân yêu cầu: 2
  9. Số lần thử lại: 1
  10. Thời gian chờ công việc (phút): 3
  11. Sử dụng các giá trị mặc định cho các tham số khác.

Để biết thêm thông tin về các thông số công việc, hãy xem Xác định thuộc tính công việc cho Spark Jobs.

12. Sau khi bạn lưu công việc, hãy chọn chạy để điều hành công việc.

Lưu ý - Chạy Công việc Keo sẽ phát sinh chi phí. Bạn có thể tìm hiểu thêm về Định giá Keo AWS Ở đây.

Để xem tập lệnh đã tạo cho công việc, hãy chọn Script ở đầu trình chỉnh sửa trực quan. Các Công việc chạy tab hiển thị lịch sử chạy công việc cho công việc. Để biết thêm thông tin về chi tiết công việc, hãy xem Xem thông tin về các lần chạy công việc gần đây.

Truy vấn đối với hồ dữ liệu bằng Athena

Sau khi công việc hoàn tất, bạn có thể truy vấn dữ liệu trong Athena.

  1. Trên bảng điều khiển Athena, chọn sampledb cơ sở dữ liệu.

Bạn có thể xem bảng mới tạo có tên incident.

  1. Chọn biểu tượng tùy chọn (ba chấm dọc) và chọn Xem trước bảng để xem dữ liệu.

Bây giờ chúng ta hãy thực hiện một số phân tích.

  1. Tìm tất cả các phiếu sự cố được báo cáo bằng cách chạy truy vấn sau:
    SELECT task_effective_number FROM "sampledb"."incident" where escalation = 2;

  1. Tìm số lượng vé với mức độ ưu tiên:
    SELECT priority, count(distinct task_effective_number) FROM "sampledb"."incident"
    group by priority
    order by priority asc

Kết luận

Trong bài đăng này, chúng tôi đã trình bày cách bạn có thể sử dụng trình kết nối AWS Glue Studio để kết nối từ ServiceNow và đưa dữ liệu vào hồ dữ liệu của bạn cho các trường hợp sử dụng tiếp theo.

AWS Glue cung cấp hỗ trợ tích hợp cho các kho dữ liệu được sử dụng phổ biến nhất (chẳng hạn như Amazon Redshift, Amazon Aurora, Microsoft SQL Server, MySQL, MongoDB và PostgreSQL) sử dụng kết nối JDBC. AWS Glue cũng cho phép bạn sử dụng trình điều khiển JDBC tùy chỉnh trong các công việc trích xuất, chuyển đổi và tải (ETL) của bạn. Đối với các kho dữ liệu không được hỗ trợ nguyên bản, chẳng hạn như các ứng dụng SaaS, bạn có thể sử dụng trình kết nối.

Để tìm hiểu thêm, hãy tham khảo Trình kết nối AWS Glue StudioHướng dẫn sử dụng AWS Glue StudioHướng dẫn sử dụng Athena.


Về các tác giả

Navinit Shukla là Kiến trúc sư Giải pháp Chuyên gia AWS trong Phân tích. Anh ấy đam mê giúp khách hàng khám phá thông tin chi tiết từ dữ liệu của họ. Ông xây dựng các giải pháp để giúp các tổ chức đưa ra quyết định dựa trên dữ liệu.

Srikanth Sopirala là Kiến trúc sư giải pháp chính tại AWS. Ông là một nhà lãnh đạo dày dạn với hơn 20 năm kinh nghiệm, người luôn đam mê giúp khách hàng xây dựng dữ liệu có thể mở rộng và các giải pháp phân tích để có được những hiểu biết kịp thời và đưa ra các quyết định kinh doanh quan trọng. Khi rảnh rỗi, anh ấy thích đọc sách, dành thời gian cho gia đình và đạp xe đường trường.

Naresh Gautam là Kiến trúc sư giải pháp chính tại AWS. Vai trò của anh ấy là giúp khách hàng kiến ​​trúc các giải pháp phân tích dữ liệu có sẵn, hiệu suất cao và hiệu quả về chi phí để trao quyền cho khách hàng trong việc ra quyết định dựa trên dữ liệu. Khi rảnh rỗi, anh thích thiền và nấu ăn.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img