Logo Zephyrnet

Chuẩn bị và tải dữ liệu Amazon S3 vào Teradata bằng AWS Glue thông qua trình kết nối gốc dành cho Teradata Vantage | Dịch vụ web của Amazon

Ngày:

Trong bài đăng này, chúng tôi khám phá cách sử dụng Keo AWS trình kết nối gốc dành cho Teradata Vantage để hợp lý hóa việc tích hợp dữ liệu và khai thác toàn bộ tiềm năng dữ liệu của bạn.

Doanh nghiệp thường dựa vào Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) để lưu trữ lượng lớn dữ liệu từ nhiều nguồn dữ liệu khác nhau theo cách an toàn và tiết kiệm chi phí. Đối với những người sử dụng Teradata để phân tích dữ liệu, việc tích hợp thông qua trình kết nối gốc AWS Glue dành cho Teradata Vantage sẽ mở ra những khả năng mới. AWS Glue tăng cường tính linh hoạt và hiệu quả của việc quản lý dữ liệu, cho phép các công ty tích hợp liền mạch dữ liệu của họ, bất kể vị trí của nó, với khả năng phân tích của Teradata. Trình kết nối mới này loại bỏ các rào cản kỹ thuật liên quan đến cấu hình, bảo mật và quản lý, cho phép các công ty dễ dàng xuất hoặc nhập bộ dữ liệu của họ vào Teradata Vantage. Do đó, các doanh nghiệp có thể tập trung nhiều hơn vào việc trích xuất những hiểu biết có ý nghĩa từ dữ liệu của mình thay vì giải quyết sự phức tạp của việc tích hợp dữ liệu.

AWS Glue là dịch vụ tích hợp dữ liệu không có máy chủ giúp người dùng phân tích dễ dàng khám phá, chuẩn bị, di chuyển và tích hợp dữ liệu từ nhiều nguồn để phân tích, học máy (ML) và phát triển ứng dụng. Với AWS Glue, bạn có thể khám phá và kết nối với hơn 100 nguồn dữ liệu đa dạng và quản lý dữ liệu của mình trong danh mục dữ liệu tập trung. Bạn có thể tạo, chạy và giám sát các đường ống trích xuất, chuyển đổi và tải (ETL) một cách trực quan để tải dữ liệu vào hồ dữ liệu của mình.

Tổng công ty siêu dữ liệu là nền tảng dữ liệu đa đám mây được kết nối hàng đầu dành cho phân tích doanh nghiệp, tập trung vào việc giúp các công ty sử dụng tất cả dữ liệu của họ trên toàn doanh nghiệp ở quy mô lớn. Là một Năng lực phân tích và dữ liệu AWS đối tác, Teradata cung cấp nền tảng dữ liệu và phân tích đám mây hoàn chỉnh, bao gồm cả Machine Learning.

Giới thiệu trình kết nối gốc AWS Glue dành cho Teradata Vantage

AWS Glue cung cấp hỗ trợ cho Teradata, có thể truy cập được thông qua cả tập lệnh AWS Glue Studio và AWS Glue ETL. Với AWS Glue Studio, bạn được hưởng lợi từ giao diện trực quan giúp đơn giản hóa quá trình kết nối với Teradata cũng như soạn thảo, chạy và giám sát các công việc AWS Glue ETL. Đối với các nhà phát triển dữ liệu, sự hỗ trợ này mở rộng đến các tập lệnh AWS Glue ETL, nơi bạn có thể sử dụng Python hoặc Scala để tạo và quản lý các tác vụ chuyển đổi và tích hợp dữ liệu cụ thể hơn.

Trình kết nối gốc AWS Glue dành cho Teradata Vantage cho phép bạn đọc và ghi dữ liệu từ Teradata một cách hiệu quả mà không cần cài đặt hay quản lý bất kỳ thư viện trình kết nối nào. Bạn có thể thêm Teradata làm cả nguồn và đích trong giao diện trực quan kéo và thả không cần mã của AWS Glue Studio hoặc sử dụng trình kết nối trực tiếp trong tác vụ tập lệnh AWS Glue ETL.

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

Trong ví dụ này, bạn sử dụng AWS Glue Studio để bổ sung và tải dữ liệu được lưu trữ trên Amazon S3 lên Teradata Vantage. Bạn bắt đầu bằng cách nối các tệp Sự kiện và Địa điểm từ tập dữ liệu. Tiếp theo, bạn lọc kết quả theo một vùng địa lý. Cuối cùng, bạn tải dữ liệu đã tinh chỉnh lên Teradata Vantage.

