Apache NiFi : ตัวอย่างการนำข้อมูลจาก SFTP –> SQL Server

เนื่องจากผมมีงานชิ้นหนึ่งที่ต้องนำข้อมูลจาก Cloud โหลดเข้าฐานข้อมูลระบบ SQL Server ภายในบริษัททุกวัน จึงได้ลองค้นหาเครื่องมือจากใน Google ก็พบอยู่ระบบหนึ่งที่น่าสนใจชื่อ Apache NiFi ซึ่งเป็นระบบแบบ Open Source ที่เราสามารถนำมาใช้งานได้ฟรี แต่ต้องเรียนรู้เอง ซึ่งเอกสารภาษาไทยแทบไม่มีเลยครับ หลังจากที่ลองทดสอบใช้งานมาพักหนึ่งพบว่าเครื่องมือนี้สามารถทำงานได้ดีมาก ครั้งนี้จึงอยากจะแชร์วิธีการใช้งาน Apache NiFi แบบง่ายๆ ตามที่ได้ลองทดสอบครับ สำหรับเป็นข้อมูลให้กับผู้ที่กำลังมองหาเครื่องมือในลักษณะเดียวกันครับ

เริ่มต้นขอเล่าไอเดียก่อนนะครับ เริ่มจากการตั้งค่าให้ระบบ Cloud วางไฟล์ข้อมูลนามสกุล .CSV ลงใน SFTP Server ก่อน จากนั้นให้ระบบ Apache NiFi ทำการอ่านไฟล์จาก SFTP แล้วนำข้อมูลจากไฟล์นั้นมาประมวลผล Data Processing จากนั้นก็ทำการ Load เข้าฐานข้อมูล SQL Server ก็เป็นอันจบกระบวนครับ ฟังดูเหมือนจะง่ายไม่ซับซ้อน แต่หากขาดเครื่องมือที่ดีในการทำ ก็อาจจะใช้เวลานานพอสมควร เพื่อไม่ให้เสียเวลาผมจะขออธิบายวิธีการตั้งค่าให้ได้ตามไอเดียข้างต้นทีละ step ดังต่อไปนี้

สร้าง NiFi Processor ชื่อ GetSFTP จากนั้นระบุ Properties ของ SFTP ที่เราจะอ่านไฟล์ข้อมูล ตัวอย่างตามรูป

สร้าง NiFi Processor ชื่อ UpdateAttribute สำหรับสร้างตัวแปร 3 ตัว คือ current_date, data_date, table_name เพื่อใช้ใน Data Flow โดยเขียนด้วยภาษา Apache NiFi Expression ดังตัวอย่างตามรูปด้านล่างครับ

สร้าง NiFi Processor ชื่อ RouteOnAttribute สำหรับเพื่อกรองข้อมูลโดยใช้ตัวแปร current_date เทียบกับ data_date ถ้าเทียบแล้วน้อยกว่าหรือเท่ากับให้ไปต่อได้

สร้าง NiFi Processor ชื่อ Execute Script สำหรับเอาข้อมูลจากไฟล์ .csv มาจัดเป็นชุด SQL Query เพื่อนำเข้า SQL Server โดยใน Execute Script สามารถเขียนได้หลายภาษา ผมเลือกภาษา Python ในการเขียนครั้งนี้ สำหรับ Source Code ที่เขียนก็ตามด้านล่างนี้นะครับ

สร้าง NiFi Processor ชื่อ putSQL สำหรับส่ง SQL Query ที่ได้จัดเตรียมในตอน Execute Script เข้าไปประมวลผลใน SQL Server ซึ่งก่อน putSQL จะทำงานได้ เราต้องตั้งค่า JDBC Connection Pool ให้ Apache NiFi สามารถเชื่อต่อกับ SQL Server ให้เรียบร้อยก่อนครับ จากนั้นก็เพียงแค่เลือก JDBC Connection Pool ที่ต้องการมาใช้งาน

