Hadoop Distribution ต่างๆสำหรับการทดลองใช้งาน

 

เทคโนโลยีด้าน Big Data โดยเฉพาะ Hadoop เป็นเรื่องที่คนให้ความสนใจอย่างมาก และเริ่มมีการคาดการณ์กันว่าในอนาคตองค์กรต่างๆแทบทุกแห่งก็จะต้องมีการใช้งานระบบ Hadoop ในต่างประเทศให้ความสำคัญกับการอบรมด้านนี้มาก ซึ่งทางผมเองภายใต้สถาบันไอเอ็มซีก็ได้จัดการอบรมเทคโนโลยีให้กับผู้เข้าอบรมจำนวนมากในรอบสามปีที่ผ่านมาโดยมีจำนวนมากหนึ่งพันคน และสามารถที่จะ Download Slide การอบรมด้านนี้ของทางสถาบันได้ที่ www.slideshare.net/imcinstitute

hadoop-distributions

ประเด็นสำคัญเรื่องหนึ่งที่มักจะถูกถามจากผู้เข้าอบรมว่า เราสามารถที่จะหา Hadoop Cluster จากไหนมาทดลองเล่น จริงๆเราสามารถจะฝึกใช้ Hadoop ได้โดยติดตั้งระบบต่างๆดังนี้

1) การใช้ Hadoop Sandbox

Distribution หลายรายเช่น Cloudera, Hortonworks หรือ MapR จะมี Hadoop Sandbox ให้เราทำลองใช้งานได้ แต่ระบบนี้จะเป็นเครื่องเพียงเครื่องเดียวที่มี Image ให้เรารันผ่าน Virtual Box, VMWare หรือ KVM โดยเราอาจต้อง Download Image ขนาดใหญ่ประมาณ 4-6 GByte ลงมาเก็บไว้ก่อน ทั้งนี้เราสามารถจะ Download Image ของ Hadoop Distribution ต่างๆได้ที่นี้

นอกจากนี้ล่าสุด Cloudera  ยังสามารถรันผ่าน Docker โดยมีขั้นตอนการติดตั้ง Docker Image ดังนี้ >> การติดตั้ง Cloudera Quickstart บน  Docker

2) การติดตั้ง Hadoop Cluster เอง

เรายังสามารถที่จะติดตั้ง Apache Hadoop Cluster  ได้เอง  ซึ่งวิธีนี้จะต่างกับการใช้ Sandbox เพราะสามารถใช้งานได้จรีง และผมเองได้เคยเขียนแบบฝึกหัดให้ทดลองติดตั้งในหลายๆระบบดังนี้

นอกจากนี้ผมยังมีแบบฝึกหัดให้ติดตั้ง  Cloudera Cluster บน Amazon EC2 ซึ่งจะมีขั้นตอนการติดตั้งดังนี้ >> แบบฝึกหัดติดตั้ง Cloudera Cluster

3) การใช้ Hadoop as a Service

กรณีนี้เป็นการใช้ Hadoop Service ที่อยู่บน Cloud  แบบนี้เหมาะที่จะใช้ในการประมวลผล แต่ไม่เหมาะจะใช้เก็ยข้อมูลบน  HDFS เนื่องจากระบบ Hadoop as a Service จะไม่สามารถ Stop ได้ และมีค่าใช้จ่ายต่อชั่วโมงค่อนข้างสูง จึงเหมาะกับใช้ในการประมวลผลข้อมูลขนาดใหญ่ที่อยู่ใน Cloud Storage หรือข้อมูลบนอินเตอร์เน็ตแบบชั่วควาร

ผมเองมีแบบฝึกหัดทีให้ทดลองใช้ Hadoop แบบนี้สองระบบตือ

ผมหวังว่าบทความสั้นๆที่เขียนมานี้ คงเป็นจุดเริ่มต้นให้ทุกท่านได้เรี่มใช้  Hadoop  ได้ วันนี้ไม่ใช่แค่มาศึกษาว่าอะไรคือ Hadoop แต่มันถึงเวลาที่ต้องลงมือปฎิบัตืแล้ว มิฉะนั้นเราคงก้าวตามเรื่อง Big Data ไม่ทัน

ธนชาติ นุ่มนนท์

IMC Institute

กุมภาพันธ์ 2559

 

 

 

 

การประมวลผล Big Data ควรใช้เทคโนโลยีไหนดี?

 

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

  • Interactive analysis
  • Batch analysis
  • Real time analysis
  • Machine Learning

โดยควรจะมีเทคโนโลยีสองกลุ่มคือ การประมวลผลโดยใช้เทคโนโลยี Hadoop จากข้อมูลใน HDFS และการประมวลผลโดยใช้เทคโนโลยี Spark โดยอาจมีข้อมูลจากแหล่งต่างๆ

การประมวลผลโดยใช้ Hadoop

โดยปกติ Hadoop จะใช้เทคโนโลยีอย่าง MapReduce ในการประมวลผลข้อมูลใน HDFS แต่ทั้งนี้เนื่องจาก MapReduce เป็นเทคโนโลยีที่ทำงานแบบ Batch และต้องพัฒนาโปรแกรมด้วยภาษาต่างๆ อาทิเช่น  Java ในการประมวลผล จึงทำให้ MapReduce ได้รับความนิยมน้อยลงและมีแนวโน้มว่าจะถูกแทนที่ด้วยเทคโนโลยี Spark  วันนี้เราอาจไม่ต้องเน้นการประมวลผลผ่านบริการ MapReduce มากนักแต่ควรให้บริการเทคโนโลยีประมวลสำหรับ Hadoop ที่เป็นภาษาคล้าย SQL  โดยแนะนำให้บริการเทคโนโลยีต่างๆ คือ Hive  เป็นเทคโนโลยีที่ใช้ภาษา Hive QL ลักษณะ SQL โดย Hive จะทำหน้าที่ในการแปล SQL like ให้มาเป็น MapReduce แล้วก็ทำการรันแบบ Batch

  • Impala เป็นเครื่องมือที่คล้ายกับ Hive แต่เขียนด้วยภาษา C++ และติดต่อกับข้อมูล HDFS ตรงโดยไม่ต้องผ่าน MapReduce ซึ่งจะทำงานแบบ Interactive
  • Pig เป็นเครื่องมือคล้ายๆ กับ Hive ที่ช่วยให้ประมวลผลข้อมูลโดยไม่ต้องเขียนโปรแกรม Map/Reduce ซึ่ง Pig จะใช้โปรแกรมภาษา script ง่ายๆที่เรียกว่า Pig Latin แทน ทั้งนี้จะทำงานแบบ Batch

การประมวลผลโดยใช้ Spark