Bộ dữ liệu TICKIT theo dõi hoạt động bán hàng cho trang web TICKIT hư cấu, nơi người dùng mua và bán vé trực tuyến cho các sự kiện thể thao, chương trình biểu diễn và buổi hòa nhạc. Trong tập dữ liệu này, các nhà phân tích có thể xác định chuyển động của vé theo thời gian, tỷ lệ thành công của người bán cũng như các sự kiện, địa điểm và mùa bán chạy nhất.

Trong ví dụ này, bạn sử dụng AWS Glue Studio để phát triển quy trình ETL trực quan. Quy trình này sẽ đọc dữ liệu từ Amazon S3, thực hiện các phép biến đổi rồi tải dữ liệu đã chuyển đổi vào Teradata. Sơ đồ sau minh họa kiến ​​trúc này.

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

Đến cuối bài đăng này, công việc ETL trực quan của bạn sẽ giống với ảnh chụp màn hình sau.

Luồng công việc ETL trực quan

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

Trong ví dụ này, bạn phải có quyền truy cập vào điểm cuối cơ sở dữ liệu Teradata hiện có với khả năng tiếp cận mạng từ AWS và các quyền để tạo bảng cũng như tải và truy vấn dữ liệu.

AWS Glue cần có quyền truy cập mạng vào Teradata để đọc hoặc ghi dữ liệu. Cách cấu hình này tùy thuộc vào nơi Teradata của bạn được triển khai và cấu hình mạng cụ thể. Đối với Teradata được triển khai trên AWS, bạn có thể cần định cấu hình VPC ngang hàng or Liên kết riêng AWS, nhóm bảo mật và danh sách kiểm soát truy cập mạng (NACL) để cho phép AWS Glue giao tiếp với Teradata qua TCP. Nếu Teradata nằm ngoài AWS, các dịch vụ mạng như VPN Site-to-Site của AWS or Kết nối trực tiếp AWS có thể được yêu cầu. Truy cập internet công cộng không được khuyến khích do rủi ro bảo mật. Nếu bạn chọn quyền truy cập công cộng, sẽ an toàn hơn khi chạy tác vụ AWS Glue trong VPC phía sau một Cổng NAT. Cách tiếp cận này cho phép bạn chỉ cho phép liệt kê một địa chỉ IP cho lưu lượng truy cập đến trên tường lửa mạng của bạn. Để biết thêm thông tin, hãy tham khảo Bảo mật cơ sở hạ tầng trong AWS Glue.

Thiết lập Amazon S3

Mọi đối tượng trong Amazon S3 đều được lưu trữ trong một bộ chứa. Trước khi có thể lưu trữ dữ liệu trên Amazon S3, bạn phải tạo một nhóm S3 để lưu trữ kết quả. Hoàn thành các bước sau:

  1. Trên bảng điều khiển Amazon S3, chọn trong khung điều hướng.
  2. Chọn Tạo xô.
  3. Trong Họ tên, nhập tên duy nhất chung cho nhóm của bạn; ví dụ: ticket8530923.
  4. Chọn Tạo xô.
  5. Tải về tập dữ liệu và giải nén nó.
  6. Tạo phiếu kiểm tra thư mục trong bộ chứa S3 của bạn và tải lên các tệp allevents_pipe.txt và Venue_pipe.txt.

Định cấu hình kết nối Teradata

Để kết nối với Teradata từ AWS Glue, hãy xem Định cấu hình kết nối Teradata.

Bạn phải tạo và lưu trữ thông tin xác thực Teradata của mình trong một Quản lý bí mật AWS bí mật rồi liên kết bí mật đó với kết nối Teradata AWS Glue. Chúng tôi thảo luận về hai bước này chi tiết hơn sau trong bài viết này.

Tạo vai trò IAM cho công việc AWS Glue ETL

Khi tạo tác vụ AWS Glue ETL, bạn chỉ định một Quản lý truy cập và nhận dạng AWS (IAM) cho công việc sử dụng. Vai trò này phải cấp quyền truy cập vào tất cả các tài nguyên mà tác vụ sử dụng, bao gồm Amazon S3 (đối với mọi nguồn, đích, tập lệnh, tệp trình điều khiển và thư mục tạm thời) và Trình quản lý bí mật. Để biết hướng dẫn, xem Định cấu hình vai trò IAM cho công việc ETL của bạn.