ขั้นตอนสุดท้ายสำหรับให้ระบบส่งเมลหาเมื่อมีเหตุการณ์ผิดปกติ วิธีการคือสร้าง NiFi Processor ชื่อ putEmail และทำการตั้งค่าเกี่ยวกับ SMTP Server ให้เรียบร้อย จากนั้นเมื่อต่อการให้ Apche NiFi ส่งเมลหาเราจังหวะไหน ก็เพียงแค่ลากเส้น Connection จาก NiFi Processor กล่องอื่นเข้ามาพร้อมระบุเหตุการณ์ที่ต้งการ ในโปรเจคนี้ผมสนใจเหตุการณ์ failure ของ Execute Script และ putSQL

เมื่อตั้งค่าเสร็จเรียบร้อย เราเพียงแค่ลากสาย Connection จาก NiFi Processor แต่ละกล่องให้เชื่อมกันเป็นสายพร้อมกด Run เพื่อให้ Apache NiFi ทำงาน ก็เป็นอันจบขั้นตอนกระบวนการของการทำ Data Flow ในโปรเจคง่ายๆ ของผม ซึ่งหลังจากที่ได้ใช้งาน Apache NiFi มาพักหนึ่ง รู้สึกประทับใจในเครื่องมือนี้มาก ภายในยังมีฟีเจอร์ที่เด่นๆ อีกมากมายที่ผมไม่ได้เขียนในบทความนี้ เช่น การทำ Data Provenance หรือการดู Data Change ในทุกขั้นตอน และระบบมีการบันทึก log ที่ละเอียดมาก ผมหวังว่าบทความนี้จะเป็นประโยชน์สำหรับคนที่กำลังมองหาเครื่องมือ ETL ที่ดีแถมใช้งานได้ฟรีครับ

Related Posts

สล็อตเว็บใหญ่

สล็อตเว็บใหญ่ตัวจริงของวงการที่คุณห้ามพลาด

เมื่อตัดสินใจจะเข้าสู่วงการของเดิมพันออนไลน์ด้วยการเลือกเล่นเกมสล็อตแล้วสิ่งที่คุณจะต้องเลือก ให้ดีเป็นอันดับแรกเลยก็คือตัดสินใจสมัครเป็นสมาชิกกับสล็อตเว็บใหญ่เท่านั้น เพราะเว็บเดิมพันที่มาพร้อมกับคุณภาพและเรียกได้ว่าเป็นเว็บใหญ่นั้นจะสามารถมอบกำไร พร้อมทั้งความปลอดภัยให้กับคุณได้เป็นอย่างดี ซึ่งความปลอดภัยนั้นถือว่าเป็นสิ่งที่จะขาดไม่ได้เลยในวงการของการเล่นเดิมพันออนไลน์ เนื่องจากในปัจจุบันมีกลุ่มมิจฉาชีพและมีกลโกงเยอะ ดังนั้นการเลือกเว็บที่มีคุณภาพเพื่อสมัครเป็นสมาชิกและเริ่มลงทุนตั้งแต่แรกย่อมจะทำให้คุณอยู่ในวงการได้อย่างสบายใจ พร้อมทั้งยังสามารถหากำไรเข้ากระเป๋าได้อย่างแท้จริง เมื่อเจอกับสล็อตเว็บใหญ่แล้วต้องทำอย่างไรต่อ ถ้าคุณพอจะทราบหลักการของการเลือกสล็อตเว็บใหญ่กันดีอยู่แล้วว่าต้องเลือกเว็บเดิมพันที่เป็นเว็บตรง มาพร้อมกับระบบการฝากถอนแบบอัตโนมัติ มีโปรโมชั่นที่ช่วยเพิ่มความคุ้มค่า แน่นอนว่าจากที่กล่าวมานั้น overseasvote2004 ตอบโจทย์คุณอย่างแน่นนอน และที่สำคัญที่สุดก็คือมาพร้อมกับค่ายเกมและเกมสล็อตให้คุณได้เลือกอย่างจุใจ เมื่อคุณได้เจอกับพื้นฐานของเว็บเดิมพันที่มีคุณภาพเหล่านี้อย่างครบครันแล้วสิ่งที่คุณควรดำเนินการต่อไปหลังจากที่เจอเว็บเหล่านี้จะเป็นขั้นตอนไหนวันนี้เราได้รวบรวมเทคนิคมาฝากคุณกันเป็นที่เรียบร้อยแล้ว สิ่งแรกที่คุณจะต้องเริ่มทำในทันทีเลยก็คือการสมัครเข้าไปเป็นสมาชิกและตรวจสอบดูให้ดีว่าการสมัครสมาชิกของคุณนั้นสามารถตอบรับกับโปรโมชั่นไหนของเว็บเดิมพันใดบ้าง ซึ่งส่วนใหญ่การเข้าไปเป็นสมาชิกใหม่มักจะมีโปรโมชั่นต้อนรับที่จะเพิ่มความคุ้มค่าให้กับการฝากเงินครั้งแรกของคุณได้เป็นอย่างดี แต่ไม่ว่าอย่างไรก็ตามคุณจำเป็นที่จะต้องศึกษาเงื่อนไขของโปรโมชั่นเหล่านั้นให้ดี เพราะในบางครั้งคุณอาจจะติดเทิร์นและไม่สามารถถอนเงินออกมาได้ถ้ายังไม่สามารถทำเป้าได้ถึงที่กำหนด จนทำให้แผนการลงทุนของคุณเสียหายได้ โดยหลังจากที่คุณทำการสมัครสมาชิกและตรวจสอบโปรโมชั่นทุกอย่างเรียบร้อยแล้วก็ถึงขั้นตอนของการหาเกมที่สามารถทำกำไรให้กับคุณได้เป็นอย่างดีเพื่อเล่น คุณจำเป็นที่จะต้องเก็บเทคนิคเพิ่มเติมเพื่อที่จะทำกำไรได้อย่างมีประสิทธิภาพ ซึ่งเราได้เตรียมเทคนิคเหล่านั้นมาแนะนำคนเป็นที่เรียบร้อยแล้ว สล็อตเว็บใหญ่เล่นอย่างไรให้ได้เงิน สิ่งที่เรากำลังจะแนะนำให้คุณได้รู้จักกันในวันนี้เรียกได้ว่าเป็นเทคนิคในระดับเซียน…

