เริ่มต้นใช้งาน AWS Athena

AWS Athena เป็น Query service ที่เอาไว้ใช้ query ข้อมูลจากแหล่งต่างๆด้วยภาษา sql ช่วยให้เราดึงข้อมูลจำนวนมากได้ภายในเวลาที่ไม่นานและการ Athena เป็น serverless service ค่าใช้จ่ายจึงคิดตามจำนวนข้อมูลที่ดึงออกมาเท่านั้นโดยเริ่มที่ 5 USD ต่อ 1TB เท่านั้น

เริ่มต้นใช้งาน Athena

สิ่งที่เราต้องเตรียมพร้อมไว้ก่อนใช้งาน Athena คือ

Data source: ต้นทางของข้อมูลที่จะใช้งาน ไม่ว่าจะเป็น Glue Data Catalog, RDS หรือ DynamoDB เป็นตัน

Query result bucket: S3 bucket เอาไว้เก็บผลลัพธ์จากการ query

Go to Athena

วิธีเข้าใช้งาน Athena ผ่าน AWS Console

Step 1: เข้าไปยัง Athena โดยการ Search หาได้เลย


Step 2: เมื่อเข้ามาที่ Athena และให้ทำการ Expand Navbar ด้านซ้ายมือ เราจะพบกับ feature ทั้งหมดของ Athena

Create Athena Data source

ตามที่ได้เกริ่นไปในตอนต้น Athena เป็นเพียง Query service จำเป็นต้องมีต้นทางของข้อมูลให้มันใช้งาน เราจะพาทุกคนไปดูว่า Athena สามารถใช้งาน Data souces อะไรได้อีกบ้าง

Step 1: ใน Navbar ด้านซ้ายมือ ให้เข้าไปที่ Data sources

Step 2: เราจะเจอกับ AwsDataCatalog ถูกสร้างไว้เป็น Default หรือมันก็คือ Database ที่อยู่ใน Data Catalog ของ AWS Glue นั้นเอง

Step 3: ถ้าต้องการเพิ่ม Data source ที่มากจากที่อื่น ให้กดที่ Create data source

Step 4: เลือก data source ที่ต้องการ

Step 5: กด Next เพื่อไปขั้นตอนต่อไป

Step 6: ใส่ Configuration ที่จำเป็นให้ครบถ้วน

Step 7: กด Next

Step 8: ตรวจสอบความถูกต้องของการตั้งค่า จากนั้นกด Create data source เพื่อสร้าง Data source

Step 9: เมื่อกลับไปหน้า Data sources เราจะพบว่ามี data source ที่สร้างใหม่เพิ่มขึ้นมา

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

Query result setting

หนึ่งสิ่งที่จำเป็นมากๆก่อนจะทำการ query data ได้ก็คือ S3 bucket สำหรับเก็บ query result

Step 1: สร้าง S3 สำหรับเก็บ query result

Step 2: ใน Athena ให้เข้าไปที่ Query Editor หรือกด Launch query editor ก็ได้

Step 3: เมือเข้ามาที่หน้า query editor ให้เลือกที่ setting

Step 4: เลือกที่ Manage

Step 5: Browse S3 แล้วเลือก bucket ที่เราสร้างไว้

Step 6: กด Save

Step 7: ในหน้า Setting ตรง Query result location จะแสดงให้เห็น S3 Bucket ที่เราเลือก

Query data with Athena

เมื่อเรา setting ในส่วนของ query result location เรียบร้อย เราก็พร้อมที่จะใช้งาน Query Editor ได้แล้ว

Note: หัวข้อนี้เป็นภาคต่อของการใช้งาน Glue ดังนั้นผมแนะนำว่าให้เรียนในหัวข้อ What is Glue ให้จบก่อนค่อยเริ่มดูเนื้อหาต่อจากนี้นะครับ

Step 1: ใน Query Editor เลือกไปยัง Editor Tab

Step 2: เลือก Data source เป็น AwsDataCatalog

Step 3: เลือก Database เป็น customer_database

Step 4: ที่ Table customer_parquet ให้กดตรงจุด 3 จุด

Step 5: เลือก Preview Table เพื่อ Query ข้อมูลจาก Table ขึ้นมาแสดง

Step 6: ทดลองเปลี่ยน query โดยเราจะ query เฉพาะ age ที่น้อยกว่า 30


SELECT * FROM "customer_database"."customer_parquet" 
WHERE age < 30
limit 10;

Step 7: เมื่อแก้ไข query เสร็จแล้วให้กด Run again

Summary

Athena เป็น service ที่ทรงพลังและการเริ่มต้นใช้งานก็ง่ายมากๆ แถมราคายังถูกมากอีกด้วยเมื่อเทียบกับ service อื่นๆที่คล้ายกัน เพียงแค่ไม่กี่ขั้นตอนก็สามารถเชื่อมต่อไป service ต่างๆที่อยู่ใน AWS ได้อย่างง่ายดาย หรือแม้แต่ service ที่ไม่ได้อยู่ใน AWS ก็ตาม และในการ Query โดยใช้ภาษา SQL ก็ช่วยให้การค้นหาข้อมูลนั้นง่ายขึ้น ลดความซับซ้อนในการเรียนรู้ภาษาอื่นเพิ่มเติมอีกด้วย และทั้งหมดนี้เป็นการใช้งานผ่าน web console ล้วนๆ รวมถึงเป็น serverless ทั้งหมด หมดปัญหาที่ต้อง provision เครื่อง server ขึ้นมาใช้งาน

-------- Data Engineer Course ----------

เริ่มต้นใช้งาน AWS Athena -> https://www.vultureprime.com/how-to/what-is-aws-athena

เริ่มต้นใช้งาน AWS Quicksight -> https://www.vultureprime.com/how-to/what-is-aws-quicksight

การคำนวนค่าใช้จ่ายของ Data Pipeline - Basic Level -> https://www.vultureprime.com/how-to/how-to-calcualte-etl-cost-basic-level

No items found.
Aa

© 2023, All Rights Reserved, VulturePrime co., ltd.