การโหลดข้อมูล

Data Engineering เบื้องต้น

Vincent Vankrunkelsven

Data Engineer, DataCamp

ฐานข้อมูลสำหรับการวิเคราะห์หรือแอปพลิเคชัน

การวิเคราะห์ข้อมูล

ไอคอนแสดงการวิเคราะห์ข้อมูล

  • คิวรีแบบรวมข้อมูล (aggregate queries)
  • การประมวลผลเชิงวิเคราะห์แบบออนไลน์ (OLAP)

แอปพลิเคชัน

ไอคอนแสดงแอปพลิเคชัน

  • มีธุรกรรมจำนวนมาก
  • การประมวลผลธุรกรรมแบบออนไลน์ (OLTP)
Data Engineering เบื้องต้น

การจัดเก็บแบบคอลัมน์และแบบแถว

การวิเคราะห์ข้อมูล

  • จัดเก็บแบบคอลัมน์ (column-oriented)

ตัวอย่างการจัดเก็บแบบคอลัมน์

  • คิวรีเฉพาะบางคอลัมน์
  • ประมวลผลแบบพาราเรล

แอปพลิเคชัน

  • จัดเก็บแบบแถว (row-oriented)

ตัวอย่างการจัดเก็บแบบแถว

  • จัดเก็บตามแต่ละเรคอร์ด
  • เพิ่มข้อมูลตามแต่ละธุรกรรม
  • เช่น การเพิ่มลูกค้าทำได้เร็ว
Data Engineering เบื้องต้น

ฐานข้อมูล MPP

ฐานข้อมูลแบบ Massively Parallel Processing

แผนภาพฐานข้อมูล MPP

 

  • Amazon Redshift
  • Azure SQL Data Warehouse
  • Google BigQuery
Data Engineering เบื้องต้น

ตัวอย่าง: Redshift

โหลดจากไฟล์ไปยังรูปแบบการจัดเก็บแบบคอลัมน์

# Pandas .to_parquet() method
df.to_parquet("s3://path/to/bucket/customer.parquet")
# PySpark .write.parquet() method
df.write.parquet("s3://path/to/bucket/customer.parquet")
COPY customer
FROM 's3://path/to/bucket/customer.parquet'
FORMAT as parquet
...
Data Engineering เบื้องต้น

โหลดข้อมูลไปยัง PostgreSQL

pandas.to_sql()

# Transformation on data
recommendations = transform_find_recommendatins(ratings_df)

# Load into PostgreSQL database
recommendations.to_sql("recommendations",
                       db_engine,
                       schema="store",
                       if_exists="replace")
Data Engineering เบื้องต้น

มาฝึกกันเถอะ!

Data Engineering เบื้องต้น

Preparing Video For Download...