Tạo bảng trong Teradata

Sử dụng công cụ cơ sở dữ liệu ưa thích của bạn, đăng nhập vào Teradata. Chạy đoạn mã sau để tạo bảng trong Teradata nơi bạn sẽ tải dữ liệu của mình:

CREATE MULTISET TABLE test.tickit, FALLBACK
   (venueid varchar(25),
    venuename varchar(100),
    venuecity varchar(100),
    venuestate varchar(25),
    venueseats varchar(25),
    eventid varchar(25),
    catid varchar(25),
    dateid varchar(25),
    eventname varchar(100),
    starttime varchar(100))
    NO PRIMARY INDEX
;

Lưu trữ thông tin đăng nhập Teradata

An Kết nối AWS Glue là một đối tượng Danh mục dữ liệu lưu trữ thông tin xác thực đăng nhập, chuỗi URI, v.v. Trình kết nối Teradata yêu cầu Trình quản lý bí mật để lưu trữ tên người dùng và mật khẩu Teradata mà bạn sử dụng để kết nối với Teradata.

Để lưu trữ tên người dùng và mật khẩu Teradata trong Trình quản lý bí mật, hãy hoàn thành các bước sau:

  1. Trên bảng điều khiển Secrets Manager, chọn Bí mật trong khung điều hướng.
  2. Chọn Lưu trữ một bí mật mới.
  3. Chọn Loại bí mật khác.
  4. Nhập khóa/giá trị NGƯỜI DÙNG và teradata_user, sau đó chọn Thêm dòng.
  5. Nhập khóa/giá trị PASSWORD và teradata_user_password, sau đó chọn Sau.

Cấu hình trình quản lý bí mật Teradata

  1. Trong Tên bí mật, nhập tên mô tả, sau đó chọn Sau.
  2. Chọn Sau để chuyển sang bước xem lại, sau đó chọn Cửa hàng sách.

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

Bây giờ bạn đã sẵn sàng tạo kết nối AWS Glue tới Teradata. Hoàn thành các bước sau:

  1. Trên bảng điều khiển AWS Glue, hãy chọn Kết nối Dưới Danh mục dữ liệu trong khung điều hướng.
  2. Chọn Tạo kết nối.
  3. Trong Họ tên, hãy nhập tên (ví dụ: teradata_connection).
  4. Trong Kiểu kết nốichọn Siêu dữ liệu.
  5. Trong URL siêu dữ liệu, đi vào jdbc:teradata://url_of_teradata/database=name_of_your_database.
  6. Trong Bí mật AWS, hãy chọn bí mật có thông tin đăng nhập Teradata mà bạn đã tạo trước đó.

Truy cập kết nối Teradata

Tạo tác vụ ETL trực quan của AWS Glue để chuyển đổi và tải dữ liệu lên Teradata

Hoàn thành các bước sau để tạo tác vụ AWS Glue ETL của bạn:

  1. Trên bảng điều khiển AWS Keo, bên dưới Việc làm ETL trong ngăn điều hướng, chọn ETL trực quan.
  2. Chọn ETL trực quan.
  3. Chọn biểu tượng bút chì để nhập tên cho công việc của bạn.

Chúng tôi thêm venue_pipe.txt làm tập dữ liệu đầu tiên của chúng tôi.

  1. Chọn Thêm nút Và chọn Amazon S3 trên nguồn tab.

Nút nguồn Amazon S3

  1. Nhập các thuộc tính nguồn dữ liệu sau:
    1. Trong Họ tên, nhập Địa điểm.
    2. Trong Loại nguồn S3, lựa chọn Vị trí S3.
    3. Trong URL S3, nhập đường dẫn S3 vào venue_pipe.txt.
    4. Trong Định dạng dữ liệu, chọn CSV.
    5. Trong Dấu phân cách, chọn Pipe.
    6. Bỏ chọn Dòng đầu tiên của tệp nguồn chứa tiêu đề cột.

Thuộc tính nguồn dữ liệu S3

Bây giờ chúng tôi thêm allevents_pipe.txt làm tập dữ liệu thứ hai của chúng tôi.

  1. Chọn Thêm nút Và chọn Amazon S3 trên nguồn tab.
  2. Nhập các thuộc tính nguồn dữ liệu sau:
    1. Trong Họ tên, nhập Sự kiện.
    2. Trong Loại nguồn S3, lựa chọn Vị trí S3.
    3. Trong URL S3, nhập đường dẫn S3 vào allevents_pipe.txt.
    4. Trong Định dạng dữ liệu, chọn CSV.
    5. Trong Dấu phân cách, chọn Pipe.
    6. Bỏ chọn Dòng đầu tiên của tệp nguồn chứa tiêu đề cột.

