1

Trong bài đăng trên blog này, tôi sẽ chỉ cho bạn cách "ETL" tất cả các loại dữ liệu vào kho dữ liệu đám mây của Amazon Redshift với các thành phần dữ liệu lớn của Talend. Hãy bắt đầu với một giới thiệu ngắn về Amazon Redshift (được sao chép từ trang web):

"Amazon Redshift là [một phần của Amazon Web Services (AWS) và] một dịch vụ kho dữ liệu quy mô petabyte nhanh và mạnh, được quản lý đầy đủ trong đám mây. Với một vài cú nhấp chuột trong Bảng điều khiển quản lý AWS, khách hàng có thể khởi chạy cụm Redshift, bắt đầu với vài trăm gigabyte và nhân rộng thành petabyte trở lên, với giá dưới 1.000 USD mỗi terabyte mỗi năm.
Kho dữ liệu truyền thống đòi hỏi thời gian và nguồn lực đáng kể để quản lý, đặc biệt là cho các bộ dữ liệu lớn. Ngoài ra, chi phí tài chính liên quan đến việc xây dựng, bảo trì, và phát triển kho dữ liệu tại chỗ tự quản lý rất cao. Amazon Redshift không chỉ làm giảm đáng kể chi phí của kho dữ liệu mà còn giúp bạn dễ dàng phân tích lượng lớn dữ liệu rất nhanh.

Nghe có vẻ thú vị! Và thực tế, chúng ta đã thấy các công ty sử dụng các kết nối Redshift của Talend. Từ quan điểm Talend, nó không chỉ là một cơ sở dữ liệu khác. Nếu bạn đã từng sử dụng trình kết nối Talend, bạn có thể tích hợp với Redshift trong vài phút. Trong các phần tiếp theo, tôi sẽ mô tả tất cả các bước cần thiết và đưa ra một số gợi ý về các vấn đề cấu hình và cải thiện hiệu suất.

Lưu ý: Bạn cần Talend Open Studio để tích hợp dữ liệu (Giấy phép Apache, mã nguồn mở) hoặc bất kỳ Phiên bản / nền tảng Talend Enterprise nào có chứa các thành phần Đám mây để xem và sử dụng các trình kết nối Amazon Redshift. Phiên bản nguồn mở cung cấp tất cả các trình kết nối và chức năng để tích hợp với Amazon Redshift. Tuy nhiên, phiên bản Enterprise cung cấp thêm một số tính năng (ví dụ: phiên bản), tiện nghi (ví dụ: trình hướng dẫn) và hỗ trợ thương mại.

Thiết lập Amazon Redshift

Thiết lập Amazon Redshift rất dễ dàng. Chỉ cần làm theo hướng dẫn bắt đầu của Amazon: http://docs.aws.amazon.com/redshift/latest/gsg/welcome.html . Giống như mọi hướng dẫn AWS khác, nó rất dễ hiểu và dễ sử dụng.