Spark  เป็นเทคโนโลยีในการประมวลข้อมูลขนาดใหญ่ โดยสามารถจะประมวลผลข้อมูลทั้งที่อยู่ใน HDFS หรือแหล่งอื่นๆ อาทิเช่น Cloud Storage, NoSQL, RDBMS ดังแสดงในรูปที่ 1 ทั้งนี้ Spark สามารถทำงานแบบ  Standalone หรือจะทำงานบน Hadoop Cluster  ผ่าน YARN ก็ได้ โดยจะทำงานแบบ Interactive โดยมีการระบุว่า Spark สามารถประมวลผลบน  Hadoop ได้เร็วกว่า MapReduce อย่างน้อย 10 เท่า ซึ่ง Spark มีบริการประมวลผลแบบต่างๆ ดังนี้

Screenshot 2016-02-11 08.30.57

รูปที่ 1 ระบบประมวลผลของ Apache Spark

  • Spark core ก็คือระบบประมวลผลโดยผ่าน API ซึ่งให้ผู้ใช้บริการสามารถเลือกใช้ภาษา Java, Scala, Python หรือ R
  • Spark streaming สำหรับการประมวลผลแบบ Realtime  Streaming
  • Spark SQL สำหรับการประมวลผลที่ใช้ภาษาคล้ายกับ SQL
  • MLlib  สำหรับการประมวลที่เป็นแบบ Machine Learning

ทั้งนี้เราสามารถที่จะสรุปเปรียบเทียบเทคโนโลยีการประมวลผลข้อมูลต่างๆ ได้ดังนี้

Screenshot 2016-02-11 08.31.06

ธนชาติ นุ่มนนท์

IMC Institute

กุมภาพันธ์ 2559

การพัฒนาบุคลากรสำหรับงานทางด้าน Big Data

กระแสของBig Data กำลังมาแรงหลายสถาบันการศึกษาต่างก็สนใจเปิดหลักสูตรด้านนี้. แต่ขณะเดียวกันสถาบันหลายแห่งก็บังไม่ได้ให้ความสำคัญยังเน้นสอนแต่ Database, Data Structure ในรูปแบบเดิมๆ ทั้งๆที่โดยแท้จริงแล้วสถาบันการศึกษามีหน้าที่จะต้องสอนคนให้ออกไปทำงานในอนาคต สอนให้คิดเป็นทำเป็นและเรียนรู้เพื่ออยู่กับอนาคตทำงานใน 10 ปีข้างหน้า ไม่ใช่แค่สอนเทคโนโลยีปัจจุบันหรือสิ่งที่อาจารย์เรียนรู้มาเมื่อ 10-20 ปีโดยไม่ได้เพิ่มเนื้อหาที่เป็นองค์ความรู้หรือเทคโนโลยีใหม่ๆแล้วอ้างแค่เพียงว่า นักศึกษาต้องมีความรู้พื้นฐาน ทั้งๆที่วันนี้ความรู้พื้นฐานด้านเทคโนโลยีไอทีหลายอย่างก็เปลี่ยนไป โดยเฉพาะในช่วง 4-5 ปีที่ผ่านมา ซึ่งในอีก 10 ปีข้างหน้าจะยิ่งเปลี่ยนไปกว่านี้อีกมาก ถ้าเราไม่สร้างคนเพื่ออนาคตเราจะแข่งกับเขาได้อย่างไร

 

แม้หลายแห่งพยายามจะสอนหลักสูตร Big Data แต่ก็พยายามจะเปิดสอนระดับปริญญาโทขึ้นไปเน้นเรื่องData Science หรือ Machine Learning ค่อนข้างมากเพราะอาจผูกกับงานวิจัยอาจารย์ และหลายๆแห่งมองหลักสูตร Big Data ค่อนข้างสับสนไปหมดทั้งๆที่เราควรจะเน้นสอนเรื่องนี้ตั้งแต่ปริญญาตรี และควรมองอนาคตว่า Big Data คือสิ่งจำเป็น และเราต้องพัฒนาคนไอทีเราให้ถูกทักษะรงต่ออาชีพที่จะต้องทำ

 

งานด้าน Big Data ไม่ใช่มีแค่ Data Scientist เรียน Big Data ไม่ใช่แค่เน้นเรียน Machine Learning และ Learning Path ทางด้านนี้มีหลากหลายมาก เราจึงต้องวางแผนก่อนว่าเราจะพัฒนาคนประเภทไหนออกมา ซึ่งอุตสาหกรรมต้องการคนมาทำงานด้าน Big Data ในอนาคตจำนวนมาก แต่จะมีบทบาทหน้าที่หลากหลาย
ดังนั้นทุกภาคส่วนก็คงต้องช่วยกันเตรียมคนเพื่อรองรับการเปลี่ยนแปลงในอนาคต

 

หากจะพิจารณางานด้าน Big Data ในอนาคตเราคงสร้างคน ที่มีหน้าที่ที่หลากหลาย คนแต่ละคนมีทักษะไม่เหมือนกัน เราไม่สามารถสร้างคนทุกคนเป็น Data Scientist ได้ ทำนองเดียวกันคนที่เป็น Data Scientist ก็อาจไม่เก่งที่จะเป็น Data Engineer มาติดตั้งระบบ หรืออาจไม่เก่งทำ Visualization ที่อาจต้องคนมีความสามารถในการทำ Infographics หรือDashborad ให้คนเข้าใจได้โดยง่าย

 

ถ้าเราจะแบ่งคนทางด้านนี้ในอนาคตเราอาจแบ่งคนตามสายอาชีพดังนี้ เพื่อให้อุตสาหกรรมมาเร่งช่วยกันพัฒนาคนออกมา

 

1) Data Engineer คนกลุ่มนี้จะทำหน้าที่ติดตั้งและดูแลระบบข้อมูลต่างๆ ต้องมีทักษะด้าน System Administration เข้าใจการติดตั้งและดูแลระบบอย่าง Database, Hadoop Cluster, NoSQL หรือสามารถออกแบบ Data Architecture ต่างๆ

 

2) Data Developer มีหน้าที่ในการพัฒนาโปรแกรมที่นำข้อมูลมาวิเคราะห์ โดยต้องเรียนรู้ทักษะในการเขียนโปรแกรมภาษาต่างๆทั้ง Java, Python หรือSQL เพื่อจะใช้เทคโนโลยีอย่าง Spark, Hive, Impala ฯลฯ

 

3) Data Analyst คนกลุ่มนี้จะมีความรู้ในการที่จะนำข้อมูลมาวิเคราะห์ มีความเข้าใจเรื่อง Business a intelligence เข้าใจ Business Domain และมีความรู้ด้านสถิติดี

 

