ปีที่แล้วเราได้ประกาศความพร้อมใช้งานทั่วไปของ RStudio บน Amazon SageMakerซึ่งเป็น RStudio Workbench สภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) ที่มีการจัดการเต็มรูปแบบรายแรกของอุตสาหกรรมในระบบคลาวด์ คุณสามารถเปิดใช้ RStudio IDE ที่คุ้นเคยได้อย่างรวดเร็ว และเรียกเลขหมายขึ้นและลงทรัพยากรการประมวลผลพื้นฐานโดยไม่รบกวนการทำงานของคุณ ทำให้ง่ายต่อการสร้างการเรียนรู้ของเครื่อง (ML) และโซลูชันการวิเคราะห์ใน R ตามขนาด
ผู้ใช้ RStudio บน SageMaker หลายคนก็เป็นผู้ใช้เช่นกัน อเมซอน Redshiftคลังข้อมูลแบบขนานขนาดมหึมาที่มีการจัดการเต็มรูปแบบ ขนาดเพตะไบต์ สำหรับการจัดเก็บข้อมูลและปริมาณงานเชิงวิเคราะห์ ทำให้การวิเคราะห์ข้อมูลทั้งหมดของคุณรวดเร็ว ง่ายดาย และคุ้มค่าโดยใช้ SQL มาตรฐานและเครื่องมือข่าวกรองธุรกิจ (BI) ที่คุณมีอยู่ ผู้ใช้ยังสามารถโต้ตอบกับข้อมูลด้วย ODBC, JDBC หรือ Amazon Redshift Data API
การใช้ RStudio บน SageMaker และ Amazon Redshift จะเป็นประโยชน์ในการวิเคราะห์ชุดข้อมูลขนาดใหญ่ในระบบคลาวด์ได้อย่างมีประสิทธิภาพ อย่างไรก็ตาม การทำงานกับข้อมูลในระบบคลาวด์สามารถนำเสนอความท้าทาย เช่น ความจำเป็นในการลบไซโลข้อมูลขององค์กร รักษาความปลอดภัยและการปฏิบัติตามกฎระเบียบ และลดความซับซ้อนด้วยการสร้างมาตรฐานเครื่องมือ AWS นำเสนอเครื่องมือต่างๆ เช่น RStudio บน SageMaker และ Amazon Redshift เพื่อช่วยรับมือกับความท้าทายเหล่านี้
ในบล็อกโพสต์นี้ เราจะแสดงวิธีใช้ทั้งสองบริการนี้ร่วมกันเพื่อดำเนินการวิเคราะห์ชุดข้อมูลขนาดใหญ่ในระบบคลาวด์อย่างมีประสิทธิภาพ พร้อมรับมือกับความท้าทายที่กล่าวถึงข้างต้น บล็อกนี้มุ่งเน้นไปที่ Rstudio บนภาษา Amazon SageMaker โดยมีนักวิเคราะห์ธุรกิจ วิศวกรข้อมูล นักวิทยาศาสตร์ข้อมูล และนักพัฒนาทั้งหมดที่ใช้ภาษา R และ Amazon Redshift เป็นกลุ่มเป้าหมาย
หากคุณต้องการใช้ประสบการณ์ SageMaker Studio แบบดั้งเดิมกับ Amazon Redshift โปรดดูที่ การใช้ Amazon Redshift Data API เพื่อโต้ตอบจากสมุดบันทึก Amazon SageMaker Jupyter.
ภาพรวมโซลูชัน
ในบล็อกวันนี้ เราจะดำเนินการตามขั้นตอนต่อไปนี้:
- การโคลนที่เก็บตัวอย่างด้วยแพ็คเกจที่จำเป็น
- การเชื่อมต่อกับ Amazon Redshift ด้วยการเชื่อมต่อ ODBC ที่ปลอดภัย (ODBC เป็นโปรโตคอลที่ต้องการสำหรับ RStudio).
- การเรียกใช้การสืบค้นและการดำเนินการ SageMaker API กับข้อมูลภายใน Amazon Redshift Serverless ผ่าน RStudio บน SageMaker
กระบวนการนี้อธิบายไว้ในสถาปัตยกรรมโซลูชันต่อไปนี้:
แนวทางการแก้ปัญหา
เบื้องต้น
ก่อนเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดทั้งหมดสำหรับการตั้งค่า RStudio บน Amazon SageMaker และ Amazon Redshift Serverless เช่น:
เราจะใช้ CloudFormation stack เพื่อสร้างโครงสร้างพื้นฐานที่จำเป็น
หมายเหตุ หากคุณมีโดเมน RStudio และคลัสเตอร์ Amazon Redshift อยู่แล้ว คุณสามารถข้ามขั้นตอนนี้ได้
การเรียกใช้สแต็กนี้จะสร้างทรัพยากรต่อไปนี้:
- 3 ซับเน็ตส่วนตัว
- 1 ซับเน็ตสาธารณะ
- 1 เกตเวย์ NAT
- เกตเวย์อินเทอร์เน็ต
- คลัสเตอร์ Amazon Redshift Serverless
- โดเมน SageMaker กับ RStudio
- โปรไฟล์ผู้ใช้ SageMaker RStudio
- บทบาทบริการ IAM สำหรับการดำเนินการโดเมน SageMaker RStudio
- บทบาทบริการ IAM สำหรับการดำเนินการโปรไฟล์ผู้ใช้ SageMaker RStudio
เทมเพลตนี้ออกแบบมาเพื่อทำงานในภูมิภาค (เช่น us-east-1
, us-west-2
) ที่มี Availability Zone สามแห่ง RStudio บน SageMaker และ Amazon Redshift Serverless ตรวจสอบให้แน่ใจว่าภูมิภาคของคุณสามารถเข้าถึงทรัพยากรเหล่านั้นได้ หรือแก้ไขเทมเพลตตามนั้น
กด เรียกใช้ Stack ปุ่มเพื่อสร้างกอง
- เกี่ยวกับ สร้าง stack หน้าให้เลือก ถัดไป.
- เกี่ยวกับ ระบุรายละเอียดกอง ระบุชื่อสแต็กของคุณและปล่อยให้ตัวเลือกที่เหลือเป็นค่าเริ่มต้น จากนั้นเลือก ถัดไป.
- เกี่ยวกับ กำหนดค่าตัวเลือกสแต็ก หน้า ปล่อยให้ตัวเลือกเป็นค่าเริ่มต้นแล้วกด ถัดไป.
- เกี่ยวกับ หน้ารีวิวให้เลือก
- ฉันรับทราบว่า AWS CloudFormation อาจสร้างทรัพยากร IAM ด้วยชื่อที่กำหนดเอง
- ฉันรับทราบว่า AWS CloudFormation อาจต้องการความสามารถดังต่อไปนี้: CAPABILITY_AUTO_EXPANDช่องทำเครื่องหมายและเลือก ส่ง.
เทมเพลตจะสร้างห้ากอง
เมื่อสถานะสแต็กเป็น CREATE_COMPLETEไปที่คอนโซล Amazon Redshift Serverless นี่คือความสามารถใหม่ที่ทำให้การเรียกใช้การวิเคราะห์ในระบบคลาวด์เป็นเรื่องง่ายมากด้วยประสิทธิภาพสูงในทุกขนาด เพียงโหลดข้อมูลของคุณและเริ่มการค้นหา ไม่จำเป็นต้องตั้งค่าและจัดการคลัสเตอร์
หมายเหตุ: รูปแบบที่แสดงในบล็อกนี้ที่รวม Amazon Redshift และ RStudio บน Amazon SageMaker จะเหมือนกันโดยไม่คำนึงถึงรูปแบบการปรับใช้ Amazon Redshift (แบบไร้เซิร์ฟเวอร์หรือคลัสเตอร์แบบดั้งเดิม)
กำลังโหลดข้อมูลใน Amazon Redshift Serverless
สคริปต์ CloudFormation สร้างฐานข้อมูลที่เรียกว่า sagemaker
. มาเติมฐานข้อมูลนี้ด้วยตารางสำหรับผู้ใช้ RStudio เพื่อสอบถาม สร้างแท็บตัวแก้ไข SQL และตรวจสอบให้แน่ใจว่า sagemaker
เลือกฐานข้อมูลแล้ว เราจะใช้ ข้อมูลธุรกรรมบัตรเครดิตสังเคราะห์ เพื่อสร้างตารางในฐานข้อมูลของเรา ข้อมูลนี้เป็นส่วนหนึ่งของชุดข้อมูลตารางตัวอย่าง SageMaker s3://sagemaker-sample-files/datasets/tabular/synthetic_credit_card_transactions
.
เราจะดำเนินการค้นหาต่อไปนี้ในตัวแก้ไขแบบสอบถาม สิ่งนี้จะสร้างสามตาราง บัตร, ธุรกรรม, และ ผู้ใช้.
คุณสามารถตรวจสอบว่าการสืบค้นทำงานได้สำเร็จโดยดูตารางสามตารางในบานหน้าต่างด้านซ้ายของตัวแก้ไขแบบสอบถาม
เมื่อเติมตารางทั้งหมดแล้ว ให้ไปที่ SageMaker RStudio และเริ่มเซสชันใหม่ด้วย RSession base image บนอินสแตนซ์ ml.m5.xlarge
เมื่อเปิดใช้เซสชัน เราจะเรียกใช้โค้ดนี้เพื่อสร้างการเชื่อมต่อกับฐานข้อมูล Amazon Redshift Serverless
หากต้องการดูตารางในสคีมาสังเคราะห์ คุณจะต้องให้สิทธิ์การเข้าถึงใน Amazon Redshift ผ่านตัวแก้ไขคิวรี่
อาร์เอส สตูดิโอ การเชื่อมต่อ บานหน้าต่างควรแสดง sagemaker
ฐานข้อมูลที่มีสคีมาสังเคราะห์และการ์ดตาราง ธุรกรรม ผู้ใช้
คุณสามารถคลิกไอคอนตารางถัดจากตารางเพื่อดู 1,000 ระเบียน
หมายเหตุ: เราได้สร้างไฟล์ R Markdown ที่สร้างไว้ล่วงหน้าพร้อมบล็อกโค้ดทั้งหมดที่สร้างไว้ล่วงหน้าซึ่งสามารถพบได้ในโครงการ repo GitHub.
ทีนี้มาใช้ DBI
ฟังก์ชั่นแพ็คเกจ dbListTables()
เพื่อดูตารางที่มีอยู่
ใช้ dbGetQuery() เพื่อส่งแบบสอบถาม SQL ไปยังฐานข้อมูล
เรายังสามารถใช้ไฟล์ dbplyr
และ dplyr
แพ็คเกจเพื่อดำเนินการค้นหาในฐานข้อมูล กันเถอะ count()
จำนวนธุรกรรมที่อยู่ในตารางธุรกรรม แต่ก่อนอื่น เราต้องติดตั้งแพ็คเกจเหล่านี้ก่อน
ใช้ tbl()
ฟังก์ชันในขณะที่ระบุสคีมา
ลองนับจำนวนแถวสำหรับแต่ละตาราง
ดังนั้นเราจึงมีผู้ใช้ 2,000 คน 6,146 ใบ; และ 24,386,900 รายการ เรายังสามารถดูตารางในคอนโซล
transactions_tbl
เรายังสามารถดูอะไร dplyr
คำกริยากำลังทำภายใต้ประทุน
ลองสำรวจจำนวนธุรกรรมต่อปีด้วยภาพ
เรายังสามารถสรุปข้อมูลในฐานข้อมูลได้ดังนี้
สมมติว่าเราต้องการดูการฉ้อโกงโดยใช้ข้อมูลบัตร เราเพียงแค่ต้องรวมตารางแล้วจัดกลุ่มตามแอตทริบิวต์
ตอนนี้มาเตรียมชุดข้อมูลที่สามารถใช้สำหรับแมชชีนเลิร์นนิง มากรองข้อมูลธุรกรรมเพื่อรวมบัตรเครดิต Discover ไว้ในขณะที่เก็บคอลัมน์ย่อยไว้เท่านั้น
และตอนนี้มาทำความสะอาดโดยใช้การแปลงต่อไปนี้:
- แปลง
is_fraud
เป็นแอตทริบิวต์ไบนารี - ลบสตริงการทำธุรกรรมจาก
use_chip
และเปลี่ยนชื่อเป็นพิมพ์ - รวมปี เดือน และวันลงในวัตถุข้อมูล
- ลบ $ ออกจากจำนวนเงินและแปลงเป็นประเภทข้อมูลตัวเลข
ตอนนี้เราได้กรองและล้างชุดข้อมูลของเราแล้ว เราก็พร้อมที่จะรวบรวมชุดข้อมูลนี้ลงใน RAM ในเครื่อง
ตอนนี้เรามีชุดข้อมูลที่ใช้งานได้เพื่อเริ่มสร้างฟีเจอร์และปรับโมเดลให้เหมาะสม เราจะไม่กล่าวถึงขั้นตอนเหล่านั้นในบล็อกนี้ แต่ถ้าคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการสร้างโมเดลใน RStudio บน SageMaker โปรดดูที่ ประกาศ RStudio ที่มีการจัดการเต็มรูปแบบบน Amazon SageMaker สำหรับนักวิทยาศาสตร์ข้อมูล.
ทำความสะอาด
หากต้องการล้างทรัพยากรใดๆ เพื่อหลีกเลี่ยงค่าใช้จ่ายที่เกิดซ้ำ ให้ลบเทมเพลตรูท CloudFormation ลบการเมาต์ EFS ทั้งหมดที่สร้างขึ้น รวมถึงบัคเก็ตและอ็อบเจ็กต์ S3 ใดๆ ที่สร้างขึ้นด้วย
สรุป
การวิเคราะห์ข้อมูลและการสร้างแบบจำลองอาจเป็นเรื่องที่ท้าทายเมื่อทำงานกับชุดข้อมูลขนาดใหญ่ในระบบคลาวด์ Amazon Redshift เป็นคลังข้อมูลยอดนิยมที่สามารถช่วยผู้ใช้ดำเนินการเหล่านี้ได้ RStudio ซึ่งเป็นหนึ่งในสภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) ที่ใช้กันอย่างแพร่หลายสำหรับการวิเคราะห์ข้อมูล มักใช้กับภาษา R ในบล็อกโพสต์นี้ เราได้แสดงวิธีใช้ Amazon Redshift และ RStudio บน SageMaker ร่วมกันเพื่อทำการวิเคราะห์ชุดข้อมูลขนาดใหญ่อย่างมีประสิทธิภาพ เมื่อใช้ RStudio บน SageMaker ผู้ใช้สามารถใช้ประโยชน์จากโครงสร้างพื้นฐานที่มีการจัดการเต็มรูปแบบ การควบคุมการเข้าถึง เครือข่าย และความสามารถด้านความปลอดภัยของ SageMaker ในขณะเดียวกันก็ทำให้การผสานรวมกับ Amazon Redshift ง่ายขึ้น หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการใช้เครื่องมือทั้งสองนี้ร่วมกัน โปรดดูบล็อกโพสต์และแหล่งข้อมูลอื่นๆ ของเรา คุณยังสามารถลองใช้ RStudio บน SageMaker และ Amazon Redshift ด้วยตัวคุณเอง และดูว่าพวกมันสามารถช่วยคุณในการวิเคราะห์ข้อมูลและงานสร้างแบบจำลองได้อย่างไร
โปรดเพิ่มความคิดเห็นของคุณในบล็อกนี้ หรือสร้างคำขอดึงบน GitHub.
เกี่ยวกับผู้เขียน
ไรอันการ์เนอร์ เป็นนักวิทยาศาสตร์ข้อมูลที่มีบริการระดับมืออาชีพของ AWS เขามีความกระตือรือร้นในการช่วยให้ลูกค้า AWS ใช้ R เพื่อแก้ปัญหาด้าน Data Science และ Machine Learning
ราชปฏัก เป็นสถาปนิกอาวุโสด้านโซลูชันและเทคโนโลยีที่เชี่ยวชาญด้านบริการทางการเงิน (ประกันภัย การธนาคาร ตลาดทุน) และการเรียนรู้ของเครื่อง เขาเชี่ยวชาญด้าน Natural Language Processing (NLP), Large Language Models (LLM) และ Machine Learning โครงสร้างพื้นฐานและการดำเนินงานโครงการ (MLOps)
อดิติ รานิช เป็นนักศึกษาวิศวกรรมซอฟต์แวร์ชั้นปีที่ XNUMX ที่มหาวิทยาลัยวอเตอร์ลู ความสนใจของเธอ ได้แก่ คอมพิวเตอร์วิทัศน์ การประมวลผลภาษาธรรมชาติ และเอดจ์คอมพิวติ้ง เธอยังหลงใหลเกี่ยวกับการเผยแพร่และการสนับสนุน STEM ในชุมชน ในเวลาว่าง เธออาจไปปีนเขา เล่นเปียโน หรือเรียนรู้วิธีการอบสโคนที่สมบูรณ์แบบ
สายิชา ผุดี เป็น Solutions Architect ที่ AWS ซึ่งตั้งอยู่ในเมืองดัลลัส รัฐเท็กซัส เขาอยู่กับ AWS มานานกว่า 3 ปีแล้ว ช่วยให้ลูกค้าได้รับศักยภาพที่แท้จริงของ AWS ด้วยการเป็นที่ปรึกษาที่เชื่อถือได้ เขามาจากพื้นฐานด้านการพัฒนาแอปพลิเคชัน มีความสนใจในวิทยาศาสตร์ข้อมูลและการเรียนรู้ของเครื่อง
- AI
- ไอ อาร์ต
- เครื่องกำเนิดไออาร์ท
- หุ่นยนต์ไอ
- อเมซอน Redshift
- อเมซอน SageMaker
- ปัญญาประดิษฐ์
- ใบรับรองปัญญาประดิษฐ์
- ปัญญาประดิษฐ์ในการธนาคาร
- หุ่นยนต์ปัญญาประดิษฐ์
- หุ่นยนต์ปัญญาประดิษฐ์
- ซอฟต์แวร์ปัญญาประดิษฐ์
- AWS Machine Learning AWS
- blockchain
- การประชุม blockchain ai
- เหรียญอัจฉริยะ
- ปัญญาประดิษฐ์สนทนา
- การประชุม crypto ai
- ดัล-อี
- การเรียนรู้ลึก ๆ
- ผู้เชี่ยวชาญ (400)
- google ai
- เรียนรู้เครื่อง
- เพลโต
- เพลโตไอ
- เพลโตดาต้าอินเทลลิเจนซ์
- เกมเพลโต
- เพลโตดาต้า
- เพลโตเกม
- ขนาดไอ
- วากยสัมพันธ์
- วิธีการทางเทคนิค
- ลมทะเล