Tiếp theo, chúng tôi đổi tên các cột của tập dữ liệu Địa điểm.

  1. Chọn Thêm nút Và chọn Thay đổi lược đồ trên Biến đổi tab.
  2. Nhập các thuộc tính biến đổi sau:
    1. Trong Họ tên, nhập dữ liệu Đổi tên địa điểm.
    2. Trong Node cha mẹ, chọn Địa điểm.
    3. Trong tạp chí Thay đổi lược đồ phần, ánh xạ các khóa nguồn tới các khóa đích:
      1. col0: venueid
      2. col1: venuename
      3. col2: venuecity
      4. col3: venuestate
      5. col4: venueseats

Đổi tên dữ liệu Địa điểm ETL Transform

Bây giờ chúng tôi lọc tập dữ liệu Địa điểm theo một khu vực địa lý cụ thể.

  1. Chọn Thêm nút Và chọn Lọc trên Biến đổi tab.
  2. Nhập các thuộc tính biến đổi sau:
    1. Trong Họ tên, hãy nhập Bộ lọc vị trí.
    2. Trong Node cha mẹ, chọn Địa điểm.
    3. Trong Điều kiện lọc, chọn venuestate cho Key, chọn diêm cho hoạt độngvà nhập DC cho Giá trị.

Cài đặt bộ lọc vị trí

Bây giờ chúng tôi đổi tên các cột trong tập dữ liệu Sự kiện.

  1. Chọn Thêm nút Và chọn Thay đổi lược đồ trên Biến đổi tab.
  2. Nhập các thuộc tính biến đổi sau:
    1. Trong Họ tên, nhập dữ liệu Đổi tên sự kiện.
    2. Trong Node cha mẹ, chọn Sự kiện.
    3. Trong tạp chí Thay đổi lược đồ phần, ánh xạ các khóa nguồn tới các khóa đích:
      1. col0: eventid
      2. col1: e_venueid
      3. col2: catid
      4. col3: dateid
      5. col4: eventname
      6. col5: starttime

Tiếp theo, chúng tôi tham gia bộ dữ liệu Địa điểm và Sự kiện.

  1. Chọn Thêm nút Và chọn Tham gia trên Biến đổi tab.
  2. Nhập các thuộc tính biến đổi sau:
    1. Trong Họ tên, nhập Tham gia.
    2. Trong Node cha mẹ, chọn Bộ lọc vị trí và Đổi tên dữ liệu sự kiện.
    3. Trong Tham gia loạichọn Tham gia bên trong.
    4. Trong Điều kiện tham gia, chọn venueid cho Bộ lọc vị tríe_venueid cho Đổi tên dữ liệu sự kiện.

Tham gia thuộc tính

Bây giờ chúng ta bỏ cột trùng lặp.

  1. Chọn Thêm nút Và chọn Thay đổi lược đồ trên Biến đổi tab.
  2. Nhập các thuộc tính biến đổi sau:
    1. Trong Họ tên, nhập cột Thả.
    2. Trong Node cha mẹ, chọn Tham gia.
    3. Trong tạp chí Thay đổi lược đồ phần, chọn Rơi cho e_venueid .

Thuộc tính cột thả

Tiếp theo, chúng ta tải dữ liệu vào bảng Teradata.

  1. Chọn Thêm nút Và chọn Siêu dữ liệu trên Mục tiêu tab.
  2. Nhập các thuộc tính chìm dữ liệu sau:
    1. Trong Họ tên, nhập Teradata.
    2. Trong Node cha mẹ, chọn Thả cột.
    3. Trong Kết nối siêu dữ liệu, chọn teradata_connection.
    4. Trong Tên bảng, đi vào schema.tablename của bảng bạn đã tạo trong Teradata.

Thuộc tính chìm dữ liệu Teradata

Cuối cùng, chúng tôi chạy công việc và tải dữ liệu vào Teradata.

  1. Chọn Lưu, sau đó chọn chạy.

Một biểu ngữ sẽ hiển thị rằng công việc đã bắt đầu.

  1. Chọn Chạy, hiển thị trạng thái của công việc.

Trạng thái chạy sẽ thay đổi thành Kế nhiệm khi công việc đã hoàn thành.