c2 xo

ลองเล่นสล็อตที่ c2 xo ด้วยเทคนิคเหล่านี้แล้วคุณจะรวย

สำหรับเว็บเดิมพันที่มีความโดดเด่นในเรื่องของเกมสล็อตอย่างเว็บไซต์ c2 xo นั้นมีเทคนิคดี ๆ มาฝากและให้คุณสามารถนำไปปรับใช้กับการเล่นสล็อตได้ ซึ่งเทคนิคเหล่านี้เป็นเทคนิคที่เราได้คัดสรรและได้เรียบเรียงมาจากเหล่าเซียนพนันทั่วฟ้าเมืองไทยแล้วว่าเป็นเทคนิคที่สามารถทำเงินจากเกมสล็อตได้จริง  โดยเทคนิคเหล่านั้นจะมีอะไรบ้างถึงเวลาแล้วที่คุณจะต้องมาเรียนรู้แล้วนำไปปรับใช้เพื่อนำกำไรเข้ากระเป๋าให้มากขึ้น ที่สำคัญเลยก็คือคุณจะได้เจอกับการบริการที่ดีพร้อมทั้งโปรโมชั่นมากมายจากเว็บนี้ เรียกได้ว่าเป็นความคุ้มค่าหลายต่อที่คุณจะได้เมื่อเข้ามาเป็นสมาชิกกับเรา เล่นสล็อตที่ c2 xo ดีกว่าที่อื่นอย่างไร ก่อนที่จะไปลงลึกถึงเรื่องเทคนิคหลายคนคงอยากจะรู้ว่าถ้าคุณตัดสินใจเข้ามาเล่นสล็อตกับทางเว็บไซต์ c2 xo ของเราคุณจะได้อะไรที่ดีกว่าการเล่นกับอื่น ๆ สิ่งแรกเลยก็คือเว็บเดิมพันของเรานั้นมีเกมสล็อตที่คัดมาแล้วว่าเป็นเกมที่สามารถทำกำไรได้เป็นอย่างดี เพียงแต่ว่าการเล่นของคุณจะตรงกับสไตล์ของเกมไหนก็จะเป็นสิทธิ์ของคุณที่จะเลือกเกมที่ใช่ แต่รับประกันได้เลยว่าไม่ว่าความชอบในการเล่นสล็อตของคุณจะเป็นแบบไหนที่นี่จะมีเกมรองรับและเตรียมเอาไว้พร้อมสำหรับคุณ หลังจากที่คุณได้เจอกับเกมที่คุณชอบแล้วเราก็ยังมีโปรโมชั่นที่คุ้มค่าคัดสรรมาแล้วว่าเหมาะไว้เพื่อบริการให้กับคนที่เล่นสล็อตโดยเฉพาะ เนื่องจากทีมงานได้ทำการค้นคว้าหาสิ่งที่คุ้มค่าที่สุดสำหรับคุณมาแล้วนั่นเอง ที่สำคัญก็คือการบริการของเรานั้นรวดเร็วทันใจ ระบบฝากถอนมีคุณภาพ ดังนั้นเข้ามาเล่นกับเว็บของเรามั่นใจในเรื่องของความปลอดภัย…

