Big data crash course, Big data architects

คอร์ส 9.5 ชม.
overview พาทัวร์ ให้รู้จัก จักรวาลของ big data
สำเนียง india english ฟังไปสักพักจะชินเอง
auto generate subtitle ถอดคำเพี้ยนเยอะหน่อย
สอนแบบเขียนบน whiteboard อ่านตามแล้วพอรู้เรื่อง

จบคอร์สนี้แล้ว ต่อด้วยคอร์ส bigdata architect
(role ที่อยู่ขวาสุดในรูป ต้องรู้ทั้งสองช่องรวมกัน admin + develop)

analyst กับ data scientist เป็นส่วนท้ายๆ ของห่วงโซ่
หน้าที่ analyst ใช้ skill น้อยสุด ประมาณ report writer สมัยก่อน

architect ของ bigdata
ได้รู้จักชื่อต่างๆ ในโลกของ big data และเห็นภาพว่าสัมพันธ์กันอย่างไร
java เป็นภาษาหลักที่ใช้พัฒนา bigdata
จะเห็นว่า SQL (database) เป็นแค่กล่องเล็กๆ อยู่ด้านบน

stage ต่างๆ ในโลกของ bigdata และ ชื่อเครื่องมือที่ใช้

2 Likes

ถอนหายใจ เฮือกๆ
มาได้ครึ่งทางแล้ว

  • haoop - hdfs insert only
  • hbase - insert / update
  • yarn (distributed / fault torrent)
  • sqoop (import / export)
  • hive - hql / hive llap (map - batch process) / hive 2 cloudera
  • impala เป็น interactive (ad-hocs) แต่ไม่เป็น fault torrent (ไม่ใช้ yarn)

ต่อ…

  • spark
  • kafka
  • nifi

Kafka vs Spark

ทั้งคู่สามารถครอบคลุม ความสามารถของ Big data tools รุ่นเก่า
ทั้งคู่ต่างมีข้อดี และข้อจำกัดแตกต่างกัน

Lambda Architecture

ยุคเก่าใช้ข้อมูลที่เก็บไว้ (batch layer) เพื่อใช้สำหรับวิเคราะห์อดีต (insight)
ยุคใหม่ใช้ข้อมูล realtime (stream layer) เอามาร่วมด้วย เพื่อตอบสนอง business flow

สายการบิน - ประวัติลูกค้าประจำ + checkin event = recommendation system (แนะนำบริการ)
ธนาคาร - ประวัติลูกค้า(ไม่ค่อยใช้จ่าย) + purchase event = fraud detection (ตรวจการใช้จ่ายที่ผิดปกติ)

ลักษณะเหมือนตัวอักษร lambda ตะแคงข้าง
ขาข้างหนึ่ง คือข้อมูล batch
ขาอีกข้าง คือข้อมูล stream
เอามารวมกัน

มีปัญหาคือ ต้องมี data ingestion เพื่อรองรับข้อมูลจากขาทั้งสองข้าง

Kappa Architecture

คิดโดย co-founder ของ confluent (kafka) เมื่อปี 2014
บอกว่า everything is a stream (database row ก็คือ event)

https://milinda.pathirage.org/kappa-architecture.com/

เปรียบเทียบ pipeline

สองรูปแรกเป็น typical คือ เมื่อ ingest ข้อมูลมาต้องพักเก็บ (store) ก่อน แล้วจึงค่อย process
stream pipeline ยังใช้วิธีคิดเหมือน batch

อีกแนวคิดหนึ่งคือ เมื่อทุกอย่างเป็น streaming จึงสามารถทำ ingest -> process แบบ on the fly เสร็จแล้วจึง store (สลับ flow ระหว่าง store กับ process)

note
เมื่อปี 2019 เคยหาข้อมูลเกี่ยวกับ everthing is a stream จากฝั่ง frontend
https://discourse.acc40.com/t/everything-is-a-stream/1929

Kafka vs Flume

NiFi vs Kafka

SQOOP vs Kafka

Storage factors

HDFS vs HBase

CAP theorem

  • Consistency
  • Availibity
  • Patition Tollerance

HBase vs KUDU

HDFS vs KUDU

HBase vs Cassandra


row oriented for OLTP
column oriented for OLAP

Spark streaming (2.x) vs Kafka streams

Hive vs Impala

Hive vs Pig

Hive vs Spark SQL

Hive vs Hive LLAP vs Impala

Hive vs KSQL

KSQL vs KSQLDB