4) Data Visualizer คนกลุ่มนี้จะมีความสามารถในการนำข้อมูลมาแสดงผลเพื่อให้ผู้คนเข้าใจ.สามารถทำ Dashboard หรือ Infographics  ได้สวยงามและเข้าใจง่าย

 

5) Data Scientist คือคนที่จะนำข้อมูลมาวิเคราะห์ที่อาจเป็น Predictive Analytics คนกลุ่มนี้ต้องเก่งคณิตศาสตร์เรียนรู้ Machine Learning เข้าใจ Algorithm ต่างๆ

 

จากที่กล่าวมาจะเห็นได้ว่าถ้าเราจะสร้างอนาคตของประเทศให้สามารถแข่งขันได้ด้วย Big Data เราต้องการคนในทุกด้านและก็หน้าที่ของทุกฝ่ายที่ต้องช่วยกัน สร้างคนเพื่ออนาคต
ธนชาติ นุ่มนนท์
IMC Institute
ธันวาคม 2558
big-data-job-growth-infographic

Hadoop Application Architecture

วันนี้มางาน Strata + Hadoop World  ที่สิงคโปร์วันแรกซึ่งเป็นวัน  Tutorial ผมเลือกที่จะเข้าสอง session คือ Hadoop Application Architectures ในตอนเช้าและ Apache Hadoop Operations for production systems ในตอนบ่าย

Session แรกน่าสนใจมากเพราะผู้บรรยายทั้งสี่ท่านคือคนเขียนหนังสือเรื่อง Hadoop Application Architectures และได้แนะนำสถาปัตยกรรมของ Hadoop สำหรับการวิเคราะห์ข้อมูล Network Fraud แบบ Near Real Time ดังรูปที่ 1

Screenshot 2015-12-01 10.31.54

รูปที่  1: Architecture สำหรับ Fraud Detection

จาก  Architecture นี้มีประเด็นที่น่าสนใจคือ

Storage: เลือกใช้ HDFS สำหรับเก็บข้อมูลที่ดึงมาจาก Network และต้องการประมวลผลแบบ Batch และเลือก HBase สำหรับการเก็บ Profiile ของ Network  ที่ต้องการอ่านและเขียนอย่างรวดเร็ว นอกจากนี้ยังมีการพูดถึง Kudu ว่าน่าจะเป็นเทคโนโลยีใหม่ที่อาจเหมาะกับการเก็บข้อมูลที่ Google ค้นคิดขึ้นมาที่ผสมระหว่าง HDFS และ  HBase ดังรูปที่ 2

Screenshot 2015-12-01 10.45.52

รูปที่ 2 Kudu

Ingestion: มี  Workflow ในการดึงข้อมูลจาก Network Devices ดังรูป โดยขั้นตอนแรกดึงข้อมูลมาเก็บใน Queue โดยใช้ Kafka และใช้ Flume ทำหน้าที่เป็น  Event Handler จัดการเลือกเฉพาะข้อมูลที่น่าสงสัย

Screenshot 2015-12-01 10.40.09

รูปที่ 3 Ingestion Workflow

Processing: ในการประมวลผลข้อมูลมีได้หลายวิธีดังรูปที่ 4 แต่ในในกรณีของ Streaming เลือกใช้ Spark Streaming  ส่วนกรณีของ Batch Processing เลือกใช้ Spark สำหรับการทำ Machine Learning, Impala สำหรับการทำรายงาน และ  MapReduce  ดังรูปที่ 5 โดยทีมงานก็พยายามเน้นให้เห็นว่า  MapReduce กำลังถูกแทนที่ด้วย Spark  และ Hive กำลังถูกแทนที่ด้วย Impala

Screenshot 2015-12-01 10.46.57

รูปที่ 4 การประมวลผลข้อมูลใน Hadoop ด้วยวิธีต่างๆ

Screenshot 2015-12-01 10.49.40

รูปที่ 5 Processing สำหรับกรณีศึกษานี้

สรุปสิ่งที่ได้จาก  Session นี้คือเห็นการเก็บข้อมูลที่ต้องผสมผสานทั้ง HDFS และ HBase การดึงข้อมูลคงต้องพิจารณาเรื่องของ KafKa และการประมวลผลควรเน้นเรื่องของ Spark และ Impala

ธนชาติ นุ่มนนท์

IMC Institute

ธันวาคม 2558

 

 

 

Azure HDInsight หนึ่งในกลยุทธ์ที่เปลี่ยนไปของ Microsoft (มี Link เอกสารการอบรม)

 

วันก่อนมีโอกาสไปจัดอบรม Big Data using Azure HDinsight ที่ออฟฟิศของ Microsoft มีคนเข้ามาร่วมอบรมจำนวน 50กว่าคน ทำให้มีโอกาสคิดได้ว่าถ้าเป็นสมัยก่อนคงยากที่ผมจะสอนเทคโนโลยีของ Microsoft โดยเฉพาะมาที่ออฟฟิศของเขาเลย เพราะผมสอนและใช้เทคโนโลยีตรงข้ามกับMicrosoft มาตลอด

  • ผมเขียนโปรแกรมและสอน Java Technology
  • ผมเป็น Certified Java instructor
  • ผมใช้เทคโนโลยีฝั่ง Server ที่เป็น Linux, MySQL database และ Java App/Web Server
  • ผมใช้เครื่อง Mac ใช้ ipad และเลือกใช้ smartphone ที่เป็น Android
  • ผมทำเอกสารต่างๆโดยใช้ OpenOffice ใช้ Gmail, Google Docs แม้ว่าจะซื้อ account ของOffice 365 แต่ก็ใช้ยามจำเป็น

แต่วันนี้กลยุทธ์ของ Microsoft มาที่ Mobile กับ Cloud ทำให้ผมต้องเข้ามาใช้ Microsoft Azure ที่เป็นระบบ Cloud ของ Microsoft ซึ่งมีทั้ง IaaS และ PaaS การใช้ IaaS โดยมากก็เป็นการใช้ Virtual Server ที่เป็น Ubuntu Linux ในการติดตั้ง Hadoop Clusterสำหรับ PaaS ที่น่าสนใจก็มี HDinsight ซึ่งเป็น Hadoop as a Service ซึ่งเหมาะกับการใช้ Hadoop Cluster ในช่วงระยะเวลาสั้นๆ เพราะเป็นระบบที่ติดตั้งโดยอัตโนมัติและเป็น Hadoop Distribution ของ Microsoft ที่พัฒนาบน Hortonworks เพื่อให้สามารถเชื่อม HDFS กับ Azure Blob