Trạng thái chạy

  1. Kết nối với Teradata của bạn rồi truy vấn bảng mà dữ liệu đã được tải vào đó.

Dữ liệu được lọc và nối từ hai bộ dữ liệu sẽ nằm trong bảng.

Kết quả dữ liệu được lọc và nối

Làm sạch

Để tránh phát sinh thêm phí do tài nguyên được tạo trong bài đăng này gây ra, hãy đảm bảo bạn xóa các mục bạn đã tạo trong tài khoản AWS cho bài đăng này:

  • Khóa Trình quản lý bí mật được tạo cho thông tin xác thực Teradata
  • Trình kết nối gốc AWS Glue dành cho Teradata Vantage
  • Dữ liệu được tải trong nhóm S3
  • Công việc AWS Glue Visual ETL

Kết luận

Trong bài đăng này, bạn đã tạo kết nối tới Teradata bằng AWS Glue, sau đó tạo tác vụ AWS Glue để chuyển đổi và tải dữ liệu vào Teradata. Trình kết nối gốc AWS Glue dành cho Teradata Vantage hỗ trợ hành trình phân tích dữ liệu của bạn bằng cách cung cấp một lộ trình liền mạch và hiệu quả để tích hợp dữ liệu của bạn với Teradata. Khả năng mới này trong AWS Glue không chỉ đơn giản hóa quy trình tích hợp dữ liệu của bạn mà còn mở ra những hướng đi mới cho các cải tiến về phân tích nâng cao, thông tin kinh doanh và máy học.

Với AWS Teradata Connector, bạn có thể tùy ý sử dụng công cụ tốt nhất để đơn giản hóa các tác vụ tích hợp dữ liệu. Cho dù bạn đang tìm cách tải dữ liệu Amazon S3 vào Teradata để phân tích, báo cáo hay hiểu biết sâu sắc về doanh nghiệp, trình kết nối mới này sẽ hợp lý hóa quy trình, giúp quy trình trở nên dễ tiếp cận hơn và tiết kiệm chi phí hơn.

Để bắt đầu với AWS Glue, hãy tham khảo Bắt đầu với AWS Glue.


Về các tác giả

Kamen Sharlandjiev là Kiến trúc sư cấp cao về Giải pháp dữ liệu lớn và ETL và chuyên gia AWS Glue. Anh ấy đang thực hiện sứ mệnh giúp cuộc sống của những khách hàng đang phải đối mặt với những thách thức tích hợp dữ liệu phức tạp trở nên dễ dàng hơn. Vũ khí bí mật của anh ấy? Các dịch vụ AWS mã thấp, được quản lý toàn phần có thể hoàn thành công việc với nỗ lực tối thiểu và không cần mã hóa. Theo dõi Kamen trên LinkedIn để cập nhật tin tức mới nhất về AWS Glue!

Sean Bjurstrom là Người quản lý tài khoản kỹ thuật trong các tài khoản ISV tại Amazon Web Services, nơi anh ấy chuyên về công nghệ phân tích và dựa trên nền tảng tư vấn của mình để hỗ trợ khách hàng về hành trình phân tích và đám mây của họ. Sean đam mê giúp các doanh nghiệp khai thác sức mạnh của dữ liệu để thúc đẩy đổi mới và tăng trưởng. Ngoài công việc, anh thích chạy bộ và đã tham gia một số cuộc chạy marathon.

Vinod Jayendra là Trưởng nhóm hỗ trợ doanh nghiệp trong các tài khoản ISV tại Amazon Web Services, nơi anh giúp khách hàng giải quyết các thách thức về kiến ​​trúc, vận hành và tối ưu hóa chi phí. Với sự tập trung đặc biệt vào công nghệ không có máy chủ, anh đã rút ra kinh nghiệm sâu rộng về phát triển ứng dụng để giúp khách hàng xây dựng các giải pháp hàng đầu. Ngoài công việc, anh tìm thấy niềm vui trong khoảng thời gian quý giá dành cho gia đình, tham gia các cuộc phiêu lưu bằng xe đạp và huấn luyện các đội thể thao trẻ.

Doug Mbaya là kiến ​​trúc sư Giải pháp đối tác cấp cao, tập trung vào phân tích và học máy. Doug hợp tác chặt chẽ với các đối tác của AWS và giúp họ tích hợp các giải pháp của mình với các giải pháp phân tích và học máy của AWS trên đám mây.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img