AWS กาวสตูดิโอ เป็นอินเทอร์เฟซแบบกราฟิกที่ทำให้ง่ายต่อการสร้าง เรียกใช้ และตรวจสอบงานแยก แปลง และโหลด (ETL) ใน AWS กาว. ช่วยให้คุณเขียนเวิร์กโฟลว์การแปลงข้อมูลด้วยภาพโดยใช้โหนดที่แสดงขั้นตอนการจัดการข้อมูลที่แตกต่างกัน ซึ่งภายหลังจะถูกแปลงเป็นโค้ดโดยอัตโนมัติเพื่อเรียกใช้
AWS กาวสตูดิโอ เพิ่งเปิดตัว การแปลงภาพเพิ่มเติม 10 แบบเพื่อให้สามารถสร้างงานขั้นสูงในรูปแบบภาพโดยไม่ต้องใช้ทักษะการเขียนโค้ด ในโพสต์นี้ เราจะพูดถึงกรณีการใช้งานที่เป็นไปได้ซึ่งสะท้อนถึงความต้องการทั่วไปของ ETL
การแปลงใหม่ที่จะแสดงให้เห็นในโพสต์นี้ได้แก่: เชื่อมข้อมูล แยกสตริง อาร์เรย์ไปยังคอลัมน์ เพิ่มการประทับเวลาปัจจุบัน เปลี่ยน Pivot แถวเป็นคอลัมน์ ยกเลิกการเปลี่ยน Pivot คอลัมน์เป็นแถว ค้นหา ขยายอาร์เรย์หรือแมปลงในคอลัมน์ คอลัมน์ที่ได้รับมา และการประมวลผลสมดุลอัตโนมัติ .
ภาพรวมโซลูชัน
ในกรณีการใช้งานนี้ เรามีไฟล์ JSON บางส่วนที่มีการทำงานของตัวเลือกหุ้น เราต้องการแปลงก่อนที่จะจัดเก็บข้อมูลเพื่อให้ง่ายต่อการวิเคราะห์ และเรายังต้องการสร้างชุดข้อมูลสรุปแยกต่างหาก
ในชุดข้อมูลนี้ แต่ละแถวแสดงถึงการซื้อขายสัญญาออปชั่น ออปชันคือเครื่องมือทางการเงินที่ให้สิทธิ์—แต่ไม่ใช่ข้อผูกมัด—ในการซื้อหรือขายหุ้นในราคาคงที่ (เรียกว่า ราคาใช้สิทธิ) ก่อนวันหมดอายุที่กำหนด
ป้อนข้อมูล
ข้อมูลเป็นไปตามสคีมาต่อไปนี้:
- สั่งซื้อ_id - รหัสเฉพาะ
- เครื่องหมาย – รหัสโดยทั่วไปใช้ตัวอักษรสองสามตัวเพื่อระบุบริษัทที่ปล่อยหุ้นอ้างอิง
- ตราสาร – ชื่อที่ระบุตัวเลือกเฉพาะที่กำลังซื้อหรือขาย
- เงินตรา – รหัสสกุลเงิน ISO ที่แสดงราคา
- ราคา – จำนวนเงินที่จ่ายสำหรับการซื้อสัญญาออปชันแต่ละรายการ (ในการแลกเปลี่ยนส่วนใหญ่ หนึ่งสัญญาอนุญาตให้คุณซื้อหรือขายหุ้น 100 หุ้น)
- ตลาดแลกเปลี่ยน – รหัสของศูนย์แลกเปลี่ยนหรือสถานที่ที่ซื้อขายออปชัน
- ขาย – รายการจำนวนสัญญาที่จัดสรรให้กรอกคำสั่งขายเมื่อเป็นการขาย
- ซื้อ – รายการจำนวนสัญญาที่จัดสรรให้กรอกคำสั่งซื้อเมื่อเป็นการซื้อขายแบบซื้อ
ต่อไปนี้คือตัวอย่างข้อมูลสังเคราะห์ที่สร้างขึ้นสำหรับโพสต์นี้:
ข้อกำหนด ETL
ข้อมูลนี้มีลักษณะเฉพาะหลายประการ ซึ่งมักพบในระบบเก่า ซึ่งทำให้ข้อมูลใช้งานยากขึ้น
ต่อไปนี้เป็นข้อกำหนด ETL:
- ชื่อตราสารมีข้อมูลที่มีค่าซึ่งมีวัตถุประสงค์เพื่อให้มนุษย์เข้าใจ เราต้องการทำให้เป็นมาตรฐานในคอลัมน์แยกต่างหากเพื่อการวิเคราะห์ที่ง่ายขึ้น
- แอตทริบิวต์
bought
และsold
เป็นเอกสิทธิ์เฉพาะบุคคล; เราสามารถรวมเป็นคอลัมน์เดียวที่มีหมายเลขสัญญา และมีคอลัมน์อื่นระบุว่าสัญญาซื้อหรือขายตามลำดับนี้หรือไม่ - เราต้องการเก็บข้อมูลเกี่ยวกับการจัดสรรสัญญาแต่ละรายการแต่เป็นข้อมูลแต่ละแถว แทนที่จะบังคับให้ผู้ใช้จัดการกับอาร์เรย์ของตัวเลข เราสามารถบวกเลขได้ แต่เราจะสูญเสียข้อมูลเกี่ยวกับวิธีการสั่งซื้อ (ซึ่งบ่งชี้ถึงสภาพคล่องของตลาด) แต่เราเลือกที่จะทำให้ตารางไม่ปกติเพื่อให้แต่ละแถวมีจำนวนสัญญาเดียว โดยแยกคำสั่งซื้อที่มีหลายหมายเลขออกเป็นแถวแยกกัน ในรูปแบบคอลัมน์ที่บีบอัด ขนาดชุดข้อมูลเพิ่มเติมของการทำซ้ำนี้มักจะมีขนาดเล็กเมื่อใช้การบีบอัด ดังนั้นจึงเป็นที่ยอมรับในการทำให้ชุดข้อมูลค้นหาได้ง่ายขึ้น
- เราต้องการสร้างตารางสรุปปริมาณสำหรับแต่ละประเภทออปชั่น (call and put) สำหรับหุ้นแต่ละตัว สิ่งนี้บ่งชี้ถึงอารมณ์ของตลาดสำหรับหุ้นแต่ละตัวและตลาดโดยทั่วไป (ความโลภ vs. ความกลัว)
- เพื่อเปิดใช้งานการสรุปการค้าโดยรวม เราต้องการจัดเตรียมผลรวมทั้งหมดสำหรับการดำเนินการแต่ละรายการ และสร้างมาตรฐานของสกุลเงินเป็นดอลลาร์สหรัฐ โดยใช้การอ้างอิงการแปลงโดยประมาณ
- เราต้องการเพิ่มวันที่ที่การเปลี่ยนแปลงเหล่านี้เกิดขึ้น สิ่งนี้อาจมีประโยชน์ เช่น เพื่อใช้อ้างอิงเมื่อมีการแปลงสกุลเงิน
จากข้อกำหนดเหล่านั้น งานจะสร้างผลลัพธ์สองรายการ:
- ไฟล์ CSV พร้อมสรุปจำนวนสัญญาสำหรับแต่ละสัญลักษณ์และประเภท
- ตารางแค็ตตาล็อกเพื่อเก็บประวัติของคำสั่งซื้อ หลังจากทำการเปลี่ยนแปลงที่ระบุ
เบื้องต้น
คุณต้องมีบัคเก็ต S3 ของคุณเองเพื่อติดตามพร้อมกับกรณีการใช้งานนี้ หากต้องการสร้างบัคเก็ตใหม่ โปรดดูที่ การสร้างถัง.
สร้างข้อมูลสังเคราะห์
หากต้องการติดตามโพสต์นี้ (หรือทดลองกับข้อมูลประเภทนี้ด้วยตัวคุณเอง) คุณสามารถสร้างชุดข้อมูลนี้แบบสังเคราะห์ได้ สคริปต์ Python ต่อไปนี้สามารถเรียกใช้บนสภาพแวดล้อม Python โดยติดตั้ง Boto3 และเข้าถึงได้ บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (อเมซอน เอส3).
หากต้องการสร้างข้อมูล ให้ทำตามขั้นตอนต่อไปนี้:
- บน AWS Glue Studio ให้สร้างงานใหม่ด้วยตัวเลือก ตัวแก้ไขสคริปต์ Python เชลล์.
- ตั้งชื่องานและบน รายละเอียดงาน แท็บ เลือก ก บทบาทที่เหมาะสม และชื่อสำหรับสคริปต์ Python
- ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร รายละเอียดงาน ส่วนขยาย คุณสมบัติขั้นสูง และเลื่อนลงไป พารามิเตอร์งาน.
- ป้อนพารามิเตอร์ชื่อ
--bucket
และกำหนดเป็นค่าชื่อของบัคเก็ตที่คุณต้องการใช้เพื่อเก็บข้อมูลตัวอย่าง - ป้อนสคริปต์ต่อไปนี้ลงในตัวแก้ไข AWS Glue shell:
- เรียกใช้งานและรอจนกว่าจะแสดงเป็นเสร็จสมบูรณ์บนแท็บ เรียกใช้ (ควรใช้เวลาเพียงไม่กี่วินาที)
การรันแต่ละครั้งจะสร้างไฟล์ JSON ที่มี 1,000 แถวภายใต้บัคเก็ตที่ระบุและคำนำหน้า transformsblog/inputdata/
. คุณสามารถรันงานได้หลายครั้ง หากคุณต้องการทดสอบกับไฟล์อินพุตเพิ่มเติม
แต่ละบรรทัดในข้อมูลสังเคราะห์คือแถวข้อมูลที่แสดงถึงออบเจ็กต์ JSON ดังต่อไปนี้:
สร้างงานภาพ AWS Glue
หากต้องการสร้างงานวิชวล AWS Glue ให้ทำตามขั้นตอนต่อไปนี้:
- ไปที่ AWS Glue Studio และสร้างงานโดยใช้ตัวเลือก ภาพด้วยผ้าใบเปล่า.
- Edit
Untitled job
เพื่อตั้งชื่อและกำหนด บทบาทที่เหมาะสมสำหรับ AWS Glue บน รายละเอียดงาน แถบ - เพิ่มแหล่งข้อมูล S3 (คุณสามารถตั้งชื่อได้
JSON files source
) และป้อน S3 URL ที่จัดเก็บไฟล์ (เช่นs3://<your bucket name>/transformsblog/inputdata/
) จากนั้นเลือก JSON เป็นรูปแบบข้อมูล - เลือก อนุมานสคีมา ดังนั้นจึงกำหนดสคีมาผลลัพธ์ตามข้อมูล
จากโหนดต้นทางนี้ คุณจะต้องผูกมัดการแปลง เมื่อเพิ่มการแปลงแต่ละครั้ง ตรวจสอบให้แน่ใจว่าโหนดที่เลือกนั้นเป็นโหนดสุดท้ายที่เพิ่ม เพื่อให้ถูกกำหนดเป็นพาเรนต์ เว้นแต่จะระบุไว้เป็นอย่างอื่นในคำแนะนำ
หากคุณไม่ได้เลือกพาเรนต์ที่ถูกต้อง คุณสามารถแก้ไขพาเรนต์ได้ตลอดเวลาโดยเลือกพาเรนต์นั้นและเลือกพาเรนต์อื่นในบานหน้าต่างการกำหนดค่า
สำหรับแต่ละโหนดที่เพิ่ม คุณจะตั้งชื่อเฉพาะ (เพื่อให้จุดประสงค์ของโหนดแสดงในกราฟ) และการกำหนดค่าบน แปลง แถบ
ทุกครั้งที่การแปลงเปลี่ยนสคีมา (เช่น เพิ่มคอลัมน์ใหม่) สคีมาเอาต์พุตจำเป็นต้องได้รับการอัปเดตเพื่อให้การแปลงดาวน์สตรีมมองเห็นได้ คุณสามารถแก้ไขสคีมาเอาต์พุตด้วยตนเองได้ แต่การดำเนินการโดยใช้การแสดงตัวอย่างข้อมูลจะเป็นประโยชน์และปลอดภัยกว่า
นอกจากนี้ วิธีนี้ทำให้คุณสามารถยืนยันได้ว่าการแปลงทำงานจนถึงระดับที่คาดไว้ ในการทำเช่นนั้น ให้เปิด ดูตัวอย่างข้อมูล แท็บที่มีการแปลงที่เลือกและเริ่มเซสชันการแสดงตัวอย่าง หลังจากที่คุณตรวจสอบแล้วว่าข้อมูลที่แปลงแล้วมีลักษณะตามที่คาดไว้ ให้ไปที่ สคีมาเอาต์พุต และเลือก ใช้สคีมาการแสดงตัวอย่างข้อมูล เพื่ออัปเดตสคีมาโดยอัตโนมัติ
เมื่อคุณเพิ่มการแปลงประเภทใหม่ การแสดงตัวอย่างอาจแสดงข้อความเกี่ยวกับการพึ่งพาที่ขาดหายไป เมื่อเป็นเช่นนี้ให้เลือก สิ้นสุดเซสชัน และเริ่มโหนดใหม่ ดังนั้นการแสดงตัวอย่างจึงเลือกโหนดประเภทใหม่
แยกข้อมูลตราสาร
เริ่มต้นด้วยการจัดการกับข้อมูลชื่อตราสารเพื่อทำให้เป็นมาตรฐานในคอลัมน์ที่เข้าถึงได้ง่ายขึ้นในตารางเอาต์พุตที่เป็นผลลัพธ์
- เพิ่ม แยกสตริง โหนดและตั้งชื่อ
Split instrument
ซึ่งจะโทเค็นคอลัมน์เครื่องมือโดยใช้ regex ช่องว่าง:s+
(ช่องว่างเดียวจะทำในกรณีนี้ แต่วิธีนี้มีความยืดหยุ่นและชัดเจนกว่า) - เราต้องการคงข้อมูลเครื่องดนตรีเดิมไว้ ดังนั้นให้ป้อนชื่อคอลัมน์ใหม่สำหรับอาร์เรย์แยก:
instrument_arr
. - เพิ่ม อาร์เรย์ไปยังคอลัมน์ โหนดและตั้งชื่อ
Instrument columns
เพื่อแปลงคอลัมน์อาร์เรย์ที่เพิ่งสร้างเป็นฟิลด์ใหม่ ยกเว้นsymbol
ซึ่งเรามีคอลัมน์อยู่แล้ว - เลือกคอลัมน์
instrument_arr
ให้ข้ามโทเค็นแรกและบอกให้แยกคอลัมน์เอาต์พุตmonth, day, year, strike_price, type
โดยใช้ดัชนี2, 3, 4, 5, 6
(การเว้นวรรคหลังเครื่องหมายจุลภาคมีไว้เพื่อให้อ่านง่าย ไม่ส่งผลต่อการกำหนดค่า)
ปีที่แยกจะแสดงด้วยตัวเลขสองหลักเท่านั้น ลองหยุดชั่วคราวเพื่อถือว่าในศตวรรษนี้ถ้าพวกเขาใช้ตัวเลขสองหลัก
- เพิ่ม คอลัมน์ที่ได้รับ โหนดและตั้งชื่อ
Four digits year
. - เข้าสู่
year
เป็นคอลัมน์ที่ได้รับจึงแทนที่ และป้อนนิพจน์ SQL ต่อไปนี้:CASE WHEN length(year) = 2 THEN ('20' || year) ELSE year END
เพื่อความสะดวก เราสร้าง expiration_date
ฟิลด์ที่ผู้ใช้สามารถใช้เป็นข้อมูลอ้างอิงของวันสุดท้ายที่สามารถใช้ตัวเลือกได้
- เพิ่ม เชื่อมต่อคอลัมน์ โหนดและตั้งชื่อ
Build expiration date
. - ตั้งชื่อคอลัมน์ใหม่
expiration_date
, เลือกคอลัมน์year
,month
และday
(ตามลำดับ) และยัติภังค์เป็นตัวเว้นวรรค
ไดอะแกรมจนถึงตอนนี้ควรมีลักษณะเหมือนตัวอย่างต่อไปนี้
การแสดงตัวอย่างข้อมูลของคอลัมน์ใหม่จนถึงตอนนี้ควรมีลักษณะเหมือนภาพหน้าจอต่อไปนี้
ปรับจำนวนสัญญาให้เป็นมาตรฐาน
แต่ละแถวในข้อมูลระบุจำนวนสัญญาของแต่ละออปชั่นที่ซื้อหรือขาย และแบทช์ที่เติมคำสั่งซื้อ โดยไม่สูญเสียข้อมูลเกี่ยวกับแต่ละแบทช์ เราต้องการให้มีจำนวนเงินแต่ละแถวในแต่ละแถวด้วยค่าจำนวนเงินเดียว ในขณะที่ข้อมูลที่เหลือจะถูกทำซ้ำในแต่ละแถวที่ผลิต
ขั้นแรก ให้รวมจำนวนเงินไว้ในคอลัมน์เดียว
- เพิ่ม Unpivot คอลัมน์เป็นแถว โหนดและตั้งชื่อ
Unpivot actions
. - เลือกคอลัมน์
bought
และsold
เพื่อ unpivot และจัดเก็บชื่อและค่าในคอลัมน์ที่มีชื่อaction
และcontracts
ตามลำดับ
สังเกตว่าในการแสดงตัวอย่างคอลัมน์ใหม่contracts
ยังคงเป็นอาร์เรย์ของตัวเลขหลังจากการแปลงนี้
- เพิ่ม ระเบิดอาร์เรย์หรือแผนที่เป็นแถว แถวชื่อ
Explode contracts
. - เลือก
contracts
คอลัมน์และป้อนcontracts
เป็นคอลัมน์ใหม่เพื่อแทนที่ (เราไม่จำเป็นต้องเก็บอาร์เรย์เดิมไว้)
การแสดงตัวอย่างตอนนี้แสดงให้เห็นว่าแต่ละแถวมีแถวเดียว contracts
จำนวนเงิน และฟิลด์ที่เหลือจะเหมือนกัน
นี่ก็หมายความว่า order_id
ไม่ใช่คีย์เฉพาะอีกต่อไป สำหรับกรณีการใช้งานของคุณเอง คุณต้องตัดสินใจว่าจะสร้างแบบจำลองข้อมูลของคุณอย่างไร และคุณต้องการทำให้เป็นปกติหรือไม่
ภาพหน้าจอต่อไปนี้เป็นตัวอย่างของลักษณะของคอลัมน์ใหม่หลังจากการเปลี่ยนแปลงจนถึงตอนนี้
สร้างตารางสรุป
ตอนนี้คุณสร้างตารางสรุปพร้อมจำนวนสัญญาซื้อขายสำหรับแต่ละประเภทและแต่ละชื่อย่อหุ้น
สมมติว่าไฟล์ที่ประมวลผลเป็นของวันเดียวกันเพื่อจุดประสงค์ในการอธิบาย ดังนั้นข้อมูลสรุปนี้จึงให้ข้อมูลแก่ผู้ใช้ทางธุรกิจเกี่ยวกับความสนใจของตลาดและความคิดเห็นในวันนั้น
- เพิ่ม เลือกฟิลด์ โหนดและเลือกคอลัมน์ต่อไปนี้เพื่อเก็บไว้เป็นข้อมูลสรุป:
symbol
,type
และcontracts
. - เพิ่ม Pivot แถวเป็นคอลัมน์ โหนดและตั้งชื่อ
Pivot summary
. - รวมบน
contracts
คอลัมน์โดยใช้sum
และเลือกแปลงไฟล์type
คอลัมน์.
โดยปกติแล้ว คุณจะจัดเก็บไว้ในฐานข้อมูลภายนอกหรือไฟล์สำหรับการอ้างอิง ในตัวอย่างนี้ เราบันทึกเป็นไฟล์ CSV บน Amazon S3
- เพิ่ม การประมวลผลสมดุลอัตโนมัติ โหนดและตั้งชื่อ
Single output file
. - แม้ว่าโดยปกติแล้วประเภทการแปลงจะใช้เพื่อปรับความขนานให้เหมาะสม แต่ในที่นี้เราใช้เพื่อลดเอาต์พุตเป็นไฟล์เดียว ดังนั้น, ป้อน
1
ในจำนวนของการกำหนดค่าพาร์ติชัน - เพิ่มเป้าหมาย S3 และตั้งชื่อ
CSV Contract summary
. - เลือก CSV เป็นรูปแบบข้อมูลและป้อนเส้นทาง S3 ที่บทบาทงานได้รับอนุญาตให้จัดเก็บไฟล์
ส่วนสุดท้ายของงานควรมีลักษณะดังนี้ตัวอย่างต่อไปนี้
- บันทึกและเรียกใช้งาน ใช้ วิ่ง แท็บเพื่อตรวจสอบว่าเสร็จสิ้นสำเร็จเมื่อใด
คุณจะพบไฟล์ใต้พาธที่เป็น CSV แม้จะไม่มีนามสกุลก็ตาม คุณอาจต้องเพิ่มส่วนขยายหลังจากดาวน์โหลดเพื่อเปิด
ในเครื่องมือที่สามารถอ่าน CSV ได้ ข้อมูลสรุปควรมีลักษณะคล้ายกับตัวอย่างต่อไปนี้
ทำความสะอาดคอลัมน์ชั่วคราว
ในการเตรียมพร้อมสำหรับการบันทึกคำสั่งซื้อลงในตารางประวัติสำหรับการวิเคราะห์ในอนาคต มาทำความสะอาดคอลัมน์ชั่วคราวบางส่วนที่สร้างขึ้นระหว่างทาง
- เพิ่ม ดร็อปฟิลด์ โหนดกับ
Explode contracts
เลือกโหนดเป็นพาเรนต์ (เรากำลังแยกท่อข้อมูลเพื่อสร้างเอาต์พุตแยกต่างหาก) - เลือกฟิลด์ที่จะทิ้ง:
instrument_arr
,month
,day
และyear
.
ส่วนที่เหลือเราต้องการเก็บไว้เพื่อบันทึกไว้ในตารางประวัติที่เราจะสร้างในภายหลัง
มาตรฐานสกุลเงิน
ข้อมูลสังเคราะห์นี้มีการดำเนินการสมมุติในสองสกุลเงิน แต่ในระบบจริง คุณสามารถรับสกุลเงินจากตลาดทั่วโลกได้ การกำหนดมาตรฐานของสกุลเงินที่จัดการให้เป็นสกุลเงินอ้างอิงเดียวนั้นมีประโยชน์ เพื่อให้สามารถเปรียบเทียบและรวมเข้าด้วยกันได้อย่างง่ายดายสำหรับการรายงานและการวิเคราะห์
เราใช้ อเมซอน อาเธน่า เพื่อจำลองตารางที่มีการแปลงสกุลเงินโดยประมาณซึ่งได้รับการอัปเดตเป็นระยะๆ (ในที่นี้ เราถือว่าเราประมวลผลคำสั่งซื้อได้ทันเวลาเพียงพอที่การแปลงจะเป็นตัวแทนที่สมเหตุสมผลสำหรับวัตถุประสงค์ในการเปรียบเทียบ)
- เปิดคอนโซล Athena ในภูมิภาคเดียวกับที่คุณใช้ AWS Glue
- เรียกใช้แบบสอบถามต่อไปนี้เพื่อสร้างตารางโดยตั้งค่าตำแหน่ง S3 ที่ทั้งบทบาท Athena และ AWS Glue ของคุณสามารถอ่านและเขียนได้ นอกจากนี้ คุณอาจต้องการจัดเก็บตารางในฐานข้อมูลอื่นที่ไม่ใช่
default
(หากคุณทำเช่นนั้น ให้อัพเดตชื่อที่มีคุณสมบัติของตารางตามตัวอย่างที่ให้ไว้) - ป้อนตัวอย่างการแปลงลงในตาราง:
INSERT INTO default.exchange_rates VALUES ('usd', 1.0), ('eur', 1.09), ('gbp', 1.24);
- ขณะนี้ คุณควรจะดูตารางได้ด้วยข้อความค้นหาต่อไปนี้:
SELECT * FROM default.exchange_rates
- กลับไปที่งานวิชวล AWS Glue เพิ่ม ค้นหา โหนด (เป็นลูกของ
Drop Fields
) และตั้งชื่อว่าExchange rate
. - ป้อนชื่อที่มีคุณภาพของตารางที่คุณเพิ่งสร้างขึ้นโดยใช้
currency
เป็นคีย์และเลือกexchange_rate
ฟิลด์ที่จะใช้
เนื่องจากฟิลด์มีชื่อเหมือนกันทั้งในข้อมูลและตารางการค้นหา เราจึงสามารถป้อนชื่อได้currency
และไม่ต้องกำหนดการแมป
ในขณะที่เขียนบทความนี้ การแปลงการค้นหาไม่ได้รับการสนับสนุนในการแสดงตัวอย่างข้อมูล และจะแสดงข้อผิดพลาดว่าไม่มีตารางอยู่ นี่เป็นเพียงการแสดงตัวอย่างข้อมูลเท่านั้น และไม่ได้ป้องกันงานไม่ให้ทำงานอย่างถูกต้อง ขั้นตอนที่เหลืออีกสองสามขั้นตอนของโพสต์นี้ไม่ต้องการให้คุณอัปเดตสคีมา หากคุณจำเป็นต้องเรียกใช้การแสดงตัวอย่างข้อมูลบนโหนดอื่น คุณสามารถลบโหนดการค้นหาชั่วคราวแล้วใส่กลับเข้าไปใหม่ได้ - เพิ่ม คอลัมน์ที่ได้รับ โหนดและตั้งชื่อ
Total in usd
. - ตั้งชื่อคอลัมน์ที่ได้รับ
total_usd
และใช้นิพจน์ SQL ต่อไปนี้:round(contracts * price * exchange_rate, 2)
- เพิ่ม เพิ่มการประทับเวลาปัจจุบัน โหนดและตั้งชื่อคอลัมน์
ingest_date
. - ใช้รูปแบบ
%Y-%m-%d
สำหรับการประทับเวลาของคุณ (เพื่อวัตถุประสงค์ในการสาธิต เราใช้วันที่เท่านั้น คุณสามารถทำให้แม่นยำยิ่งขึ้นหากต้องการ)
บันทึกตารางคำสั่งซื้อย้อนหลัง
หากต้องการบันทึกตารางประวัติคำสั่งซื้อ ให้ทำตามขั้นตอนต่อไปนี้:
- เพิ่มโหนดเป้าหมาย S3 และตั้งชื่อ
Orders table
. - กำหนดค่ารูปแบบ Parquet ด้วยการบีบอัดอย่างรวดเร็ว และระบุเส้นทางเป้าหมาย S3 เพื่อจัดเก็บผลลัพธ์ (แยกจากข้อมูลสรุป)
- เลือก สร้างตารางใน Data Catalog และในการรันครั้งต่อๆ ไป ให้อัปเดตสคีมาและเพิ่มพาร์ติชั่นใหม่.
- ป้อนฐานข้อมูลเป้าหมายและชื่อสำหรับตารางใหม่ เช่น:
option_orders
.
ตอนนี้ส่วนสุดท้ายของไดอะแกรมควรมีลักษณะคล้ายกับส่วนต่อไปนี้ โดยมีสองสาขาสำหรับสองเอาต์พุตที่แยกจากกัน
หลังจากที่คุณเรียกใช้งานสำเร็จแล้ว คุณสามารถใช้เครื่องมือเช่น Athena เพื่อตรวจสอบข้อมูลที่งานสร้างขึ้นโดยการสอบถามตารางใหม่ คุณสามารถค้นหาตารางในรายการ Athena และเลือก ดูตัวอย่างตาราง หรือเรียกใช้แบบสอบถาม SELECT (อัปเดตชื่อตารางเป็นชื่อและแค็ตตาล็อกที่คุณใช้):
SELECT * FROM default.option_orders limit 10
เนื้อหาตารางของคุณควรมีลักษณะคล้ายกับภาพหน้าจอต่อไปนี้
ทำความสะอาด
หากคุณไม่ต้องการเก็บตัวอย่างนี้ไว้ ให้ลบสองงานที่คุณสร้าง ตารางสองตารางใน Athena และพาธ S3 ที่จัดเก็บไฟล์อินพุตและเอาต์พุต
สรุป
ในโพสต์นี้ เราได้แสดงให้เห็นว่าการแปลงใหม่ใน AWS Glue Studio สามารถช่วยคุณทำการแปลงขั้นสูงเพิ่มเติมด้วยการกำหนดค่าขั้นต่ำได้อย่างไร ซึ่งหมายความว่าคุณสามารถใช้กรณีการใช้งาน ETL ได้มากขึ้นโดยไม่ต้องเขียนและดูแลโค้ดใดๆ การแปลงใหม่มีอยู่แล้วใน AWS Glue Studio ดังนั้นคุณจึงสามารถใช้การแปลงใหม่ในงานภาพของคุณได้แล้ววันนี้
เกี่ยวกับผู้เขียน
กอนซาโล่ Herreros เป็นสถาปนิก Big Data อาวุโสในทีม AWS Glue
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- เพลโตไอสตรีม. ข้อมูลอัจฉริยะ Web3 ขยายความรู้ เข้าถึงได้ที่นี่.
- การสร้างอนาคตโดย Adryenn Ashley เข้าถึงได้ที่นี่.
- ซื้อและขายหุ้นในบริษัท PRE-IPO ด้วย PREIPO® เข้าถึงได้ที่นี่.
- ที่มา: https://aws.amazon.com/blogs/big-data/ten-new-visual-transforms-in-aws-glue-studio/
- :มี
- :เป็น
- :ไม่
- :ที่ไหน
- $ ขึ้น
- 000
- 1
- 10
- 100
- 102
- 11
- 12
- 13
- 14
- ลด 15%
- 20
- 23
- 24
- 26
- 28
- 30
- 49
- 67
- 7
- 8
- 9
- 937
- 98
- a
- สามารถ
- เกี่ยวกับเรา
- ยอมรับได้
- เข้า
- ตาม
- เพิ่ม
- ที่เพิ่ม
- เพิ่ม
- สูง
- หลังจาก
- ทั้งหมด
- จัดสรร
- การจัดสรร
- อนุญาต
- ช่วยให้
- ตาม
- แล้ว
- ด้วย
- เสมอ
- อเมซอน
- จำนวน
- จำนวน
- an
- การวิเคราะห์
- วิเคราะห์
- และ
- อื่น
- ใด
- ประยุกต์
- ประมาณ
- เมษายน
- เป็น
- อาร์กิวเมนต์
- แถว
- AS
- ที่ได้รับมอบหมาย
- At
- แอตทริบิวต์
- อัตโนมัติ
- ใช้ได้
- AWS
- AWS กาว
- กลับ
- ตาม
- BE
- ก่อน
- กำลัง
- ใหญ่
- ข้อมูลขนาดใหญ่
- ว่างเปล่า
- BMW
- ทั้งสอง
- ซื้อ
- สาขา
- สร้าง
- ธุรกิจ
- แต่
- ซื้อ
- by
- โทรศัพท์
- CAN
- กรณี
- กรณี
- แค็ตตาล็อก
- ศูนย์
- ศตวรรษ
- การเปลี่ยนแปลง
- ลักษณะ
- ตรวจสอบ
- เด็ก
- Choose
- เลือก
- ชัดเจนขึ้น
- รหัส
- การเข้ารหัส
- คอลัมน์
- คอลัมน์
- ร่วมกัน
- เมื่อเทียบกับ
- การเปรียบเทียบ
- สมบูรณ์
- เสร็จ
- องค์ประกอบ
- ปลอบใจ
- รวบรวม
- มี
- เนื้อหา
- สัญญา
- สัญญา
- ความสะดวกสบาย
- การแปลง
- แปลง
- แปลง
- แปลง
- บริษัท
- ได้
- สร้าง
- ที่สร้างขึ้น
- การสร้าง
- สกุลเงิน
- เงินตรา
- ปัจจุบัน
- DAG
- ข้อมูล
- ฐานข้อมูล
- วันที่
- วันที่
- วันเวลา
- วัน
- จัดการ
- การซื้อขาย
- ตัดสินใจ
- ค่าเริ่มต้น
- กำหนด
- แสดงให้เห็นถึง
- การอยู่ที่
- ที่ได้มา
- แม้จะมี
- รายละเอียด
- ต่าง
- ตัวเลข
- สนทนา
- do
- ไม่
- การทำ
- ดอลลาร์
- Dont
- สอง
- ลง
- หล่น
- ปรับตัวลดลง
- แต่ละ
- ง่ายดาย
- อย่างง่ายดาย
- ง่าย
- บรรณาธิการ
- ทำให้สามารถ
- พอ
- เข้าสู่
- สิ่งแวดล้อม
- ความผิดพลาด
- อีเธอร์ (ETH)
- ยูโร
- ตัวอย่าง
- ตัวอย่าง
- ยกเว้น
- ตลาดแลกเปลี่ยน
- แลกเปลี่ยน
- พิเศษ
- มีอยู่
- แสดง
- ที่คาดหวัง
- การทดลอง
- การหมดอายุ
- แสดง
- นามสกุล
- ภายนอก
- พิเศษ
- สารสกัด
- ไกล
- กลัว
- สองสาม
- สวม
- สนาม
- สาขา
- เนื้อไม่มีมัน
- ไฟล์
- ใส่
- ที่เต็มไป
- ทางการเงิน
- เครื่องมือทางการเงิน
- หา
- ชื่อจริง
- การแก้ไข
- มีความยืดหยุ่น
- ปฏิบัติตาม
- ดังต่อไปนี้
- ดังต่อไปนี้
- สำหรับ
- รูป
- พบ
- ราคาเริ่มต้นที่
- อนาคต
- ปอนด์อังกฤษ
- General
- โดยทั่วไป
- สร้าง
- สร้าง
- ได้รับ
- ให้
- จะช่วยให้
- Go
- กราฟ
- โลภ
- การจัดการ
- ที่เกิดขึ้น
- มี
- มี
- ช่วย
- โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม
- ทางประวัติศาสตร์
- ประวัติ
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- HTML
- ที่ http
- HTTPS
- มนุษย์
- i
- ระบุ
- แยกแยะ
- if
- ส่งผลกระทบ
- การดำเนินการ
- นำเข้า
- in
- ดัชนี
- แสดงว่า
- บ่งชี้ว่า
- การแสดง
- การแสดง
- เป็นรายบุคคล
- ข้อมูล
- อินพุต
- ตัวอย่าง
- แทน
- คำแนะนำการใช้
- ตราสาร
- เครื่องมือ
- อยากเรียนรู้
- อินเตอร์เฟซ
- เข้าไป
- มาตรฐาน ISO
- IT
- ITS
- การสัมภาษณ์
- งาน
- jpg
- JSON
- เพียงแค่
- เก็บ
- คีย์
- ชนิด
- ชื่อสกุล
- ต่อมา
- กดไลก์
- LIMIT
- Line
- สภาพคล่อง
- รายการ
- โหลด
- ที่ตั้ง
- อีกต่อไป
- ดู
- ดูเหมือน
- LOOKS
- ค้นหา
- สูญเสีย
- แพ้
- ทำ
- เก็บรักษา
- ทำ
- ทำให้
- ด้วยมือ
- แผนที่
- การทำแผนที่
- ตลาด
- ความเชื่อมั่นของตลาด
- ตลาด
- อาจ..
- วิธี
- ผสาน
- ข่าวสาร
- อาจ
- ขั้นต่ำ
- หายไป
- แบบ
- การตรวจสอบ
- ข้อมูลเพิ่มเติม
- มากที่สุด
- หลาย
- ซึ่งกันและกัน
- ชื่อ
- ที่มีชื่อ
- ชื่อ
- จำเป็นต้อง
- ความต้องการ
- ใหม่
- ไม่
- ปม
- โหนด
- ปกติ
- ตอนนี้
- จำนวน
- ตัวเลข
- วัตถุ
- of
- มักจะ
- on
- ONE
- เพียง
- เปิด
- การดำเนินการ
- การดำเนินการ
- เพิ่มประสิทธิภาพ
- ตัวเลือกเสริม (Option)
- Options
- or
- ใบสั่ง
- คำสั่งซื้อ
- เป็นต้นฉบับ
- อื่นๆ
- มิฉะนั้น
- เอาท์พุต
- เกิน
- ทั้งหมด
- แทนที่
- ของตนเอง
- ต้องจ่าย
- บานหน้าต่าง
- พารามิเตอร์
- ส่วนหนึ่ง
- เส้นทาง
- คัดสรร
- ท่อ
- เดือย
- สถานที่
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- โพสต์
- ที่มีศักยภาพ
- ประยุกต์
- จำเป็นต้อง
- ป้องกัน
- ดูตัวอย่าง
- ราคา
- อาจ
- กระบวนการ
- การประมวลผล
- ก่อ
- ผลิต
- ให้
- ให้
- ให้
- ซื้อ
- วัตถุประสงค์
- วัตถุประสงค์
- ใส่
- หลาม
- มีคุณสมบัติ
- ยก
- สุ่ม
- อ่าน
- จริง
- เหมาะสม
- ลด
- สะท้อน
- ภูมิภาค
- ที่เหลืออยู่
- เอาออก
- การจำลองแบบ
- การรายงาน
- แสดง
- ตัวแทน
- เป็นตัวแทนของ
- แสดงให้เห็นถึง
- ต้องการ
- ความต้องการ
- ต้อง
- ตามลำดับ
- REST
- ส่งผลให้
- ผลสอบ
- ทบทวน
- บทบาท
- บทบาท
- แถว
- วิ่ง
- วิ่ง
- ปลอดภัยมากขึ้น
- เดียวกัน
- สนามเพลาะ
- ลด
- ประหยัด
- เลื่อน
- วินาที
- เลือก
- การเลือก
- ขาย
- ระดับอาวุโส
- ความรู้สึก
- แยก
- เซสชั่น
- ชุดอุปกรณ์
- การตั้งค่า
- หุ้น
- เปลือก
- น่า
- โชว์
- แสดงให้เห็นว่า
- คล้ายคลึงกัน
- ง่าย
- เดียว
- ขนาด
- ทักษะ
- เล็ก
- So
- จนถึงตอนนี้
- ขาย
- บาง
- บางสิ่งบางอย่าง
- แหล่ง
- ช่องว่าง
- ช่องว่าง
- โดยเฉพาะ
- ที่ระบุไว้
- แยก
- สเปรดชีต
- SQL
- เริ่มต้น
- ขั้นตอน
- ยังคง
- สต็อก
- การเก็บรักษา
- จัดเก็บ
- เก็บไว้
- เชือก
- สตูดิโอ
- ภายหลัง
- ประสบความสำเร็จ
- เหมาะสม
- สรุป
- ที่สนับสนุน
- เครื่องหมาย
- สังเคราะห์
- ข้อมูลสังเคราะห์
- สังเคราะห์
- ระบบ
- ระบบ
- ตาราง
- เอา
- เป้า
- ทีม
- บอก
- ชั่วคราว
- สิบ
- ทดสอบ
- กว่า
- ที่
- พื้นที่
- กราฟ
- ข้อมูล
- โลก
- พวกเขา
- แล้วก็
- ดังนั้น
- ล้อยางขัดเหล่านี้ติดตั้งบนแกน XNUMX (มม.) ผลิตภัณฑ์นี้ถูกผลิตในหลายรูปทรง และหลากหลายเบอร์ความแน่นหนาของปริมาณอนุภาคขัดของมัน จะทำให้ท่านได้รับประสิทธิภาพสูงในการขัดและการใช้งานที่ยาวนาน
- พวกเขา
- นี้
- เหล่านั้น
- เวลา
- ครั้ง
- การประทับเวลา
- ไปยัง
- ในวันนี้
- โทเค็น
- โทเค็น
- เอา
- เครื่องมือ
- รวม
- การค้า
- ซื้อขาย
- แปลง
- การแปลง
- การแปลง
- เปลี่ยน
- สอง
- ชนิด
- ภายใต้
- พื้นฐาน
- เข้าใจ
- เป็นเอกลักษณ์
- จนกระทั่ง
- บันทึก
- ให้กับคุณ
- การปรับปรุง
- URL
- us
- ดอลลาร์สหรัฐ
- USD
- ใช้
- ใช้กรณี
- มือสอง
- ผู้ใช้งาน
- ผู้ใช้
- การใช้
- มีคุณค่า
- ข้อมูลที่มีค่า
- ความคุ้มค่า
- ความคุ้มค่า
- สถานที่จัดงาน
- การตรวจสอบแล้ว
- ตรวจสอบ
- รายละเอียด
- มองเห็นได้
- ปริมาณ
- vs
- รอ
- ต้องการ
- คือ
- ทาง..
- we
- คือ
- อะไร
- เมื่อ
- ที่
- ในขณะที่
- จะ
- กับ
- ไม่มี
- ขั้นตอนการทำงาน
- การทำงาน
- โลก
- จะ
- เขียน
- การเขียน
- ปี
- เธอ
- ของคุณ
- ลมทะเล