บริการ PaaS อีกอันของ azure ทีน่าสนใจคือ Machine Learning ซึ่งจัดเป็น Analytics as a Service ที่ผู้ใช้สามารถจะเข้ามาทำการวิเคราะห์ข้อมูลโดยใช้ Machine Learning Algorithm ต่างๆอาทิเช่น Linear Regression, K-Mean หรือ Recommendation สำหรับข้อมูลขนาดใหญ่โดยมี ML Studio ที่ผู้ใช้งานสามารถใช้งานโดยง่านได้

Screenshot 2015-09-23 21.38.47

สำหรับการอบรมที่ผมไปสอนผมใช้ HDInsight บน Linux จะเห็นได้ว่าวันนี้ Microsoft  เป็นระบบที่มีหลากหลาย Platform  แม้แต่ HDInsight ก็สามารถที่จะพัฒนาโปรแกรม  MapReduce ด้วยภาษา Java ผู้ที่ต้องการเรียนรู้การพัฒนาโปรแกรม Big Data  ผมแนะนำที่จะให้ใช้ Azure HDInsight เพราะจะได้ไม่ต้องไปวุ่นวายในการติดตั้ง Hadoop Cluster และ Microsoft เองก็มี Azure Free Trial ให้ใช้ สำหรับการใช้งานจริง HDInsight เหมาะสำหรับการทำงานเพียงระยะสั้นสำหรับผู้ที่ต้องการหา  Cluster ใหญ่ๆมาประมวลผล เพราะหลักการ HDInsight คือจะสร้างแล้วปิดระบบไม่ได้ นอกจากจะ Terminate  ทิ้ง แต่ถ้าต้องการตั้ง  Hadoop Cluster ไว้ระยะยาวบนคราว ผมอยากจะแนะนำให้ติดตั้ง Hadoop Distribution บน Vitual Server จะประหยัดกว่าเพราะสามารถเปิดปิด Server โดยไม่ต้อง Terminate เครื่องได้

สำหรับ Slide ประกอบการบรรยายครั้งนี้ผมมีสองชุด

– ชุดแรกเป็น Big Data using Azure HDInsight โดยสามารถ Download Slide ได้ที่ >> http://tinyurl.com/oco4z8n
– ชุดที่สองเป็นแบบฝึกหัด Azure HDInsight Workshop โดยสามารถ Download Slide ได้ที่ >>  http://tinyurl.com/obv34og

ซึ่งการอบรมนี้จะครอบคลุมเนื้อหา การติดตั้ง HDInsight, แนะนำ MapReduce, การใช้โปรแกรม Hive, การใช้โปรแกรมPig และการImport ข้อมูลจากฐานข้อมูล RDBMS โดยใช้ Sqoop

นอกจาก Slide ชุดนี้เราสามารถศึกษาการใช้ HDInsight ได้เพิ่มเติมจาก Tutorial ของMicrosoft Azure ได้ที่ >> http://azure.microsoft.com/en-us/documentation/services/hdinsight/

ผมเองยังได้เขียน Slide ที่เป็นแบบฝึกหัดสำหรับการใช้ Azure Machine Learning โดยมีแบบฝึกหัดทดลองทำ ML 4  เรื่องคือ

  • Classification เพื่อคาดการณ์ราคารถยนต์โดยใช้ Linear Regression Algorithm
  • Clustering เพื่อแบ่งกลุ่มประเทศตามการบริโภคอาหารโดยใช้ K-Mean Algorithm
  • Recommendation แนะนำร้านอาหารจากข้อมูลในอดีต และ
  • Classification เพื่อคาดการณ์ว่าเที่ยวบินที่มาถึงล่าช้าหรือไม่โดยใช้ Decision Tree Algorithm

โดยสามารถ Download Slide ได้ที่  >> http://tinyurl.com/pkjonbn

สุดท้ายนี้ทาง IMC Institute เองจะเปิดสอนหลักสูตร Azure โดยไม่มีค่าใช้จ่ายอีกครั้งในวันที่ 30 ตุลาคม โดยงานนี้ได้รับการสนับสนุนจาก Microsoft เช่นเคย

ธนชาติ นุ่มนนท์

IMC Institute

กันยายน 2558

เทคโนโลยีสำหรับ Big Data: Storage และ Analytics

 

เมื่อพูดถึง Big Data หลายๆคนก็คงเริ่มเข้าใจความหมายของ 3Vs (Volume, Velocity, Variety) และเริ่มที่จะเห็นภาพว่าข้อมูลจะมีขนาดใหญ่ขึ้นและมีหลากหลายรูปแบบ ดังนั้นจึงไม่แปลกใจที่หลายองค์กรจำเป็นต้องปรับ Information Infrastructure เพื่อให้รองรับกับการบริหารจัดการ Big Data ได้

เทคโนโลยีฐานข้อมูลเดิมที่เป็น RDBMS และภาษา SQL ก็ยังคงอยู่แต่การที่จะนำมาใช้ในการเก็บข้อมูลขนาดใหญ่มากๆเป็นหลายร้อย TeraByte หรือนับเป็น PetaByte อาจไม่สามารถทำได้และอาจมีต้นทุนที่สูงเกินไป และยิ่งถ้าข้อมูลเป็นแบบ  Unstructure ก็คงไม่สามารถจะเก็บได้ นอกจากนี้การจะประมวลผลข้อมูลหลายร้อยล้านเรคอร์ดโดยใช้เทคโนโลยี  RDBMS ผ่านภาษา SQL ก็อาจใช้เวลานานและบางครั้งอาจไม่สามารถประมวลผลได้

Screenshot 2015-09-26 21.57.56

รูปที่ 1  ตัวอย่างของ Big Data Technology

ด้วยเหตุนี้จึงเริ่มมีการคิดถึงเทคโนโลยีอื่นๆในเก็บและประมวลผลข้อมูลที่เป็น Big Data ดังที่ได้แสดงตัวอย่างในรูปที่ 1 ซึ่งหากเราแบ่งเทคโนโลยีเป็นสองด้านคือ การเก็บข้อมูล (Storage) และการประมวลผล/วิเคราะห์ข้อมูล (Process/Analytics) เราอาจสามารถจำแนกเทคโนโลยีต่างๆได้ดังนี้

เทคโนโลยีการเก็บข้อมูล

