เก็บตก International Big Data Conference 2016

ผมได้มีโอกาสไปงาน International Big Data Conference จัดโดย EGA งานนี้มีวิทยากรจากต่างประเทศมาหลายท่าน ทั้งจากฮ่องกง, เกาหลี, ญี่ปุ่น และวิทยากรจากประเทศไทย ทั้งจากภาครัฐและภาคเอกชน งานนี้มีออกบูธจาก IMC Institute, BXperience และ NECTEC ด้วย สิ่งที่น่าสนใจของงานนี้คงเป็นแนวทางการทำ Big Data ที่วิทยากรในแต่ละประเทศมาเล่าให้ฟัง ซึ่งเป้าหมายการใช้งานข้อมูลเน้นผู้ที่ได้รับประโยชน์คือประชาชนนั่นเอง ไม่ว่าจะเป็นระบบเตือนภัยและการเผ้าระวังภัยของรัฐบาลเกาหลี ระบบเตือนอุทกภัยและวาตภัยของญี่ปุ่น หรือแม้กระทั่งระบบแนะนำการปลูกพืชทดแทนสำหรับเกษตรของไทย ทั้งหมดนี้คือการบูรณาการข้อมูลเพื่อสร้างบริการใหม่ให้ประชาชน

มีข้อแนะนำจากวิทยากรที่น่าสนใจดังนี้

  • การเก็บข้อมูลเพื่อเอามาวิเคราะห์แนะนำว่าต้องทราบปัญหาและตั้งคำถามก่อนแล้วดูว่าข้อมูลที่มีอยู่ตรงไหนสามารถนำเอามาใช้ได้ ไม่ต้องกังวลเรื่องความสมบูรณ์ของข้อมูล ให้วิเคราะห์แล้วเอาผลที่ได้กลับไปถามกับเจ้าของข้อมูลว่าใช่หรือไม่อย่างนี้ไปเรื่อยๆ ก็จะมีการปรับปรุงกระบวนการเก็บและหาข้อมูลมาเพิ่มเติมได้
  • การทำ Big Data Analysis ในองค์กรต้องเริ่มจาก Prototype เล็กๆ ให้เห็นภาพว่าได้อะไร การขอความร่วมมือเพื่อให้ได้ข้อมูลมาสำคัญมากๆ พอได้ Prototype แล้วการคุยกับผู้บริหารเพื่อขยายผลก็ทำได้ง่าย

สัมผัสประสบการณ์ BigData กับ HortonWorks

เนื่องจากได้เรียนวิชา BigData มาระยะหนึ่งโดยใช้ MapReduce Function บน MongoDB และใช้งาน Hadoop ก็พบว่ากว่าจะได้ใช้งานต้องใช้เวลาในการติดตั้งพอสมควร และการใช้ Hadoop อย่างเดียว ชีวิตคุณจะพบกับความทรมานอย่างแสนสาหัส เอาเป็นว่าใช้เครื่องมือที่เป็น Ecosystem ของ Hadoop เข้ามาช่วยจะดีที่สุด สำหรับผู้ที่ต้องการเรียนรู้เบื้องต้นว่า BigData เป็นอย่างไร จะเล่นกับ Hadoop ได้อย่างไร ผมแนะนำเครื่องมือง่ายๆ ที่จะทำให้คุณเรียนรู้การใช้งาน Hadoop ได้อย่างรวดเร็ว คือ HortonWorks Sandbox ครับ HortonWorks Sandbox เป็นชุด Appliance ที่รวบรวมเอาเครื่องมือที่เกี่ยวข้องกับ Haddop มารวบรวมไว้พร้อมใช้งานเพื่อศึกษาการใช้งานและการทำงานร่วมกับ Hadoop สำหรับ Sandbox แบ่งเป็น VM Image สำหรับ VirtualBox, VMWare และ HyperV สามารถดาวน์โหลดเอาไปทดลองเล่นกันได้
ในชุดของ Sandbox ประกอบด้วย

  • Apache Hadoop
  • Apache Hive
  • Apache HBase
  • Apache Pig
  • Apache Storm
  • Apache Solr
  • Apache Falcon
  • Apache Sqoop
  • Apache Flume
  • Apache Oozie
  • Apache Ambari
  • Apache Mahout
  • Apache ZooKeeper
  • Apache Knox

เรียกได้ว่ามายกชุดกันเลยทีเดียว

มาลองเล่น MapReduce บน HortonWorks กันกับปัญหาพื้นฐานนับจำนวนคำ เราจะใช้หนังสือของคุณ James Joyce ชื่อ Ulysses กันครับ ให้ดาวน์โหลดมาแล้วแตกไฟล์ zip ให้เรียบร้อย แล้วใช้ File Browser เพื่อ upload ไฟล์หนังสือเข้าไป

จากนั้นใช้ Pig Script เขียน code ดังนี้
a = load '/user/hue/4300.txt';
b = foreach a generate flatten(TOKENIZE((chararray)$0)) as word;
c = group b by word;
d = foreach c generate COUNT(b), group;
store d into '/user/hue/pig_wordcount';

กำหนดชื่อ Script นี้ แล้วสั่ง Execute ครับ ผลลัพท์ที่ได้จะอยู่ในไดเรคทอรี /user/hue/pig_wordcount ผลลัพท์ที่ได้จะอยู่ในรูปแบบ key-value pair เรียกดูจาก File Manager ได้ครับ

จากนั้นเราก็เอาผลลัพท์ที่ได้ import เข้า HCatalog เพื่อสร้าง table เพื่อให้ใช้ SQL Query ได้ เพิ่มความสะดวกมากขึ้น จะได้ไม่ต้องเขียน script เรียกข้อมูลจาก key-value ให้ยุ่งยาก

ลองสั่ง Query ผ่าน Hive ดูครับ

เราก็จะได้ผลลัพท์ดังนี้

สำหรับ Word Count เป็นตัวอย่างง่ายๆ ของ MapReduce สำหรับท่านที่สนใจเรียนเพิ่มเติมก็สามารถดูรายละเอียดได้ที่หน้า Tutorial Gallery ครับ