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