ข้อมูลที่เป็น Big Data อาจจะมีขนาดใหญ่เกินกว่าที่เทคโนโลยีการเก็บข้อมูลแบบเดิมที่เรามีอยู่เก็บได้หรืออาจเจอปัญหาในแง่โครงสร้างของข้อมูลที่อาจไม่เหมาะกับเทตโนโลยี RDBMS ตัวอย่างเช่น Telecom operator อาจต้องการเก็บข้อมูล Call Detail Records (CDR) ที่อาจมีปริมาณสูงถึง 1 TeraByte ต่อวันเป็นระยะเวลายาวนานขึ้น หรือเราอาจต้องเก็บข้อมูลในอีเมลจำนวนมากที่เป็นรูปแบบของ Text File  หรือเก็บภาพจากกล้อง CCTV จำนวนหลายสิบ TB หรืออาจต้องการเก็บข้อมูลจาก Facebook ซึ่งข้อมูลต่างๆเหล่านี้ที่กล่าวมา อาจไม่เหมาะกับเทคโนโลยีฐานข้อมูลแบบเดิม RDBMS ที่เป็น Vertical Scaling

จากที่กล่าวมาจึ่งได้มีการนำเทคโนโลยีต่างๆเข้ามาเพื่อที่จะให้เก็บข้อมูลได้มากขึ้น โดยมีเทคโนโลยีต่างๆอาทิเช่น

  • ฐานข้อมูล  RDBMS แบบเดิม ก็ยังเป็นเทคโนโลยีที่เหมาะสมที่สุดในการเก็บข้อมูลแบบ Structure แต่ถ้าข้อมูลมีขนาดใหญ่มากก็จะเจอปัญหาเรื่องต้นทุนที่สูง  และหากข้อมูลมีจำนวนเป็น PetaByte ก็คงยากที่จะเก็บ ถึงแม้ในปัจจุบันจะมี MPP Datanbase อย่าง Oracle ExaDta หรือ SAP HANA แต่ราคาก็สุงมาก
  • Hadoop HDFS เป็นเทคโนโลยีที่มีการคาดการณ์ว่าหน่วยงานส่วนใหญ่จะต้องใช้ในอนาคต เพราะมีความต้องการเก็บข้อมูลขนาดใหญ่ทั้งที่เป็น Unstrucure Data หรือนำข้อมูลที่เป็น structure มาเก็บไว้ โดยสามารถจะเก็บข้อมูลได้เป็น PetaByte ทั้งนี้ขึ้นอยู่กับจำนวนเครื่องที่มีอยู่ในลักษณะ scale-out ข้อสำคัญ Hadoop มีต้นทุนที่ค่อนข้างต่ำเมื่อเทียบกับเทคโนโลยีการเก็บข้อมูลแบบอื่น ดังแสดงในรูปที่ 2
  • NoSQL เป็นเทคโนโลยีที่ต้องการเก็บข้อมูลจำนวนมากกว่าของ RDBMS ในลักษณะ scale-out เป็นจำนวนหลาย TeraByte แต่อาจไม่ได้เน้นเรื่อง Consistency หรือ ACID ของข้อมูลมากนัก เหมาะกับ Application บางประเภท ทั้งนี้เราสามารถจะแบ่งเทคโนโลยี NoSQL ออกไปได้สี่กลุ่มคือ Column Oriented, Document Oriented, Key-Value และ Graph
  • Cloud Storage ข้อมูลขนาดใหญ่ขององค์กรบางส่วนอาจต้องเก็บไว้ใน Public Cloud Storage เช่น  Amazon S3 โดยเฉพาะข้อมูลภายนอกอาทิเช่น Social Media Data หรือข้อมูลที่เป็น Archiving  ที่ไม่ได้มีความสำคัญมาก เพราะ Cloud Storage จะมีราคาในการเก็บที่ถูกสุด และสามารถที่จะเก็บได้โดยมีขนาดไม่จำกัด แต่ข้อเสียคือเรื่องความปลอดภัยและความเร็วในการถ่ายโอนข้อมูล

Screenshot 2014-11-17 16.27.33

รูปที่  2  เปรียบเทียบราคาของ Storage Technology

เทคโนโลยีการประมวลผลข้อมูล

การประมวลผลข้อมูลที่เป็น Big Data จะมีทั้งการวิเคราะห์ข้อมูลที่เป็น business intelligence (BI) เพื่อที่จะดึงข้อมูลมานำเสนอ หรือการทำ Predictive Analytics โดยใช้หลักการของ Data Science ความยากของการประมวลผลคือต้องการความเร็วในการประมวลผลข้อมูลที่นอกจากมีขนาดใหญ่แล้วบางครั้งยังเป็นข้อมูลที่ไม่มีโครงสร้าง ดังนั้นต้องจึงมีการนำเทคโนโลยีหรือภาษาต่างๆมาเพื่อให้สามารถประมวลผลข้อมูลได้ ซึ่งในบางครั้งหน่วยงานอาจต้องพิจารณาต้องเลือกใช้ อาทิเช่น

  • SQL  ก็เป็นภาษาที่ยังต้องใช้ในการประมวลผลข้อมูลโดยเฉพาะ Structure  Data ที่เก็บอยู่ใน RDBMS และสามารถประมวลผลแบบ RealTime ได้
  • APIs ข้อมูลที่เก็บอยู่ใน Storage ต่างๆที่กล่าวมาข้างต้นเช่น NoSQL หรือ Cloud Storage  อาจต้องพัฒนาโปรแกรมด้วยภาษาคอมพิวเตอร์ต่างๆ ในการประมวลผลข้อมูลโดยใช้  APIs ในการเข้าถึงข้อมูล
  • MapReduce เป็นเทคโนโลยีที่พัฒนาโดย Google ในการประมวลผลข้อมูลที่อยู่ใน HDFS โดยใช้ภาษาคอมพิวเตอร์อย่าง Java ในการพัฒนาโปรแกรม โดยจะประมวลผลแบบ Batch และเป็นวิธีการประมวลผลที่มากับเทคโนโลยี  Hadoop
  • Hive หรือ Pig เป็นภาษาคล้าย SQL หรือ Scripting ที่ทำให้เราสามารถประมวลผลข้อมูลที่อยู่ใน Hadoop HDFS ได้โดยไม่ต้องพัฒนาโปรแกรม MapReduce แต่ทั้งนี้ข้อมูลจะต้องอยู่ในรูปแบบที่เหมาะสมเช่น  ไฟล์ csv หรือ ไฟล์ข้อความบางประเภท
  • Impala  เป็นภาษาคล้าย SQL ที่ทำให้เราสามารถประมวลผลข้อมูลที่อยู่ใน Hadoop HDFS ได้ โดยทำงานได้รวดเร็วกว่า Hive มาก แต่มีข้อเสียคือเป็นภาษาที่เป็น proprietary ของ  Cloudera
  • Spark เป็นเทคโนโลยีที่สามารถประมวลผลข้อมูลขนาดใหญ่แบบ Real-time  โดยอาจมี Data Source มาจากหลากหลายแหล่งเช่น  RDBMS, Cloud Storage, NoSQL หรือ Hadoop  ซึ่งสามารถเขียนโปรแกรมโดยใช้ภาษา Scala, Java, Python หรือจะเขียนโดยใช้ภาษาคล้าย SQL ก็ได้ และมี  Library สำหรับการทำ Data Science คือ  MLib  เป็นเทคโนโลยีที่น่าสนใจมากอันหนึ่ง
  • ภาษาและเทคโนโลยีในการทำ Machine Learning  ซึ่งก็จะมีหลากหลายทั้ง R Hadoop, Mahout, Azure Machine Learning  หรือ AWS ML
  • เทคโนโลยีสำหรับการทำ Data Visualisation และ BI อาทิเช่น Tableau, Pentaho, SaS, Excel  และอื่นๆ