เว็บพนันประเภทที่พบมากที่สุดคือคาสิโนออนไลน์

การพนันออนไลน์คืออะไร ความแตกต่างระหว่างการพนันออนไลน์และการพนันแบบดั้งเดิม

ในอดีต หากคุณต้องการเล่นการพนัน คุณต้องหาคาสิโนที่มีหน้าร้านแบบดั้งเดิม ตามด้วยการถือกำเนิดของอินเทอร์เน็ต การพนันออนไลน์ได้กลายเป็นที่นิยมมากขึ้น ตอนนี้มันเป็นหนึ่งในรูปแบบความบันเทิงออนไลน์ที่ได้รับความนิยมมากที่สุดที่ให้คุณผ่อนคลายหลังจากทำงานหนักมาทั้งวันและหาเงินได้ด้วย มีเว็บไซต์การพนันออนไลน์หลายแห่ง แต่ละแห่งมีเกมและตัวเลือกการเดิมพันที่หลากหลาย เว็บพนันประเภทที่พบมากที่สุดคือคาสิโนออนไลน์ ซึ่งผู้ใช้สามารถเล่นสล็อต บิงโก หรือเกมบนโต๊ะ เช่น แบล็กแจ็ก บาคาร่า รูเล็ต หากคุณไม่เคยเล่นเกมคาสิโนออนไลน์มาก่อน ตอนนี้เป็นเวลาที่ดีที่สุดที่จะลองใช้ตัวเลือกความบันเทิงนี้ เพราะมันช่วยให้คุณผ่อนคลายและได้รับเงินจำนวนมาก คุณสามารถเริ่มประสบการณ์การพนันและทดสอบโชคของคุณได้ การพนันออนไลน์ คืออะไร การพนันออนไลน์ของไทยได้กลายเป็นหนึ่งในวิธีที่สร้างสรรค์ที่สุดในการเพลิดเพลินกับเกม เช่น รูเล็ต สล็อต และบาคาร่า…

คาสิโนออนไลน์ เครดิตฟรี สล็อต เว็บตรง ไม่ผ่านเอเย่นต์

คาสิโนออนไลน์ เครดิตฟรี สล็อต เว็บตรง ไม่ผ่านเอเย่นต์

คาสิโนออนไลน์ เครดิตฟรี สล็อต เว็บตรง ไม่ผ่านเอเย่นต์ ในกรณีที่เราอยากเล่นเกมส์บาคาร่าจะได้หรือไม่ ซึ่งแน่นอนว่าได้อย่างแน่นอน เพราะเว็บสล็อตเว็บตรง มักจะมีเกมส์บาคาร่าเอาไว้ให้ร่วมสนุกด้วยเป็นปกติอยู่แล้ว อย่างไรก็ตาม ยังมีคำถามว่าหากฝากพวกที่รับปั่นบาคาร่า จะสามารถทำกำไรจนได้ถอนจริงๆ หรือไม่ บทสรุปของการรับปั่นบาคาร่า สามารถทำกำไรได้จริงหรือไม่ คาสิโนออนไลน์ เครดิตฟรี สล็อต เว็บตรง ไม่ผ่านเอเย่นต์ ตอบกันแบบฟันธงไปเลยว่า การรับปั้นบาคาร่านั้นไม่สามารถทำกำไรให้เราได้จริง เพราะกระบวนการนี้มีขึ้นเพื่อเจตนาทุจริตเราตั้งแต่ต้นอยู่แล้ว เริ่มจากบางคนมีเจตนาที่จะเอาเงินฝากของเราไปดื้อๆโดยไม่เข้าไปเดิมพันใดๆในเกมบาคาร่าเลย คาสิโนออนไลน์ เครดิตฟรี  สล็อต…

