บูตสแตรป Modern Data Stack ใน 5 นาทีด้วย Terraform
Modern Data Stack คืออะไรและคุณจะปรับใช้อย่างไร คู่มือนี้จะกระตุ้นให้คุณเริ่มต้นการเดินทางด้วยคำแนะนำในการตั้งค่า Airbyte, BigQuery, dbt, Metabase และทุกอย่างที่คุณต้องการโดยใช้ Terraform
By ต้วนเหงียน, CTO & สมาชิกคณะกรรมการที่ Joon Solutions.
สถาปัตยกรรม Data Stack สมัยใหม่ (ภาพโดยผู้เขียน)
กองข้อมูลสมัยใหม่คืออะไร
Modern Data Stack (MDS) คือกลุ่มเทคโนโลยีที่ทำให้คลังข้อมูลสมัยใหม่ทำงานได้ดีกว่าคลังข้อมูลแบบเดิม 10–10,000 เท่า ในที่สุด MDS จะช่วยประหยัดเวลา เงิน และความพยายาม เสาหลักสี่ประการของ MDS คือ a ตัวเชื่อมต่อข้อมูลที่ คลังข้อมูลบนคลาวด์ที่ ตัวแปลงข้อมูลและใน BI & การสำรวจข้อมูล เครื่องมือ
สะดวกสบาย บูรณาการ เป็นไปได้ด้วยเครื่องมือที่มีการจัดการและโอเพนซอร์สที่สร้างตัวเชื่อมต่อที่พร้อมใช้งานล่วงหน้าหลายร้อยรายการ สิ่งที่เคยใช้ทีมวิศวกรข้อมูลเพื่อสร้างและบำรุงรักษาอย่างสม่ำเสมอ ในปัจจุบันสามารถแทนที่ด้วยเครื่องมือสำหรับกรณีการใช้งานทั่วไป โซลูชันที่มีการจัดการเช่น ตะเข็บ และ Fivetraร่วมกับโซลูชั่นโอเพ่นซอร์สเช่น แอร์ไบต์ และ เมลทาโน, กำลังทำให้สิ่งนี้เกิดขึ้น
การใช้ คลังข้อมูลเสาบนคลาวด์ ได้รับแนวโน้มเมื่อเร็ว ๆ นี้เนื่องจากประสิทธิภาพและความคุ้มค่าสูง แทนที่จะจ่าย $100K ต่อปีสำหรับฐานข้อมูล MPP ในสถานที่ (การประมวลผลแบบขนานขนาดใหญ่) คุณสามารถเริ่มจ่ายได้ตั้งแต่ $100 (หรือน้อยกว่า) ต่อเดือน คลังข้อมูลแบบ Cloud-native นั้นเร็วกว่า OLTP แบบเดิม 10–10,000 เท่า ตัวเลือกยอดนิยมในหมวดนี้คือ BigQuery, เกล็ดหิมะและ redshift.
ในสมัยก่อน การประมวลผลข้อมูลภายในคลังข้อมูลเป็นคอขวดเนื่องจากข้อจำกัดของเทคโนโลยี ด้วยเหตุนี้ บริษัทต่างๆจึงต้องให้ความสำคัญกับ ETL แทน ELT เพื่อลดปริมาณงานของคลังข้อมูล ด้วยความก้าวหน้าของคลังข้อมูลบนคลาวด์ อย่างไรก็ตาม หลายๆ เครื่องมือการแปลงข้อมูลในคลัง กำลังเป็นที่นิยม ที่โดดเด่นที่สุดในหมวดหมู่นี้คือ dbt (เครื่องมือสร้างข้อมูล) และ Dataform
เครื่องมือ BI เคยดูแลการเปลี่ยนแปลงบางอย่างเพื่อลดปริมาณงานในคลังข้อมูลเดิมด้วย อย่างไรก็ตาม ด้วยสแต็กข้อมูลที่ทันสมัย จุดเน้นของเครื่องมือ BI (ในความคิดของฉัน) ได้เปลี่ยนไป (ในความคิดของฉัน) เพื่อทำให้การเข้าถึงข้อมูล การบริการตนเอง และการค้นพบข้อมูลเป็นประชาธิปไตย เครื่องมือบางอย่างที่ฉันคิดว่ามาถูกทางคือ Looker, เมตาเบสและ ซูเปอร์.
สถาปัตยกรรมของเรา
การเริ่มต้นใช้งาน Modern Data Stack อาจเป็นเรื่องที่น่ากลัวเนื่องจากมีเครื่องมือและกระบวนการต่างๆ ที่เกี่ยวข้องมากมาย บทความนี้มีจุดมุ่งหมายเพื่อช่วยให้คุณเริ่มต้นการเดินทางนี้ได้อย่างราบรื่นที่สุด มีขั้นตอนการเตรียมการมากมายแต่ต้องใช้เวลา ห้านาที เพื่อหมุนทรัพยากรทั้งหมดเมื่อคุณทำเสร็จแล้ว
เราจะใช้ terraformซึ่งเป็นเครื่องมือโอเพนซอร์สแบบโครงสร้างพื้นฐานเป็นโค้ดเพื่อจัดเตรียมทุกอย่างใน Google Cloud หากคุณทำตามคำแนะนำด้านล่าง ต่อไปนี้คือแหล่งข้อมูลที่จะสร้างขึ้น
- โครงการ Google Cloud ที่เปิดใช้งาน API ที่จำเป็น
- การส่งผ่านข้อมูล: อินสแตนซ์ GCE ที่เรียกใช้ Airbyte
- คลังสินค้า: ชุดข้อมูล BigQuery
- Orchestration (ไม่บังคับ): อินสแตนซ์ GCE ที่เรียกใช้ Airflow
- BI & การค้นพบข้อมูล: อินสแตนซ์ GCE ที่รัน Metabase
- บัญชีบริการสำหรับบริการต่างๆ & การผูกสิทธิ์ IAM
เริ่มต้นเลย
สร้างบัญชี Google Cloud และเปิดใช้งานการเรียกเก็บเงิน
โค้ด Terraform ในโครงการนี้จะโต้ตอบกับ Google Cloud Platform ดังนั้น ขั้นตอนแรกของเราคือการสร้างบัญชี Google และ เปิดใช้งานการเรียกเก็บเงิน. หมายเหตุ รหัสการเรียกเก็บเงิน ด้วยรูปแบบต่อไปนี้ในหน้าการเรียกเก็บเงิน: ######-######-######. คุณจะต้องใช้ค่านี้ในขั้นตอนต่อไป
ติดตั้ง Google Cloud CLI
ติดตั้ง Google Cloud SDK ตามคำแนะนำ โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม สำหรับระบบปฏิบัติการของคุณ หลังจากที่คุณมี จีคลาวด์ ติดตั้ง CLI แล้ว รันคำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัลและทำตามคำแนะนำ ซึ่งจะทำให้ Terraform ใช้ข้อมูลรับรองเริ่มต้นสำหรับการตรวจสอบสิทธิ์
gcloud auth การเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน
ติดตั้ง terraform
ทำตามคำแนะนำ โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม เพื่อติดตั้ง Terraform CLI ในเครื่อง เรียกใช้คำสั่งต่อไปนี้ในภายหลังเพื่อตรวจสอบการติดตั้งของคุณ:
ดิน -v
คุณควรเห็นสิ่งต่างๆดังนี้:
Terraform v1.0.0 บน darwin_amd64 + ผู้ให้บริการ registry.terraform.io/hashicorp/google v3.71.0
แยกหรือโคลน repo นี้ในเครื่อง
คุณสามารถ แยก repo นี้ ไปยังบัญชีของคุณหรือโคลนไปยังเครื่องท้องถิ่นของคุณ ในการโคลน repo ให้รันสิ่งต่อไปนี้:
โคลน git https://github.com/tuanchris/modern-data-stack cd modern-data-stack
สร้าง terraform.tfvars ไฟล์
สร้าง terraform.tfvars ไฟล์ที่มีเนื้อหาต่อไปนี้:
# รหัสการเรียกเก็บเงินจากขั้นตอนแรก billing_id = ######-######-###### # ID โฟลเดอร์ที่คุณต้องการให้โครงการของคุณอยู่ภายใต้ # เว้นว่างไว้หากคุณใช้ บัญชีส่วนบุคคล folder_id = "" # ID องค์กรที่คุณต้องการให้โครงการของคุณอยู่ภายใต้ # เว้นว่างไว้หากคุณใช้บัญชีส่วนบุคคล org_id = "" # โครงการเพื่อสร้าง project_id = ""
การเตือน: สิ่งเหล่านี้ถือเป็นค่าที่ละเอียดอ่อน อย่าคอมมิตไฟล์นี้และ *.tfstate ไฟล์ไปยัง repo สาธารณะ
ปรับแต่งค่าใน ตัวแปร.tf
ตัวแปรใน ตัวแปร.tf จะใช้สำหรับการกำหนดค่าทรัพยากร
รูปภาพโดยผู้เขียน
คุณสามารถปรับแต่งประเภทเครื่องสำหรับบริการต่างๆ ได้โดยการเปลี่ยนตัวแปร หากคุณไม่ต้องการใช้บริการใด ๆ แสดงความคิดเห็นใน gce.tf ไฟล์
คุณยังสามารถสร้างชุดข้อมูลที่แตกต่างกันสำหรับระบบต้นทางของคุณโดยเพิ่มลงในพจนานุกรมชุดข้อมูลต้นทาง
สร้างกองข้อมูลที่ทันสมัย
สุดท้าย ในการจัดเตรียมทรัพยากรทั้งหมดเหล่านี้บน Google Cloud ให้รันคำสั่งต่อไปนี้:
ใช้ภูมิประเทศ
รูปภาพโดยผู้เขียน
ศึกษาผลลัพธ์ในเทอร์มินัลเพื่อให้แน่ใจว่าการตั้งค่าทรัพยากรทั้งหมดเป็นสิ่งที่คุณต้องการให้เป็น พิมพ์ ใช่ และกด เข้าสู่.
Terraform จะสร้างโครงการ Google Cloud ด้วยกองข้อมูลที่ทันสมัยของเรา ขั้นตอนทั้งหมดจะใช้เวลาประมาณ 2-3 นาที จะใช้เวลาเพิ่มอีก 2-3 นาทีในการติดตั้งบริการบนอินสแตนซ์ VM กระบวนการทั้งหมดจะใช้เวลาเพียง 5 นาทีหรือน้อยกว่า
การใช้ data stack ที่ทันสมัย
ดึงบัญชีบริการสำหรับบริการต่างๆ
รูปภาพโดยผู้เขียน
Google แนะนำให้ใช้บัญชีบริการอื่นสำหรับบริการต่างๆ รหัส terraform ในโครงการได้สร้างบัญชีที่แตกต่างกันสำหรับเทคโนโลยีต่างๆ ที่ใช้ไปแล้ว ในการเรียกข้อมูลบัญชีบริการสำหรับบริการเฉพาะ ให้เรียกใช้คำสั่งต่อไปนี้:
เอาต์พุตเทอร์ราฟอร์ม [ชื่อบริการ]_sa_key
สิทธิ์เริ่มต้นสำหรับบัญชีเหล่านี้ทั้งหมดคือ บทบาท/bigquery.admin. คุณสามารถปรับแต่งสิ่งนี้ได้ใน iam.tf ไฟล์
ค่าที่คุณได้รับกลับคือการเข้ารหัส base64 หากต้องการเปลี่ยนค่านี้กลับเป็นรูปแบบ JSON ให้รันคำสั่งต่อไปนี้:
echo "[ค่าจากคำสั่งก่อนหน้า]" | ฐาน64 -d
คุณสามารถใช้บัญชีบริการ JSON เพื่อตรวจสอบสิทธิ์การเข้าถึงบริการสำหรับทรัพยากรของโปรเจ็กต์ของคุณ
การเตือน: ทุกคนที่มีบัญชีบริการนี้สามารถเข้าถึงโครงการของคุณได้
นำเข้าข้อมูลด้วย Airbyte
แอร์ไบต์ เป็นเครื่องมือการรวมข้อมูลโอเพนซอร์ซที่ยอดเยี่ยม ในการเข้าถึง Airbyte UI ก่อนอื่น ให้รับคำสั่ง gcloud SSH
รูปภาพโดยผู้เขียน
คุณจะได้รับคำสั่งคล้ายกับสิ่งนี้:
gcloud เบต้าคำนวณ ssh -- โซน "asia-southeast1-a" "tf-airbyte-demo-airbyte" -- โครงการ "tf-airbyte-demo"
ถัดไป เพิ่มคำสั่งต่อไปนี้เพื่อส่งต่อ Airbyte UI ในเครื่อง:
-- -L 8000:localhost:8000 -L 8001:localhost:8001 -N -f
คำสั่งสุดท้ายของคุณจะมีลักษณะดังนี้:
gcloud beta compute ssh -- โซน "asia-southeast1-a" "tf-airbyte-demo-airbyte" -- โครงการ "tf-airbyte-demo" -- -L 8000:localhost:8000 -L 8001:localhost:8001 - N -f
หมายเหตุ อย่าลืมลบอักขระขึ้นบรรทัดใหม่หลังจากคัดลอกจาก GCP UI
หากอินสแตนซ์ Airbyte เริ่มทำงานเสร็จแล้ว คุณสามารถเข้าถึงได้โดยไปที่เบราว์เซอร์และไปที่ localhost: 8000. หากไม่เป็นเช่นนั้น ให้รอห้านาทีเพื่อให้การติดตั้งเสร็จสิ้น
รูปภาพโดยผู้เขียน
ตอนนี้คุณสามารถผสานรวมแหล่งที่มาของคุณ เพิ่มปลายทาง BigQuery โดยใช้ airbyte_sa_keyและข้อมูลของคุณใน BigQuery ในเวลาไม่นาน
คุณสามารถเข้าถึงการติดตั้ง Airbyte ได้ที่ /แอร์ไบท์/ ภายใน VM
โมเดลข้อมูลด้วย dbt
DBT (เครื่องมือสร้างข้อมูล) เป็นเครื่องมือแปลงข้อมูลโอเพนซอร์สที่มีประสิทธิภาพโดยใช้ SQL ช่วยให้นักวิเคราะห์ข้อมูลทำงานที่สงวนไว้ก่อนหน้านี้สำหรับวิศวกรข้อมูล นอกจากนี้ยังช่วยสร้างตำแหน่งใหม่ทั้งหมดที่เรียกว่า Analytics Engineer ซึ่งเป็นลูกผสมของ Data Analyst และ Data Engineer คุณสามารถอ่านเพิ่มเติมเกี่ยวกับตำแหน่งในบล็อกของฉัน โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม.
รูปภาพโดยผู้เขียน
ต่างจาก Airbyte, Airflow และ Metabase คุณไม่จำเป็นต้องมีเซิร์ฟเวอร์เพื่อเรียกใช้ dbt คุณสามารถลงทะเบียนสำหรับบัญชี 1 ที่นั่งฟรี (ตลอดไป) โดยไปที่ เว็บไซต์.
จัดการเวิร์กโฟลว์ด้วย Airflow
Airflow เป็นเครื่องมือประสานเวิร์กโฟลว์ที่ได้รับการพิสูจน์แล้วจากการต่อสู้ที่สร้างโดย Airbnb ด้วยสแต็กข้อมูลที่ทันสมัย หวังว่าคุณจะไม่ต้องใช้ Airflow มากนัก อย่างไรก็ตาม ในบางกรณีที่จำเป็นต้องมีการปรับแต่งบางอย่าง Airflow สามารถเป็นเครื่องมือที่คุณคู่ควร
ในการเข้าถึง UI ให้รับคำสั่ง SSH ที่คล้ายกับส่วนด้านบนด้วย Airbyte ใช้คำสั่งต่อไปนี้สำหรับ port-forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --project "tf-airbyte-demo" --L 8080:localhost:8080 -N -f
ตอนนี้คุณสามารถเข้าถึงการติดตั้ง Airflow ได้ที่ localhost: 8080. ชื่อผู้ใช้และรหัสผ่านเริ่มต้นคือ ผู้ดูแลระบบ และ ผู้ดูแลระบบ.
รูปภาพโดยผู้เขียน
สามารถเข้าไปติดตั้งระบบไหลเวียนอากาศได้ที่ /กระแสลม/ ภายใน VM
แสดงภาพข้อมูลด้วย Metabase
เมตาเบส เป็นเครื่องมือสร้างภาพข้อมูลและการค้นพบโอเพนซอร์ส ใช้งานง่ายสุด ๆ และเริ่มต้นได้ง่าย
ในการเข้าถึง Metabase UI ให้รับคำสั่ง SSH ที่คล้ายกับส่วนด้านบนด้วย Airbyte จากนั้น ใช้คำสั่งต่อไปนี้สำหรับ port-forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --project "tf-airbyte-demo" -- -L 3000:localhost:3000 -N -f
รูปภาพโดยผู้เขียน
ทำความสะอาด
เพื่อหลีกเลี่ยงค่าใช้จ่ายที่ไม่ต้องการ โปรดล้างทรัพยากรที่สร้างในโปรเจ็กต์นี้ด้วยการรัน
ทำลายภูมิประเทศ
คำเตือน: การดำเนินการนี้จะลบข้อมูลและทรัพยากรที่เหลืออยู่ในโปรเจ็กต์ หรือคุณสามารถปิด GCE ที่ไม่ได้ใช้เพื่อประหยัดค่าใช้จ่ายได้เช่นกัน
Original. โพสต์ใหม่โดยได้รับอนุญาต
Bio: ต้วนเหงียน เป็น CTO ของ Joon Solutions ซึ่งเป็นบริษัท Data as a Service ประสบการณ์ระดับมืออาชีพของเขาเกี่ยวกับการสร้างและจัดการทีมวิทยาศาสตร์ข้อมูล โครงสร้างพื้นฐานด้านการวิเคราะห์ และกรณีการใช้งานการวิเคราะห์ เขาชอบที่จะผสมผสานความหลงใหลในการวิเคราะห์ข้อมูลและการประมวลผลแบบคลาวด์เข้าด้วยกันเพื่อช่วยให้ธุรกิจสามารถแข่งขันได้ในยุคดิจิทัลนี้ เขามีความสนใจที่หลากหลาย รวมถึงดาราศาสตร์ การอ่าน ดนตรี และ IoT
ที่เกี่ยวข้อง
ที่มา: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- เข้า
- ลงชื่อเข้าใช้
- เพิ่มเติม
- Airbnb
- ทั้งหมด
- นักวิเคราะห์
- การวิเคราะห์
- อาปาเช่
- API
- สถาปัตยกรรม
- รอบ
- บทความ
- ดาราศาสตร์
- การยืนยันตัวตน
- รถยนต์
- เบต้า
- คำถามใหญ่
- การเรียกเก็บเงิน
- บล็อก
- คณะกรรมการ
- สมาชิกของคณะกรรมการ
- ชายแดน
- เบราว์เซอร์
- สร้าง
- การก่อสร้าง
- ธุรกิจ
- ซึ่ง
- กรณี
- เมฆ
- คอมพิวเตอร์เมฆ
- แพลตฟอร์มคลาวด์
- รหัส
- บริษัท
- บริษัท
- คำนวณ
- การคำนวณ
- เนื้อหา
- ค่าใช้จ่าย
- การสร้าง
- CTO
- ข้อมูล
- การเข้าถึงข้อมูล
- วิเคราะห์ข้อมูล
- การรวมข้อมูล
- วิทยาศาสตร์ข้อมูล
- การสร้างภาพข้อมูล
- คลังข้อมูล
- คลังข้อมูล
- ฐานข้อมูล
- วัน
- การเรียนรู้ลึก ๆ
- ทำลาย
- ดิจิตอล
- ผู้อำนวยการ
- การค้นพบ
- วิศวกร
- วิศวกร
- ประสบการณ์
- ชื่อจริง
- โฟกัส
- ปฏิบัติตาม
- รูป
- ฟรี
- ทองคำ
- Google Cloud
- GPUs
- ให้คำแนะนำ
- โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม
- จุดสูง
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- HTTPS
- ร้อย
- เป็นลูกผสม
- AMI
- ภาพ
- รวมทั้ง
- โครงสร้างพื้นฐาน
- บูรณาการ
- ร่วมมือ
- IOT
- IT
- เรียนรู้
- การเรียนรู้
- ในประเทศ
- ในท้องถิ่น
- เรียนรู้เครื่อง
- การทำ
- กลาง
- ML
- เงิน
- ดนตรี
- ออนไลน์
- เปิด
- โอเพนซอร์ส
- ความคิดเห็น
- Options
- รหัสผ่าน
- การปฏิบัติ
- เวที
- ยอดนิยม
- โครงการ
- สาธารณะ
- พิสัย
- การอ่าน
- ลด
- ทรัพยากร
- แหล่งข้อมูล
- วิ่ง
- วิ่ง
- วิทยาศาสตร์
- นักวิทยาศาสตร์
- SDK
- บริการตัวเอง
- บริการ
- ง่าย
- โซลูชัน
- สปิน
- SQL
- เริ่มต้น
- ข้อความที่เริ่ม
- เข้าพัก
- จำนวนชั้น
- ระบบ
- เทคโนโลยี
- เวลา
- ด้านบน
- การแปลง
- การเปลี่ยนแปลง
- ui
- ความคุ้มค่า
- การสร้างภาพ
- รอ
- คลังสินค้า
- ความหมายของ
- งาน
- เวิร์กโฟลว์
- X
- ปี