จากที่กล่าวมาทั้งหมดนี้ ถ้าหน่วยงานจะมีโครงการ Big Data และข้อมูลมีขนาดใหญ่จริง เราคงต้องเลือกหาเทคโนโลยีที่เหมาะสมมาใช้งาน

ธนชาติ นุ่มนนท์

IMC Institute

สิงหาคม 2558

โครงการ Big Data กับความจำเป็นต่อการลงทุนด้านเทคโนโลยี

คำถามหนึ่งที่เรามักจะเจอบ่อยคือ “ข้อมูลใหญ่ขนาดไหนถึงจะเรียกว่า Big Data” หรือบางทีเราก็มักจะเจอคำถามว่า “เราต้องซื้อ Product อะไรเพื่อมาทำโครงการ Big Data เราต้องลงทุนซื้อเทคโนโลยี Hadoop หรือไม่” จริงๆแล้ว Big Data มันก็เป็นศัพท์ทางการตลาดที่พยายามจะบอกให้ผู้คนเข้าใจได้ว่าข้อมูลในปัจจุบันมีขนาดใหญ่ขึ้น (Volume) เพิ่มขึ้นอย่างรวดเร็ว (Velocity) มีรูปแบบที่หลากหลาย (Variety) และมีความไม่แน่นนอน(Vacirity) ซึ่งข้อมูลมหาศาลเหล่านี้มีทั้งข้อมูลภายใน ภายนอกองค์กรหรือจาก Social Media การที่ข้อมูลปัจจุบันเป็นอย่างนี้ถ้าใครรู้จักนำข้อมูลเหล่านี้มาวิเคราะห์มาใช้งานก็จะเป็นประโยชน์ต่อองค์กรมหาศาล หลายองค์กรเริ่มสนใจจะทำโครงการ Big Data แต่บางครั้งไปเริ่มที่ฝ่ายไอที ก็มักจะกลายเป็นโจทย์ในการหาโซลูชั่นหรือ Product ซึ่งพอเป็นโครงการอย่างนี้บางทีก็คิดว่าจะต้องลงทุนด้วยงบประมาณสูงๆ ทางบริษัท Vendor ต่างๆก็จะพยายามนำเสนอโซลูชั่นราคาแพงที่สามารถเก็บข้อมูลจำนวนมหาศาลได้และสามารถประมวลผลได้อย่างรวดเร็วทั้งๆที่อาจยังไม่รู้ด้วยว่าจะนำโซลูชั่นไปวิเคราะห์ข้อมูลอะไร โครงการ Big Data ที่ดีควรเริ่มที่ฝั่งธุรกิจ ควรจะต้องพิจารณาก่อนว่าต้องการทำอะไร อาทิเช่นต้องการหาข้อมูลลูกค้าเพิ่ม วิเคราะห์ความเสี่ยง พยากรณ์ยอดขาย ทำ Social Media Analysis. ต้องการคาดการณ์ความต้องการของลูกค้า ซึ่งโจทย์แต่ละอย่างอาจมีความต้องการข้อมูลที่แตกต่างกัน Product ที่ต่างกันและวิธีการวิเคราะห์ข้อมูลต่างกัน

Screenshot 2015-07-30 11.22.37

Big Data มีองค์ประกอบที่สำคัญสามอย่าง

  • Data Source คือแหล่งข้อมูลที่าจจะเป็นข้อมูลภายในองค์กร หรือข้อมูลภายนอกองค์กร หรืออาจต้องนำข้อมูลจากSocial Media มาใช้ ข้อมูลอาจเป็นข้อมูลรูปแบบเดิมที่เป็น structure หรือข้อมูลแบบใหม่ที่เป็น unstructure แต่หลักการหนึ่งที่สำคัญในเรื่องของ Big Data คือถ้าเรามีข้อมูลมากขึ้นก็น่าจะมีประโยชน์ต่อองค์กรมากขึ้นตาม
  • Technology คือโซลูชั่นที่จะช่วยทำให้เราสามารถจะเก็บข้อมูลและประมวลผลได้รวดเร็วขึ้น การจะใช้เทคโนโลยีใดก็ขึ้นอยู่กับข้อมูลที่ต้องการ ถ้าขนาดข้อมูลไม่ได้มากไปข้อมูลที่ต้องการยังเป็นแบบเดิมก็อาจใช้เทคโนโลยีแบบเดิมในการเก็บ หรือถ้าข้อมูลมีจำนวนมากก็อาจพิจารณาเทคโนโลยใหม่ๆที่เป็น Hadoop หรือ MPP รวมถึงอาจต้องพิจารณาเครื่องมือต่างๆในการวิเคราะห์ข้อมูลเช่น BI หรือ Analytics Tool
  • Analytics คือกระบวนการในการนำข้อมูลมาวิเคราะห์ ทั้งนี้ก็ขึ้นอยู่กับโจทย์ว่าต้องการทำอะไรงานบางอย่างก็อาจใช้เครื่องมือ BI ทั่วๆไปแต่งานบางงานก็อาจต้องหาผู้เชี่ยวชาญที่เป็น Data Scientists เข้ามาช่วย โดยเฉพาะกรณีที่ต้องการใช้ข้อมูลเพื่อคาดการณ์ต่างๆที่อาจต้องหาอัลกอริทึมที่เหมาะสม

จากที่กล่าวมาจะเห็นว่าบางครั้งโครงการ Big Data อาจไม่ต้องลงทุนซื้อเทคโนโลยีใดเลยก็ได้ ถ้าเริ่มจากความต้องการทางธุรกิจและเข้าใจว่าต้องการ Data Source และต้องวิเคราะห์ข้อมูลอย่างไร

ธนชาติ นุ่มนนท์

IMC Institute

กรกฎาคม 2558

 

การติดตั้งและเปรียบเทียบ Hadoop Distribution ต่างๆ

 