Xin lưu ý rằng bạn chỉ cần thực hiện bước 1, 2 và 3 của hướng dẫn bắt đầu để sử dụng nó với Talend. Một số gợi ý:
- Bước 1 (trước khi bạn bắt đầu sử dụng): Chỉ cần đăng ký. Các công cụ và trình điều khiển máy khách không cần thiết vì chúng đã được cài đặt trong Talend Studio.
- Bước 2 („khởi chạy cụm cụm): Có, vui lòng bắt đầu cụm của bạn!
- Bước 3 (ủy quyền truy cập vào): Nếu bạn không chắc chắn phải làm gì ở đây, hãy chọn Loại kết nối = CIDR / IP. Tìm địa chỉ IP của bạn ( http://whatismyipaddress.com ) và nhập địa chỉ với „/ 32 vào cuối. Ví dụ: „192.168.1.1 / 32

Bây giờ bạn có thể kết nối với Amazon Redshift từ Talend Studio trên máy tính cục bộ của bạn. Bước 4 (kết nối) và bước 5 (tạo bảng, dữ liệu, truy vấn) là không cần thiết, điều này sẽ được thực hiện từ Talend Studio.

Tất nhiên, bạn không nên quên xóa cụm của mình (bước 7) khi bạn hoàn thành. Nếu không, bạn sẽ trả tiền cho mỗi giờ, ngay cả khi bạn không truy cập DWH của mình.

Kết nối với Amazon Redshift từ Talend Studio

Tạo kết nối mới với cơ sở dữ liệu Amazon Redshift như bạn làm với mọi cơ sở dữ liệu quan hệ khác. Cách dễ nhất là sử dụng Wizard DB Connection Wizard trong siêu dữ liệu. Chỉ cần nhập thông tin kết nối của bạn và kiểm tra nếu nó hoạt động. Bạn nhận được tất cả thông tin về cấu hình từ Amazon Web Console. Chuỗi kết nối trông giống như thế này:

Jdbc: paraccel: //talend-demo-cluster.cp8t6c5.eu-west-1.redshift.amazonaws.com: 5439 / dev

Tiếp theo, nhấp chuột phải vào kết nối đã tạo và chọn „truy xuất lược đồ. “Công khai là lược đồ mặc định mà bạn (phải) sử dụng. Bây giờ, bạn đã sẵn sàng sử dụng kết nối này trong Talend Jobs để viết cho Amazon Redshift và đọc từ nó.

Tạo công việc Talend (Viết, đọc, xóa)

Các thành phần Amazon Redshift hoạt động giống như bất kỳ thành phần cơ sở dữ liệu Talend (quan hệ) nào khác. Hãy xem www.help.talend.com để biết thêm thông tin nếu bạn chưa sử dụng chúng trước đây (hoặc chỉ dùng thử, chúng rất tự giải thích).

Bạn chỉ cần kéo và thả kết nối của mình từ siêu dữ liệu. Sau đó, bạn có thể dễ dàng ghi dữ liệu (tRedShiftOutput), đọc dữ liệu (tRedshiftInput) hoặc thực hiện bất kỳ truy vấn nào khác như xóa hoặc sao chép (tRedShiftRow). Trong công việc sau, tôi bắt đầu với việc xóa tất cả nội dung trong bảng Amazon Redshift. Sau đó, tôi đọc dữ liệu từ một bảng MySQL và chèn nó vào bảng Amazon Redshift. Bảng được tạo tự động (như tôi đã cấu hình theo cách này). Sau khi subjob này kết thúc, tôi đọc lại dữ liệu và lưu nó vào tệp CSV (cũng được tạo tự động). Tất nhiên, đây không phải là trường hợp sử dụng kinh doanh, nhưng nó cho thấy cách sử dụng các thành phần Amazon Redshift khác nhau.

Dữ liệu truy vấn từ Amazon Redshift

Bạn có thể kết nối với Amazon Redshift trực tiếp từ Talend Studio để khám phá và truy vấn dữ liệu của DWH. Vì vậy, không có công cụ cơ sở dữ liệu khác được yêu cầu. Chỉ cần nhấp chuột phải vào kết nối Amazon Redshift của bạn trong siêu dữ liệu và chọn chỉnh sửa truy vấn. Tại đây bạn có thể định nghĩa, thực thi và lưu các truy vấn SQL.

Cải thiện hiệu quả làm việc

Hiệu suất ghi của Amazon Redshift tương đối thấp so với databases cơ sở dữ liệu quan hệ cổ điển (trong trung tâm dữ liệu của bạn) khi bạn phải tải tất cả dữ liệu lên đám mây. Các lựa chọn thay thế khác nhau tồn tại để cải thiện hiệu suất:

- Chèn hàng loạt: insert Chèn chèn mở rộng (trong cài đặt nâng cao) cải thiện hiệu suất rất nhiều, nhưng vẫn không quá cường điệu. Ngoài ra, vì nó là số lượng lớn, bạn chỉ có thể thực hiện chèn! Nó không tương thích với từ chối ăn hoặc “cập nhật

- Lệnh AWS S3 và COPY: S3 là dịch vụ lưu trữ đơn giản của Amazon, một kho lưu trữ khóa-giá trị - còn được gọi là NoQuery ngày nay - để lưu trữ các đối tượng rất lớn. Bạn có thể sử dụng lệnh COPY của Amazon Redshift ( http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html ) để chuyển dữ liệu từ S3 sang Amazon Redshift với hiệu suất tốt. Mặc dù vậy, bạn vẫn phải sao chép dữ liệu sang S3 trước đó, cùng một vấn đề về đám mây ở đây. Lệnh COPY có thể được sử dụng với tRedshiftRow, do đó không có vấn đề gì từ quan điểm Talend. Để truyền dữ liệu sang S3, bạn có thể sử dụng các thành phần Talend S3 từ Talendforge, cộng đồng nguồn mở của Talend ( http://www.talendforge.org/exchange) hoặc sử dụng lạc đà-s3, một thành phần Lạc đà Apache được bao gồm trong Talend ESB. Cái sau là một tùy chọn, nếu bạn sử dụng Dịch vụ dữ liệu Talend kết hợp Talend DI và Talend ESB trong nền tảng hợp nhất của nó.

Tóm lược

Bạn không cần phải là chuyên gia về đám mây hoặc DWH hoặc nhà phát triển chuyên gia để tích hợp với kho dữ liệu đám mây Redshift của Amazon. Rất dễ dàng với các giải pháp tích hợp của Talend. Chỉ cần kéo và thả, định cấu hình, thực hiện một số ánh xạ / biến đổi đồ họa (nếu cần), đó là nó. Mã được tạo ra. Công việc chạy. Bạn có thể tích hợp Amazon Redshift gần như đơn giản như bất kỳ cơ sở dữ liệu quan hệ nào khác. Chỉ cần lưu ý về một số vấn đề bảo mật và hiệu suất cụ thể của đám mây. Với Talend, bạn có thể dễ dàng „ETL Đổi tất cả dữ liệu từ các nguồn khác nhau sang Redshift và lưu trữ ở đó với giá dưới 1.000 đô la mỗi terabyte mỗi năm - ngay cả với phiên bản nguồn mở!

Trân trọng,
Kai Wähner
(Liên hệ và phản hồi qua @KaiWaehner, www.kai-waehner.de, LinkedIn / Xing)

Đây là nội dung từ blog của tôi:
http://www.kai-waehner.de/blog/2013/06/26/integration-of-amazon-redshift-cloud-data-warehouse-aws-saas-dwh-with-talend -data-integration-di-big-data-bd-Enterprise-service-bus-esb /

|