สล็อตไวกิ้ง ค่ายไหน

เทคนิคการเล่นสล็อตออนไลน์ให้ชนะ พิสูจน์มาแล้วว่าใช้ได้จริง

สล็อตเป็นเกมคาสิโนที่น่าตื่นเต้นที่สุดที่คุณสามารถหาได้ที่คาสิโนออนไลน์ allc2 คุณสามารถค้นหาสล็อตไวกิ้ง ค่ายไหนที่น่าตื่นเต้นมากมายบนเว็บไซต์การพนัน ผู้เล่นมักจะมองหาสล็อตที่ตรงกับความต้องการของตัวเอง จากนั้นก็ต้องใช้เวลาเล็กน้อยในการเรียนเกมนั้น ๆ และเลือกใช้กลยุทธ์เพื่อเพิ่มโอกาสในการชนะสล็อต ไม่ว่าคุณจะเป็นผู้เล่นที่มีประสบการณ์หรือเป็นมือใหม่ เราได้แนะนำเทคนิคการเล่นสล็อตเพื่อให้ทุกคนมีช่วงเวลาดี ๆ ในการเล่นสล็อต และโอกาสในการชนะที่มากขึ้น 7 เทคนิคการเล่นสล็อตออนไลน์ สล็อตไวกิ้ง ค่ายไหนที่นำไปใช้ได้จริง 1. เล่นสล็อตที่มีขนาดการเดิมพันสูง เพื่อให้โอกาสในการชนะรางวัลสูงขึ้น ให้ผู้เล่นพิจารณาเลือกสล็อตออนไลน์ที่มีราคาสูงกว่า เราแนะนำให้เล่นสล็อตเหล่านี้บ่อย ๆ เนื่องจากเป็นที่รู้จักว่าเป็นสล็อตที่มีโอกาสจ่ายสูงที่สุด โดยปกติแล้ว เปอร์เซ็นต์การคืนทุน (RTP)…

sagame

แนะนำสูตรบาคาร่า sagame เล่นบาคาร่าอย่างไรให้ได้กำไรและไม่ขาดทุน

บาคาร่า เกมไพ่คลาสสิกตลอดกาลทั้งในคาสิโนจริงและในคาสิโนออนไลน์ แม้ว่าบาคาร่าจะเป็นเกมที่ใช้โชคมากกว่าทักษะ แต่ก็มีสูตรการเดิมพันมากมายที่สามารถใช้ได้ในการเดิมพันบาคาร่าสด sagame และสูตรเหล่านี้เป็นสูตรที่ใช้ได้กับเกมคาสิโนเกมอื่นด้วย เป็นสูตรที่เซียนบาคาร่ามักใช้เพื่อทำกำไรและคืนทุนได้อย่างรวดเร็ว ลองใช้สูตรบาคาร่าในการเล่น แล้วคุณจะพบความแตกต่างที่จะทำให้คุณได้เปรียบมากกว่าอย่างแน่นอน อัตราต่อรองพื้นฐานในเกมบาคาร่า ก่อนที่เราจะเจาะลึกลงไปที่สูตรการเดิมพันบาคาร่า มาดูว่าอัตราการจ่ายเงินในเกมคืออะไร ‘เดิมพันผู้เล่น’ จะเพิ่มเงินของคุณเป็นสองเท่าหากมือของผู้เล่นอยู่ใกล้ 9 มากกว่ามือของเจ้ามือ การเดิมพันกับเจ้ามือนั้นได้ผลเหมือนกัน แต่ถ้าเจ้ามือชนะ คุณจะต้องจ่ายค่าคอมมิชชันให้กับคาสิโนด้วย การเดิมพันด้วยมือของเจ้ามือจะถูกหักค่าคอมมิชชันไป 5% เนื่องจากการเดิมพันเจ้ามือมีความได้เปรียบที่ต่ำกว่า การเดิมพันเสมอมีอัตราการจ่ายที่ 8:1 ซึ่งสูงมาก ๆ แต่ความได้เปรียบก็สูงมากเช่นกัน…