Hadoop เป็นหนึ่งในเทคโนโลยีการทำ Big Data ที่กำลังเป็นที่นิยมอย่างมากเนื่องจากมีความสามารถในการเก็บข้อมูลนับเป็น PetaByte และนำมาใช้งานในเว็บใหญ่ๆและหน่วยงานต่างๆจำนวนมากอาทิเช่น Yahoo หรือ Facebook  แม้ Hadoop จะเป็น Open Source แต่ก็มีผู้ผลิตหลายรายต่างทำ Distribution ของ Hadoop ออกมาอาทิเช่น IBM, Amazon, Intel, Microsoft, Cloudera และ Hortonworks เป็นต้น โดย Forrester Research ได้เปรียบเทียบ Hadoop Distribution ต่างๆในรูปที่ 1

Screenshot 2015-05-23 08.59.33

รูปที่ 1 การเปรียบ Hadoop Distribution ของ Forrester Research

Hadoop Distribution แบ่งออกเป็น 4  กลุ่ม ดังแสดงในรูปที่ 2

  • Apache Open source: ตัวที่เป็น Open Source Project ของ Apache ที่เราสามารถ Download ได้จากเว็บ hadoop.apache.org
  • Hadoop Software Vendors: กลุ่มนี้คือผู้ผลิตที่ไม่ได้ผูกติดกับ Hardware Vendor โดยสามารถจะติดตั้ง  Hadoop Distribution กับ Server ค่ายใดก็ได้ กลุ่มนี้จะเป็นผู้นำตลาดด้าน Hadoop โดยมีรายหลักสามรายคือ Cloudera, Hortonworks และ MapR
  • Hadoop Distribution ของผู้ผลิต Hardware: ผู้ผลิต Hardware บางรายก็จะทำ Hadoop Distribution ออกมา และมักจะแนะนำให้ผู้ใช้เลือกใช้เครื่อง Server ของตัวเองอาทิเช่น IBM Inforsphere BigInsight, Pivotal HD ของ EMC และ Teradata
  • Hadoop Distribution ของผู้ให้บริการ Cloud: กลุ่มนี้จะเป็น Hadoop ที่รันอยู่บน Cloud เท่านั้นและไม่สามารถติดตั้งบน Server ทั่วไปได้ ตัวอย่างของ Hadoop ในกลุ่มนี้คือ Amazon EMR และ  Microsoft Azure HDInsight

Screenshot 2015-05-23 08.59.41

รูปที่ 2 ประเภทของ Hadoop Distribution

ผมเองเคยทดลองใช้และติดตั้ง Hadoop Cluster สำหรับ Distribution ต่างๆดังนี้ Apache Hadoop, Cloudera, Hortonworks, Amazon EMR, Microsoft Azure และ Google Cloud Platform ซึ่งการติดตั้ง Hadoop Cluster จะมีปัญหาในเรื่องการหา Server ผมจึงเลือกใช้ Virtual Server ที่อยู่บน Cloud ที่เป็น EC2 ของ Amazon Web Services หรือไม่ก็จะเลือกใช้ Hadoop as a Services ที่อยู่บน Cloud ซึ่งง่ายต่อการติดตั้ง สำหรับเอกสารการติดตั้ง Hadoop Distribution ต่างๆที่ผมและทีมงานเคยเขียนไว้หรือจากแหล่งอื่นๆมีดังนี้

จากการทดลองติดตั้งใช้งาน Cluster ต่างๆ ขอเปรียบเทียบดังนี้

  • Apache Hadoop Distribution: มีข้อเด่นคือเป็น Opensource และไม่ต้องห่วงเรื่อง License การใช้งานแต่มีข้อจำกัดคือเราต้องบริหารจัดการ Distribution ต่างๆของ Hadoop เอง ซึ่งบางครั้งอาจจะเจอปัญหาเรื่อง Bug หรือ Conflict ระหว่าง version ตัวอย่างเช่น Flume 1.5 อาจจะต้องปรับบางไฟล์เพื่อให้ทำงานกับ Hadoop 2.7 ได้ นอกจากนี้ขั้นตอนในการติดตั้งต่างๆจะยากกว่า Distribution ต่างๆ
  • Hortonworks สามารถติดตั้งได้โดยง่ายแต่ผู้ใช้ต้องจัดการลง SSH ในแต่ Server เอง ข้อดีอีกอย่างคือมี โปรแกรมบริหาร Cluster ทีเป็น Opensource ที่ชื่อ Ambari ทำให้เพิ่มหรือลด Server  ได้โดยง่าย

Screenshot 2015-05-23 09.13.03

  • Cloudera น่าจะเป็น  Distribution ทีติดตั้งได้ง่ายที่สุดที่ผมได้ทดลองมา ข้อดีอีกอย่างคืมีโปรแกรม  Hue ที่ช่วยทำ Web GUI สำหรับผู้ต้องการใช้งาน Hadoop ส่วนโปรแกรมจัดการ Cluster คือ  Cloudera Manager นั้นอาจผูกติดกับบริษัท Cloudera ไปหน่อย

Screenshot 2015-05-23 09.13.13

  • Hadoop as a Service on Cloud มีข้อดีคือติดตั้งได้โดยอัตโนมัติ เราเพียงแต่บอกขนาดของ Server จำนวนโหนด และซอฟต์แวร์ที่ต้องการจะติดตั้ง จากประสบการณ์ของผมค่อนข้างจะชอบของ  Amazon EMR มากสุด แต่การใช้งาน Hadoop as a Service มีข้อจำกัดตรงต้องใช้ Hadoop และ Ecosystem  ตามที่ผู้ให้บริการ Cloud กำหนดมาเท่านั้น เราไม่สามารถเลือกใช้เองได้

ผมคิดว่าทางที่ดีที่สุดสำหรับผู้ต้องการทดลองทำ Big Data คือทดลองติดตั้ง Hadoop Distribution ใดก็ได้บน Cloud Server แล้วเราจะเข้าใจระบบและการใช้งานได้ดีขึ้น

ธนชาติ นุ่มนนท์

IMC Institute

พฤษภาคม 2558

เอกสารการอบรม Big Data Certification Course (ตอนที่ 1)

1531916_493272750820070_1175909514908117233_n

IMC Institute เปิดหลักสูตร Big Data Certification รุ่นที่หนึ่งตั้งแต่กลางเดือนมีนาคมนี้ มีผู้เข้าอบรมร่วม 30 ท่านจากหลายๆหน่วยงานทั้งภาครัฐและภาคเอกชน  โดยมีวิทยากรร่วม 7 ท่านโดยมีการสอนทั้งหมด 4 โมดูลคือ

  • Module 1: Big Data Essentials and NoSQL
  • Module 2: Big Data Using Hadoop
  • Module 3: Business Intelligence Design&Process
  • Module 4: Data Scientist Essentials

