Talend - ระบบไฟล์แบบกระจาย Hadoop
ในบทนี้ให้เราเรียนรู้โดยละเอียดเกี่ยวกับการทำงานของ Talend กับระบบไฟล์แบบกระจาย Hadoop
การตั้งค่าและข้อกำหนดเบื้องต้น
ก่อนที่เราจะดำเนินการต่อใน Talend ด้วย HDFS เราควรเรียนรู้เกี่ยวกับการตั้งค่าและข้อกำหนดเบื้องต้นที่ควรเป็นไปตามวัตถุประสงค์นี้
ที่นี่เรากำลังเรียกใช้ Cloudera quickstart 5.10 VM บน virtual box ต้องใช้เครือข่ายโฮสต์เท่านั้นใน VM นี้
IP เฉพาะเครือข่ายโฮสต์: 192.168.56.101
คุณต้องมีโฮสต์เดียวกันที่ทำงานบน cloudera manager ด้วย
ตอนนี้บนระบบ windows ของคุณไปที่ c: \ Windows \ System32 \ Drivers \ etc \ hosts และแก้ไขไฟล์นี้โดยใช้ Notepad ดังที่แสดงด้านล่าง
ในทำนองเดียวกันบน VM ของ cloudera quickstart ให้แก้ไขไฟล์ / etc / hosts ตามที่แสดงด้านล่าง
sudo gedit /etc/hosts
การตั้งค่าการเชื่อมต่อ Hadoop
ในแผงที่เก็บไปที่ข้อมูลเมตา คลิกขวาที่ Hadoop Cluster และสร้างคลัสเตอร์ใหม่ ตั้งชื่อวัตถุประสงค์และคำอธิบายสำหรับการเชื่อมต่อคลัสเตอร์ Hadoop นี้
คลิกถัดไป
เลือกการกระจายเป็น cloudera และเลือกเวอร์ชันที่คุณใช้ เลือกตัวเลือกการดึงข้อมูลการกำหนดค่าแล้วคลิกถัดไป
ป้อนข้อมูลรับรองผู้จัดการ (URI พร้อมพอร์ตชื่อผู้ใช้รหัสผ่าน) ดังที่แสดงด้านล่างแล้วคลิกเชื่อมต่อ หากรายละเอียดถูกต้องคุณจะได้รับ Cloudera QuickStart ภายใต้คลัสเตอร์ที่ค้นพบ
คลิกดึงข้อมูล สิ่งนี้จะดึงการเชื่อมต่อและการกำหนดค่าทั้งหมดสำหรับ HDFS, YARN, HBASE, HIVE
เลือกทั้งหมดแล้วคลิกเสร็จสิ้น
โปรดทราบว่าพารามิเตอร์การเชื่อมต่อทั้งหมดจะถูกเติมอัตโนมัติ พูดถึง cloudera ในชื่อผู้ใช้แล้วคลิก Finish
ด้วยวิธีนี้คุณได้เชื่อมต่อกับ Hadoop Cluster เรียบร้อยแล้ว
กำลังเชื่อมต่อกับ HDFS
ในงานนี้เราจะแสดงรายการไดเรกทอรีและไฟล์ทั้งหมดที่มีอยู่ใน HDFS
ประการแรกเราจะสร้างงานจากนั้นเพิ่มส่วนประกอบ HDFS เข้าไป คลิกขวาที่ Job Design และสร้างงานใหม่ - hadoopjob
ตอนนี้เพิ่ม 2 ส่วนประกอบจากจานสี - tHDFSConnection และ tHDFSList คลิกขวาที่ tHDFSConnection และเชื่อมต่อ 2 องค์ประกอบนี้โดยใช้ทริกเกอร์ 'OnSubJobOk'
ตอนนี้กำหนดค่าทั้งส่วนประกอบ hdfs ของ talend
ใน tHDFSConnection ให้เลือก Repository เป็น Property Type และเลือกคลัสเตอร์ Hadoop cloudera ที่คุณสร้างไว้ก่อนหน้านี้ โดยอัตโนมัติจะกรอกรายละเอียดที่จำเป็นทั้งหมดที่จำเป็นสำหรับส่วนประกอบนี้
ใน tHDFSList ให้เลือก“ ใช้การเชื่อมต่อที่มีอยู่” และในรายการส่วนประกอบให้เลือก tHDFSConnection ที่คุณกำหนดค่าไว้
ให้ตัวเลือกโฮมพา ธ ของ HDFS ใน HDFS Directory แล้วคลิกปุ่มเรียกดูทางด้านขวา
หากคุณสร้างการเชื่อมต่ออย่างถูกต้องด้วยการกำหนดค่าดังกล่าวข้างต้นคุณจะเห็นหน้าต่างดังที่แสดงด้านล่าง มันจะแสดงรายการไดเรกทอรีและไฟล์ทั้งหมดที่มีอยู่ในบ้าน HDFS
คุณสามารถตรวจสอบได้โดยตรวจสอบ HDFS ของคุณบน cloudera
กำลังอ่านไฟล์จาก HDFS
ในส่วนนี้ให้เราเข้าใจวิธีอ่านไฟล์จาก HDFS ใน Talend คุณสามารถสร้างงานใหม่เพื่อจุดประสงค์นี้อย่างไรก็ตามเรากำลังใช้งานที่มีอยู่ที่นี่
ลากและวางองค์ประกอบ 3 - tHDFSConnection, tHDFSInput และ tLogRow จากจานสีไปยังหน้าต่างนักออกแบบ
คลิกขวาที่ tHDFSConnection และเชื่อมต่อคอมโพเนนต์ tHDFSInput โดยใช้ทริกเกอร์ 'OnSubJobOk'
คลิกขวาที่ tHDFSInput และลากลิงค์หลักไปที่ tLogRow
โปรดทราบว่า tHDFSConnection จะมีการกำหนดค่าที่คล้ายกับก่อนหน้านี้ ใน tHDFSInput เลือก“ ใช้การเชื่อมต่อที่มีอยู่” และจากรายการส่วนประกอบเลือก tHDFSConnection
ในชื่อไฟล์ให้ระบุพา ธ HDFS ของไฟล์ที่คุณต้องการอ่าน ที่นี่เรากำลังอ่านไฟล์ข้อความธรรมดาดังนั้นประเภทไฟล์ของเราคือไฟล์ข้อความ ในทำนองเดียวกันขึ้นอยู่กับข้อมูลที่คุณป้อนให้กรอกตัวคั่นแถวตัวคั่นฟิลด์และรายละเอียดส่วนหัวตามที่ระบุไว้ด้านล่าง สุดท้ายคลิกปุ่มแก้ไขสคีมา
เนื่องจากไฟล์ของเรามีเพียงข้อความธรรมดาเราจึงเพิ่มประเภท String เพียงคอลัมน์เดียว ตอนนี้คลิกตกลง
Note - เมื่อข้อมูลที่คุณป้อนมีหลายคอลัมน์ประเภทต่างๆคุณต้องพูดถึงสคีมาที่นี่ตามนั้น
ในคอมโพเนนต์ tLogRow คลิกซิงค์คอลัมน์ในแก้ไขสคีมา
เลือกโหมดที่คุณต้องการให้พิมพ์ผลงานของคุณ
สุดท้ายคลิกเรียกใช้เพื่อดำเนินการงาน
เมื่อคุณอ่านไฟล์ HDFS สำเร็จแล้วคุณจะเห็นผลลัพธ์ต่อไปนี้
การเขียนไฟล์เป็น HDFS
มาดูวิธีการเขียนไฟล์จาก HDFS ใน Talend ลากและวางองค์ประกอบ 3 - tHDFSConnection, tFileInputDelimited และ tHDFSOutput จากหน้าต่างจานสีไปยังตัวออกแบบ
คลิกขวาที่ tHDFSConnection และเชื่อมต่อคอมโพเนนต์ tFileInputDelimited โดยใช้ทริกเกอร์ 'OnSubJobOk'
คลิกขวาที่ tFileInputDelimited แล้วลากลิงค์หลักไปที่ tHDFSOutput
โปรดทราบว่า tHDFSConnection จะมีการกำหนดค่าที่คล้ายกับก่อนหน้านี้
ตอนนี้ใน tFileInputDelimited ให้เส้นทางของไฟล์อินพุตในตัวเลือกชื่อไฟล์ / สตรีม ที่นี่เรากำลังใช้ไฟล์ csv เป็นอินพุตดังนั้นตัวคั่นฟิลด์คือ“,”
เลือกส่วนหัวส่วนท้าย จำกัด ตามไฟล์อินพุตของคุณ โปรดทราบว่าที่นี่ส่วนหัวของเราคือ 1 เนื่องจาก 1 แถวมีชื่อคอลัมน์และขีด จำกัด คือ 3 เนื่องจากเราเขียนเพียง 3 แถวแรกไปยัง HDFS
ตอนนี้คลิกแก้ไขสคีมา
ตอนนี้ตามไฟล์อินพุตของเรากำหนดสคีมา ไฟล์อินพุตของเรามี 3 คอลัมน์ตามที่ระบุไว้ด้านล่าง
ในคอมโพเนนต์ tHDFSOutput คลิกซิงค์คอลัมน์ จากนั้นเลือก tHDFSConnection ในใช้การเชื่อมต่อที่มีอยู่ นอกจากนี้ในชื่อไฟล์ให้ระบุเส้นทาง HDFS ที่คุณต้องการเขียนไฟล์ของคุณ
โปรดทราบว่าประเภทไฟล์จะเป็นไฟล์ข้อความการดำเนินการจะเป็น "สร้าง" ตัวคั่นแถวจะเป็น "\ n" และตัวคั่นช่องคือ ";"
สุดท้ายคลิกเรียกใช้เพื่อดำเนินการงานของคุณ เมื่องานดำเนินการสำเร็จแล้วให้ตรวจสอบว่าไฟล์ของคุณอยู่ใน HDFS หรือไม่
รันคำสั่ง hdfs ต่อไปนี้ด้วยพา ธ เอาต์พุตที่คุณกล่าวถึงในงานของคุณ
hdfs dfs -cat /input/talendwrite
คุณจะเห็นผลลัพธ์ต่อไปนี้หากคุณประสบความสำเร็จในการเขียนบน HDFS