Talend - Hệ thống tệp phân tán Hadoop
Trong chương này, chúng ta hãy tìm hiểu chi tiết về cách Talend hoạt động với hệ thống tệp phân tán Hadoop.
Cài đặt và điều kiện tiên quyết
Trước khi tiến hành Talend với HDFS, chúng ta nên tìm hiểu về các cài đặt và điều kiện tiên quyết cần được đáp ứng cho mục đích này.
Ở đây chúng tôi đang chạy Cloudera quickstart 5.10 VM trên hộp ảo. Mạng chỉ dành cho máy chủ phải được sử dụng trong máy ảo này.
IP mạng chỉ dành cho máy chủ: 192.168.56.101
Bạn cũng phải có cùng một máy chủ chạy trên trình quản lý cloudera.
Bây giờ trên hệ thống windows của bạn, hãy truy cập c: \ Windows \ System32 \ Drivers \ etc \ hosts và chỉnh sửa tệp này bằng Notepad như hình dưới đây.
Tương tự, trên máy ảo khởi động nhanh cloudera của bạn, hãy chỉnh sửa tệp / etc / hosts của bạn như được hiển thị bên dưới.
sudo gedit /etc/hosts
Thiết lập kết nối Hadoop
Trong bảng kho lưu trữ, đi tới Siêu dữ liệu. Nhấp chuột phải vào Hadoop Cluster và tạo một cụm mới. Cung cấp tên, mục đích và mô tả cho kết nối cụm Hadoop này.
Bấm tiếp.
Chọn bản phân phối dưới dạng cloudera và chọn phiên bản bạn đang sử dụng. Chọn tùy chọn cấu hình truy xuất và nhấp vào Tiếp theo.
Nhập thông tin đăng nhập của người quản lý (URI với cổng, tên người dùng, mật khẩu) như hình dưới đây và nhấp vào Kết nối. Nếu các chi tiết là chính xác, bạn sẽ nhận được Cloudera QuickStart dưới các cụm được phát hiện.
Nhấp vào Tìm nạp. Thao tác này sẽ tìm nạp tất cả các kết nối và cấu hình cho HDFS, YARN, HBASE, HIVE.
Chọn Tất cả và nhấp vào Hoàn tất.
Lưu ý rằng tất cả các thông số kết nối sẽ được tự động điền. Đề cập đến cloudera trong tên người dùng và nhấp vào Hoàn tất.
Với điều này, bạn đã kết nối thành công với Cụm Hadoop.
Kết nối với HDFS
Trong công việc này, chúng tôi sẽ liệt kê tất cả các thư mục và tệp có trên HDFS.
Đầu tiên, chúng ta sẽ tạo một công việc và sau đó thêm các thành phần HDFS vào nó. Nhấp chuột phải vào Thiết kế Công việc và tạo một công việc mới - hadoopjob.
Bây giờ thêm 2 thành phần từ bảng màu - tHDFSConnection và tHDFSList. Nhấp chuột phải vào tHDFSConnection và kết nối 2 thành phần này bằng trình kích hoạt 'OnSubJobOk'.
Bây giờ, hãy cấu hình cả hai thành phần talend hdfs.
Trong tHDFSConnection, chọn Kho lưu trữ làm Loại Thuộc tính và chọn cụm Hadoop cloudera mà bạn đã tạo trước đó. Nó sẽ tự động điền tất cả các chi tiết cần thiết cần thiết cho thành phần này.
Trong tHDFSList, chọn “Sử dụng kết nối hiện có” và trong danh sách thành phần, chọn tHDFSConnection mà bạn đã định cấu hình.
Cung cấp đường dẫn trang chủ của HDFS trong tùy chọn HDFS Directory và nhấp vào nút duyệt ở bên phải.
Nếu bạn đã thiết lập kết nối đúng với các cấu hình nêu trên, bạn sẽ thấy một cửa sổ như hình dưới đây. Nó sẽ liệt kê tất cả các thư mục và tệp có trên trang chủ HDFS.
Bạn có thể xác minh điều này bằng cách kiểm tra HDFS của mình trên cloudera.
Đọc tệp từ HDFS
Trong phần này, hãy để chúng tôi hiểu cách đọc tệp từ HDFS trong Talend. Bạn có thể tạo một công việc mới cho mục đích này, tuy nhiên ở đây chúng tôi đang sử dụng công việc hiện có.
Kéo và thả 3 thành phần - tHDFSConnection, tHDFSInput và tLogRow từ bảng màu đến cửa sổ trình thiết kế.
Nhấp chuột phải vào tHDFSConnection và kết nối thành phần tHDFSInput bằng cách sử dụng trình kích hoạt 'OnSubJobOk'.
Nhấp chuột phải vào tHDFSInput và kéo một liên kết chính đến tLogRow.
Lưu ý rằng tHDFSConnection sẽ có cấu hình tương tự như trước đó. Trong tHDFSInput, chọn “Sử dụng kết nối hiện có” và từ danh sách thành phần, chọn tHDFSConnection.
Trong Tên tệp, cung cấp đường dẫn HDFS của tệp bạn muốn đọc. Ở đây chúng ta đang đọc một tệp văn bản đơn giản, vì vậy Loại Tệp của chúng ta là Tệp Văn bản. Tương tự, tùy thuộc vào thông tin đầu vào của bạn, hãy điền vào các chi tiết phân tách hàng, phân tách trường và tiêu đề như được đề cập bên dưới. Cuối cùng, nhấp vào nút Chỉnh sửa lược đồ.
Vì tệp của chúng tôi chỉ có văn bản thuần túy, chúng tôi chỉ thêm một cột kiểu Chuỗi. Bây giờ, hãy nhấp vào Ok.
Note - Khi đầu vào của bạn có nhiều cột thuộc các loại khác nhau, bạn cần phải đề cập đến lược đồ ở đây cho phù hợp.
Trong thành phần tLogRow, nhấp vào Đồng bộ hóa cột trong chỉnh sửa giản đồ.
Chọn chế độ mà bạn muốn in đầu ra của mình.
Cuối cùng, nhấn Run để thực thi công việc.
Khi bạn đã đọc thành công tệp HDFS, bạn có thể thấy kết quả sau.
Ghi tệp sang HDFS
Hãy xem làm thế nào để viết một tệp từ HDFS trong Talend. Kéo và thả 3 thành phần - tHDFSConnection, tFileInputDelimited và tHDFSOutput từ bảng màu đến cửa sổ trình thiết kế.
Nhấp chuột phải vào tHDFSConnection và kết nối thành phần tFileInputDelimited bằng cách sử dụng trình kích hoạt 'OnSubJobOk'.
Nhấp chuột phải vào tFileInputDelimited và kéo một liên kết chính đến tHDFSOutput.
Lưu ý rằng tHDFSConnection sẽ có cấu hình tương tự như trước đó.
Bây giờ, trong tFileInputDelimited, cung cấp đường dẫn của tệp đầu vào trong tùy chọn Tên tệp / Luồng. Ở đây chúng tôi đang sử dụng tệp csv làm đầu vào, do đó dấu phân tách trường là “,”.
Chọn đầu trang, chân trang, giới hạn theo tệp đầu vào của bạn. Lưu ý rằng ở đây tiêu đề của chúng ta là 1 vì hàng 1 chứa tên cột và giới hạn là 3 vì chúng ta chỉ ghi 3 hàng đầu tiên vào HDFS.
Bây giờ, hãy nhấp vào chỉnh sửa lược đồ.
Bây giờ, theo tệp đầu vào của chúng tôi, hãy xác định lược đồ. Tệp đầu vào của chúng tôi có 3 cột như được đề cập bên dưới.
Trong thành phần tHDFSOutput, bấm vào cột đồng bộ. Sau đó, chọn tHDFSConnection trong Sử dụng kết nối hiện có. Ngoài ra, trong Tên tệp, cung cấp đường dẫn HDFS nơi bạn muốn ghi tệp của mình.
Lưu ý rằng loại tệp sẽ là tệp văn bản, Hành động sẽ là “tạo”, dấu phân tách hàng sẽ là “\ n” và dấu phân cách trường là “;”
Cuối cùng, nhấn Run để thực hiện công việc của bạn. Khi công việc đã thực thi thành công, hãy kiểm tra xem tệp của bạn có trên HDFS hay không.
Chạy lệnh hdfs sau với đường dẫn đầu ra mà bạn đã đề cập trong công việc của mình.
hdfs dfs -cat /input/talendwrite
Bạn sẽ thấy kết quả sau nếu bạn ghi thành công trên HDFS.