ซึ่งตอนนี้ได้มีการอบรมเสร็จไปแล้วสองโมดูล ผมจึงขอนำเอกสารการบรรยายทั้งสองโมดูลมาแชร์ให้ดังนี้

Module 1: Big Data Essentials and NoSQL

Module 2: Big Data Using Hadoop

ธนชาติ นุ่มนนท์

IMC Institute

พฤษภาคม 2558

งานประชุม Hadoop Summit 2015

Screenshot 2015-04-18 14.07.05

สัปดาห์นี้ผมเดินทางมาเมือง Brussels ประเทศเบลเยี่ยม เพื่อร่วมงาน Hadoop Summit 2015 ซึ่งเป็นงานประจำปีของกลุ่มคนที่สนใจเทคโนโลยี Hadoop สำหรับการทำ Big Data ซึ่งจัดเป็นประจำทุกปี และปีนี้เป็นปีที่แปด โดยปีนี้นอกจากจัดงานที่ San Jose สหรัฐอเมริกาแล้วยังมาจัดในยุโรปที่ประเทศเบลเยี่ยม ซึ่งก็เป็นครั้งแรกที่จัดขึ้นที่นี่ โดยปีที่แล้วจัดที่ประเทศเนเธอร์แลนด์

เจ้าภาพงาน Hadoop Summit คือบริษัท Hortonworks หนึ่งใน Hadoop Distributor รายใหญ่ ซึ่งได้รับสนับสนุนโดยบริษัท Yahoo จึงไม่แปลกใจที่เห็น Keynote รายๆหลายที่เป็นพันธมิตรกับ Hortonworks อาทิเช่น Yahoo, IBM, SAP และ Microsoft และก็มี vendor รายใหญ่ๆอีกหลายรายเข้ามาเป็น sponsor ในงานนี้ไม่ว่าจะเป็น HP, EMC, Cisco, Teradata, Cloudera, Intel, Google. pentaho, SAS หรือ BMC มีคนรวมงานมากกว่า 1,500 คน ซึ่งงานนี้มี session การบรรยายของ Hadoop Distributor เกือบทุกรายทั้ง Cloudera, Hortonworks, MapR, IBM, Pivoltal และ Teradata รวมถึง Distributor บน Cloud ที่เป็น Hadoop as a Service อย่าง Microsoft Azure HDInsight และ Google Cloud Platform ถ้าจะขาดรายใหญ่ก็คงแค่ Amazon Web Services ที่มี Hadoop Distribution บน Cloud รายใหญ่อีกรายหนึ่ง

Screenshot 2015-04-18 14.06.17

การบรรยายงานนี้น่าสนใจมาก ทำให้ได้เห็นแนวโน้มของ Hadoop ที่คงไม่ได้เป็นแค่เทคโนโลยีธรรมดาแล้ว แต่มันกำลังกลายเป็น Data Opearting System (Data OS) สำหรับรัน Application ต่างๅในการเก็บและวิเคราะห์ข้อมูลทุกรูปแบบทั้ง Structure และ Unstructure Data นอกจากนี้ Forrester ยังระบุอีกด้วยว่าต่อไปทุกองค์กรจะต้องใช้ Hadoop เหมือนกับที่ทุกองค์กรต้องใช้ฐานข้อมูล RDBMS ในการเก็บข้อมูลในปัจจุบัน แน่นอนครับว่า Hadoop มีอนาคตที่ชัดเจนและเป็นหนึ่งในเทคโนโลยีที่น่าศึกษา และเป็นอนาคตของผู้ที่กำลังศึกษาด้านคอมพิวเตอร์ อาจบอกได้ว่าถ้าอยากได้งานที่ดีในอนาคตคงต้องมาศึกษาเทคโนโลยีอย่าง Hadoop และวิชาอย่าง Data Science หรือ Machine Learning

อีกเรื่องหนึ่งที่เป็นการประกาศที่สำคัญในงานนี้คือการรวมตัวของ Vendors รายต่างๆทั้ง Hortonworks, IBM, Yahoo, Pivotal, SAP. ในการสร้างมาตราฐาน Open Data Platform เพื่อให้เทคโนโลยีต่างๆที่มี vendor หลายรายทำอยู่ให้มีมาตราฐานเดียวกัน เพื่อสร้าง competibility โดยในเบื้องต้นเน้นอยู่ที่สองเทคโนโลยีหลักคือ Hadoop และ Ambari ที่เป็น open source สำหรับการบริหารจัดการ Hadoop Cluster

งาน Summit นี้มีหัวข้อทางด้าน Business ที่พูดถึงการนำ Hadoop มาใช้งานในหลายๆองค์กรและหลายคลัสเตอร์ทั้งกลุ่ม Bank, Telecom, Energy, Transportaion และ Retails โดยมีการพูดถึงเครื่องมือในวิเคราะห์ข้อมูลเพื่อทำ BI มากมายทั้ง Tabular, Pentaho, SAP หรือ SAS และก็ยังเน้นการถึงเทคโนโลยีในการทำ Data Analytics อย่าง Spark หรือ Mahout งานนี้มี sesion ในการบรรยายพูดเทคโนโลยีสำหรับ Hadoop 2 อย่าง YARN, Tez, Storm, Hive, Pig, Spark, Solr, Kafka, Lambda. และอื่นๆ โดยมีหัวข้อต่างที่น่าสนใจอาทิเช่น

  • 5 Ways Hadoop Is Changing The World And 2 Ways It Will Change Yours
  • Unlocking Hadoop’s Potential
  • Hadoop in the Enterprise
  • Design Patterns for Real Time Streaming Data Analytics
  • Making the Case for Hadoop in a Large Enterprise
  • Hive Now Sparks
  • Storm as an ETL Engine to Hadoop
  • Hadoop YARN: Past, Present and Future
  • Hadoop in the Cloud – Common Architectural Patterns
  • Driving Enterprise Data Governance for Big Data systems through Apache Falcon
  • Oozie or Easy: Managing Hadoop Workflows the EASY Way

ข้อมูลในงานทั้งหมดนี้ผมจะนำมาบรรยายสรุปในงานฟรีสัมมนา Thailand Hadoop User Group ครั้งที่ 3 ที่ทาง IMC institute ตั้งใจจะจัดร่วมกับสำนักงานรัฐบาลอิเล็กทรอนิกส์ (EGA) ในปลายเดือนพฤษภาคม

ธนชาติ นุ่มนนท์

IMC Institute

เมษายน 2558