AWS Glue คืออะไร? การแนะนำฟังก์ชันล่าสุดของ AWS ในปี 2023

2023.01.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS Glue คืออะไร ?

AWS Glue คือ serverless ที่ใช้รวบรวมข้อมูลของเซอร์วิสต่างๆ เพื่อนำมาจัดการ metadata จากหลายแหล่งข้อมูลที่แตกต่างกัน, ซึ่งสามารถปรับขนาดของข้อมูลได้, การเตรียมพร้อมใช้งาน และ พัฒนาแอพพลิเคชั่น

จนถึงเมื่อเร็วๆนี้ ผมคิดว่าเซอร์วิสนี้ถูกนำเสนอว่าเป็น "เซอร์วิสที่มีการจัดการครอบคลุมและเป็น serverless ETL service อีกด้วย" แต่เมื่อเร็วๆนี้ผมรู้สึกว่าการพัฒนาของ AWS Glue นั้นใกล้เคียงกับคำว่า "เซอร์วิส serverless ที่ใช้ในการรวบรวมข้อมูล" มากกว่า

ภาพรวมของ AWS Glue

(Source: [AWS Black Belt Online Seminar] AWS Glue -Best practices for data conversion using Glue Studio- )

  • ETL job
    • การกระจายข้อมูลจาก data source ที่เราต้องการ
    • การเปลี่ยนแปลงข้อมูลบน serverless engine
  • crawler
    • รวบรวมข้อมูลใน Data Lake และลงทะเบียน/อัปเดตข้อมูล (ข้อมูลเมตา) เกี่ยวกับประเภทข้อมูลที่อยู่ในแคตตาล็อกข้อมูล
  • data catalog
    • ระบบจะเข้าใจข้อมูลภายใน Data lake จากการทำ data catalog
    • การโหลดข้อมูลที่จำเป็นบนพื้นฐานของ data catalog เพื่อใช้ในการวิเคราะห์ข้อมูลต่างๆ
  • workflow
    • การทำ Automate ในขั้นตอนของกระบวนการทำงานจาก ETL jobs, crawlers และ data catalog

นอกเหนือจากฟังก์ชั่นทั่วไปเหล่านี้ ผมคิดว่าฟังก์ชันที่ตอบโจทย์ที่สุดในการใช้งานคือ "Glue Studio", "Glue DataBrew" และ "Glue Elastic Views" ที่ได้วางรากฐานในการทำงานแบบ "serverless ETL service" ไปยัง "serverless ที่ใช้ในการรวบรวมข้อมูล" ซึ่งมีฟังก์ชั่นที่ผมจะนำเสนอหลังจากนี้
(Source: [AWS Black Belt Online Seminar] AWS Glue -Best practices for data conversion using Glue Studio- )
จากนั้น เนื่องจากเป็นบล็อกแนะนำ ก่อนอื่นผมอยากจะแนะนำองค์ประกอบมาตรฐานของแต่ละรายการให้รู้กัน

Data catalog

Data Catalog ได้เก็บรวบรวมข้อมูลแหล่งอ้างอิงต่างๆเพื่อนำมาใช้เป็น source และ targets สำหรับการจำแนก เปลี่ยนแปลง และ load (ETL) jobs ภายใน Glue Data catalog สามารถเก็บข้อมูลอย่างเช่น ที่อยู่ของข้อมูล และ schema ของ metatables จากรูปภาพด้านล่าง แสดงให้เห็นถึงวิธีการรวบรวมข้อมูลและการสร้าง element จาก data catalog

  1. Crawler จะทำการรวบรวมข้อมูลเรียกใช้ตัวแยกประเภทที่กำหนดเองและอนุมานรูปแบบข้อมูลสคีมาต่างๆ
  2. หากตัวแยกประเภทที่กำหนดเองไม่ตรงกับสคีมาของข้อมูล ตัวแยกประเภทในตัวจะพยายามรับรู้สคีมาของข้อมูล
  3. Crawler เชื่อมต่อไปยังที่เก็บข้อมูล
  4. มีการสรุปการสร้างสคีมา
  5. Crawlers เขียนข้อมูลเมตาไปยังแคตตาล็อกข้อมูล ตารางที่จัดเก็บ metadata เกี่ยวกับ data ที่อยู่ใน datastore ตามตารางที่ถูกเขียนขึ้นลงในฐานข้อมูล ซึ่งจากกล่องของตารางภายใน data catalog แคตตาล็อกข้อมูลจัดเก็บ เฉพาะข้อกำหนดของตาราง ดังนั้นข้อมูลต้นฉบับจึงมีอยู่ในแหล่งข้อมูลเท่านั้น

แค็ตตาล็อกข้อมูลมีองค์ประกอบต่อไปนี้:

  • Database
  • Table
  • Partition
  • Connection

Database

ฐานข้อมูลใช้เพื่อจัดระเบียบตารางข้อมูลเมตาใน AWS Glue เพื่อกำหนดตารางใน Data Catalog จะเพิ่มลงในฐานข้อมูล ฐานข้อมูลสามารถมีตารางคำจำกัดความข้อมูลจากที่เก็บข้อมูลต่างๆ การลบฐานข้อมูลออกจาก Data Catalog จะลบตารางทั้งหมดในฐานข้อมูลด้วย

Table

คือตารางของ metadata ที่กำหนดให้แสดงผลข้อมูลรวมทั้ง schema พร้อมกัน เราสามารถใช้งานตารางเป็นเหมือน sources หรือ กำหนดให้เป็นปลายในทางการส่งข้อมูลผ่านการทำหนด definitions ให้กับ job ได้โดยข้างล่างนี้คือเนื้อหาการกำหนด metadata ครับ

มีความสามารถในการลิสต์รายชื่อและเปรียบเทียบกับตาราง schemes ซึ่งเราสามารถนำไป เพิ่ม, ลบ และเปลี่ยนแปลงประเภท schema

Partition

ตามที่เราเห็นกันว่า metadata นั้นถูกกำหนดตามตัวอย่างด้านล่างรวมถึง Glue ด้วยที่จะมีการแบ่ง partition key ออกไปภายในตารางที่ถูกกำหนดไว้ และได้ตัดสินใจให้มีการเพิ่มตารางทั้งหมดตามเงื่อนไขที่สร้าง จากการสร้าง partition ที่อยู่ใน S3 Folder

  • ไฟล์ที่มี schemas เหมือนกันจะถูกรวมเข้าด้วยกันโดย Glue
  • ไฟล์ที่มีนามสกุลเดียวกัน
  • ไฟล์ที่มีการบีบอัดเหมือนกัน

ตัวอย่างเช่น สมมติว่าไฟล์ข้อมูลการขายของ iOS และ Android ในตัวอย่างด้านล่างมี schemas ที่เหมือนกันทั้งนามสกุลไฟล์ และรูปแบบการบีบอัดเดียวกัน ในกรณีนี้ ใน Data Catalog จะรวบรวมข้อมูลและสร้างข้อกำหนดตารางหนึ่งรายการโดยมีคีย์การแบ่งพาร์ติชันของปี เดือน และวัน

my-app-bucket/Sales/year=2010/month=feb/day=1/iOS.csv
my-app-bucket/Sales/year=2010/month=feb/day=1/Android.csv
my-app-bucket/Sales/year=2010/month=feb/day=2/iOS.csv
my-app-bucket/Sales/year=2010/month=feb/day=2/Android.csv
...
my-app-bucket/Sales/year=2017/month=feb/day=4/iOS.csv
my-app-bucket/Sales/year=2017/month=feb/day=4/Android.csv

= สัญลักษณ์ที่ใช้ในชื่อโฟลเดอร์เพื่อกำหนดค่า Partition และ Key Values

Partition Index

เมื่อเวลาผ่านไป การเรียก API จะกลายเป็นปัญหาคอขวดที่ส่งผลถึงประสิทธิภาพการสืบค้น เนื่องจากจำนวนพาร์ติชันเพิ่มขึ้นมากเกินไป เมื่อพิจารณา Partition Index ในกรณีดังกล่าวจะถูกเรียกว่า GetPartitions

Crawler

Crawler เป็นโปรแกรมที่สร้างข้อมูลเมตาในแคตตาล็อกข้อมูล เมื่อโปรแกรมรวบรวมข้อมูลการทำงานทั้งหมดก็จะมีการดำเนินการต่อไปนี้เพื่อสำรวจที่ Datastore

  • จัดหมวดหมู่ข้อมูลเพื่อดูรูปแบบ สคีมา และคุณสมบัติที่เกี่ยวข้องของข้อมูลดิบ
  • จัดกลุ่มข้อมูลเป็นตารางหรือพาร์ติชัน
  • เขียนข้อมูลเมตาไปยัง Data Catalog Crawler สามารถรวบรวมข้อมูลตามไฟล์และฐานข้อมูลในตารางต่อไปนี้
Access type used by the crawler data store
native client Amazon S3
Amazon DynamoDB
Delta Lake
JDBC Amazon Redshift
Inside Amazon RDS or outside Amazon RDS:
Amazon Aurora
MariaDB
Microsoft SQL Server
MySQL
Oracle
PostgreSQL
MongoDB client MongoDB
Amazon DocumentDB


  • Crawler สำหรับสตรีมข้อมูล (เช่น Kinesis หรือ Kafka) ไม่ได้รับการสนับสนุนในขณะที่เขียน
  • สามารถสร้างและแนบบทบาท IAM กับ Crawler ของเราได้
    • ให้สิทธิ์ใน IAM เพื่อรวบรวมข้อมูล S3 และ DynamoDB
    • เมื่ออ่านข้อมูลที่เข้ารหัสด้วย KMS บทบาท IAM ที่ Crawler ใช้ก็จำเป็นต้องมีสิทธิ์ในการถอดรหัสด้วยเช่นกัน

Incremental crawl

สำหรับแหล่งข้อมูล Amazon S3 การรวบรวมข้อมูลส่วนเพิ่มจะรวบรวมข้อมูลเฉพาะโฟลเดอร์ที่เพิ่มตั้งแต่การเรียกใช้โปรแกรมรวบรวมข้อมูลครั้งล่าสุดเท่านั้น หากไม่มีตัวเลือกนี้ โปรแกรมรวบรวมข้อมูลจะรวบรวมข้อมูลชุดข้อมูลทั้งหมด การรวบรวมข้อมูลที่เพิ่มขึ้นมีประสิทธิภาพในการประหยัดเวลาและเงิน

Connection management

โปรแกรมรวบรวมข้อมูล งาน และปลายทางการพัฒนาใช้การเชื่อมต่อแบบ Glue เพื่อเข้าถึงที่เก็บข้อมูลบางประเภท

"การเชื่อมต่อ" เป็นวัตถุในแคตตาล็อกข้อมูลที่เก็บข้อมูลการเชื่อมต่อสำหรับที่เก็บข้อมูลเฉพาะ การเชื่อมต่อรวมถึงข้อมูลรับรองการเข้าสู่ระบบ สตริง URI ข้อมูล VPC ฯลฯ และสามารถใช้ได้ทั้งแหล่งที่มาและเป้าหมาย

มีประเภทการเชื่อมต่อต่อไปนี้:

  • JDBC
    • Amazon Redshift
    • Amazon Relational Database Service (Amazon RDS)
  • Amazon DocumentDB
  • DynamoDB
  • Kafka
    • Amazon managed streaming for Apache Kafka (MSK)
    • Customer-managed Apache Kafka
  • Amazon Kinesis
  • MongoDB
  • Network (specifies connectivity to data sources in your VPC)
  • Amazon S3

โดยทั่วไป การเชื่อมต่อนั้นไม่จำเป็นสำหรับ Amazon S3 หรือ ปลายทางข้อมูลที่อยู่ภายในเครือข่ายสาธารณะ อย่างไรก็ตามถ้าคุณต้องการที่จะเข้าถึงข้อมูลจาก VPC คุณจำเป็นที่จะต้องใช้ Amazon S3 VPC. คุณจะต้องใช้ Amazon S3 VPC endpoint ของประเภท gateway ต่างๆ และ ประเภทของเครือข่ายแต่ละประเภท

AWS Glue Custom Connector

ด้วย Custom connector ที่เปิดตัวออกมาในเดือน สิงหาคม ปี 2020 สามารถทำให้เราเชื่อมต่อข้อมูลกับ third parties อื่นๆ ได้เช่น SaaS จากการตั้งค่าใน MarketPlace หรือ สามารถนำมาพัฒนาเพื่อสร้างการเชื่อมต่อของตัวเองได้

serverless engine

จากตรงนี้ ผมจะนำเสนอเกี่ยวกับองค์ประกอบของ Glue ที่เป็น serverless engine

job

Jobs คือการคัดกรองข้อมูลธุรกิจต่างๆ และเปลี่ยนแปลง Load(ETL) ที่ใช้งานกับ Glue ตามขั้นตอนการทำงานพื้นฐานของ Workflow

(อ้างอิงจาก: Create a job with AWS Glue )

  1. การเลือกแหล่งที่มาของข้อมูลสำหรับใช้งาน job โดยแหล่งข้อมูลจะต้องถูกกำหนดอยู่ใน Data Catalog
  2. การเลือกไปหมายที่จะส่งข้อมูลไปสำหรับ job ของเรา โดยเป้าหมายนั้นจะต้องถูกกำหนดอยู่ใน Data Catalog หรือ ถูกสร้างเมื่อมีการทำงานของ job
  3. คุณสามารถปรับแต่งสภาพแวดล้อมการประมวลผลงานโดยระบุ argument สำหรับใช้งาน job เพื่อสร้างสคริปต์
  4. การตั้งค่าเริ่มต้นของ Glue จะทำการสร้างสคริปต์ แต่คุณจะสามารถแก้ไขสคริปต์นั้นได้ ตัวอย่างเช่น การเพิ่ม sources เป้าหมาย และการแปลง
  5. ระบุ job เพื่อเรียกใช้ตามความต้องการที่จำเป็นหรือ schedule หรือ event
  6. Glue จะสร้าง PySpark หรือ Scala สคริปต์โดยขึ้นอยู่กับข้อมูลที่ถูกป้อนเข้าไป

โดย Jobs มีทั้งหมด 3 ประเภทใน Glue

  • Apache Spark
  • Apache Spark Streaming
  • Python shell

Streaming ETL

เร็วๆนี้ได้มีการเผยแพร่ ETL streaming ในเดือนเมษายน ปี 2020 Glue ตอนนี้สามารถใช้งานสำหรับ ETL processing เพื่อการส่งข้อมูลได้แล้วเหมือนกับ Kinesis และ Kafka ซึ่งสามารถใช้งานได้ปกติด้วย EMR (Spark Streaming)
- [Update] Don't write a single line of code! Streaming ETL is now possible with AWS Glue

Glue version

Glue version จะกำหนดเวอร์ชันของ Apache Spark และ Python ที่สามารถใช้ในงานได้ สามารถดูรายละเอียดแต่ละรุ่นได้ที่
" AWS Glue Release Notes "

Glue version Supported Spark and Python versions
Glue 0.9 Spark 2.2.1 Python 2.7
Glue 1.0 Spark 2.4.3 Python2.7/3.6
Glue 2.0 Spark 2.4.3 Python3.7
Glue 3.0 Spark 3.1.1 Python3.7
  • Glue 3.0 ( เปิดตัวเดือนสิงหาคมปี 2021 )
    • ใช้ Runtime ที่เพิ่มประสิทธิภาพการทำงาน Apache Spark 3.1.1
    • Read และ Write เพื่อเพิ่มประสิทธิภาพด้วย Vectorized Reader และ output ที่ปรับให้เหมาะกับ S3 พร้อมใช้งาน
    • ความเร็วในการดำเนินการที่ได้รับการปรับปรุงสำหรับข้อมูลที่มีพาร์ติชันจำนวนมาก โดยลดการเข้าถึงพาร์ติชันที่ไม่จำเป็นโดยใช้ partition index .
  • End of support สำหรับ Glue 0.9 และ Glue 1.0 ประกาศเมื่อวันที่ 1 มิถุนายน 2022

Worker Type

พลังการประมวลผลที่จัดสรรระหว่างการทำงานเรียกว่า DPU (หน่วยประมวลผลข้อมูล) และค่าใช้จ่าย Glue ถูกกำหนดโดยเวลาในการประมวลผลสำหรับ DPU

  • 1DPU = 4vCPU, 16GB memory

WorkerTypes ที่สามารถเลือกได้และจำนวน DPU ที่ต้องการมีดังนี้

Worker Type Number of DPUs/1Worker Number of Executors/1Worker Memory/1Executor
standard 1 2 5.5GB
G.1X 1 1 12GB
G.2X 2 1 24GB

Dynamic Frame

DynamicFrame เป็นตัวแทนข้อมูลของ Glue และสามารถแปลงข้อมูลของ Spark หรือ DataFrame ซึ่ง Glue DynamicFrame ถูกออกแบบมาสำหรับใช้งาน ETL ในขณะที่ Spark DataFrame ออกแบบมาสำหรับการจัดการตาราง

Glue DynamicFrame นั้นไม่ต้องการ schema เพื่อใช้งานและเราก็สามารถมีอิสระในการตัดสินใจในภายหลังเกี่ยวกับ schema ได้ตามข้อกำหนดและกรณีการใช้งานของข้อมูลที่โหลด ซึ่งการกระทำนี้เรียกว่า Choice type


ถ้าคุณต้องการที่จะทำความเข้าใจเพิ่มมากขึ้นเกี่ยวกับ DynamicFrame ผมขอแนะนำบล็อกนี้ครับ - Take a look at the movement of DynamicFrame in AWS Glue

Choice type

ถ้าเราค้นหาประเภทข้อมูลมากกว่า 1 ประเภท ก็จะมี 2 แบบที่อนุญาตให้เราดำเนินการต่อได้โดยไม่ถูกขัดจังหวะ Choice type ResolveChoiceresolves ตามประเภทของแต่ละวิธีการ ( ResolveChoice class )

parquet and glue parquet

ถ้าคุณต้องการจะแปลง DynamicFrame เพื่อแสดงผลในรูปแบบของ Parquet จะสามารถแสดงได้ 2 ประเภท คือ parquet และ glueparquet glueparquet จะมีการตั้งค่าให้มีประสิทธิภาพเมื่อมีการส่งออกข้อมูล DynamicFrames ซึ่งโดยส่วนใหญ่จะแนะนำให้ใช้ gluparquet ในการแสดงผล

ความแตกต่างในการใช้งานของ Serverless ETL

มาจากการเลือกที่มาจากตัวเลือกที่หลากหลาย รวมถึง AWS Lambda และ Amazon EMR, โดยจะขึ้นอยู่กับขนาดเซิร์ฟเวอร์ และ การประมวลผล

orchestration

จากตรงนี้ ผมจะมานำเสนอเกี่ยวกับ orchestration functions ที่ใช้งานโดย Glue

การใช้งาน library

AWS Glue 2.0 จะอนุญาตให้เราติดตั้งส่วนเสริมของ Python modules ได้ หรือ เวอร์ชั่นของที่แตกต่างกันใน job lever ที่มีการเพิ่ม module ใหม่ขึ้นมา หรือ มีการเปลี่ยนแปลงเวอร์ชั่นของ module ที่มีอยู่ --additional-python-modulesuse โดยมีการใช้งาน job parameters key และกำหนดค่าที่ให้อยู่แยกระหว่าง comma โดยจะเป็นรายชื่อของ Python module ซึ่งจะอนุญาตให้ AWS Glue 2.0 ETL job เพื่อทำการติดตั้งส่วนขยายของ modules โดยใช้ pip3

Glue 0.9 และ Glue 1.0 นั้นไม่ซัพพอร์ทกับ libraries ที่ถูกเขียนขึ้นใน C (เช่นเดียวกับ pandas) แต่ Glue 2.0 --additional-python-modules ซัพพอร์ทกับส่วนเสริมที่ใช้งานตัวเลือกต่างๆได้ อย่างไรก็ตาม ในการใช้งานสิทธิสูงสุด root จำเป็นที่จะต้องมีการติดตั้ง subnet ของ Python modules เหมือนกับ spacy และ. grpc เพื่อที่การคอมไพล์โมดูลจะไม่ล้มเหลวหากเรามีสิทธิ์การใช้งาน root

trigger

Jobs และ crawlers ถูกกำหนดโดย triggers ที่สามารถเริ่มต้นได้โดยจะ กระตุ้นการทำงานของ fire based ที่มีพื้นฐานมาจาก 3 สิ่งนี้

  • Schedule (cron)
  • event
  • on demand

มีแค่ crawlers 2 ตัวเท่านั้นที่สามารถทำงานได้ด้วย 1 trigger และถ้า crawl ของคุณมีการเก็บข้อมูลแบบหลาย datastores การใช้ data sources หลายตัวสำหรับแต่ละ crawler จะดีกว่าการเปิดใช้งานด้วย crawlers หลายตัวในเวลาดเดียวกัน

Workflow

สร้างและแสดงผลลัพธ์ที่ซับซ้อน ETL เป็นกิจกรรมที่ใช้งาน crawlers หลายตัว, Jobs และ triggers

blueprint

ณ ตอนนี้เราสามารถสร้าง workflows จาก blueprints ที่ถูกปล่อยและเผยแพร่ในเดือน สิงหาคม 2021 จากการใช้ parameters โดยมีความสามารถในการ deploy ตัว workflows ที่เหมือนกัน แต่สำหรับกรณีการใช้งานที่แตกต่างกันโดยมาจาก single blueprint

Development environment

Development endpoint และ notebook server

Development endpoint คือจุดเชื่อมต่อสำหรับการเข้าถึงสภาพแวดล้อมเพื่อการทำงานโดยตรงซึ่งเราสามารถเชื่อมต่อจากสภาพแวดล้อมโน้ตบุ๊ก เช่น Amazon SageMaker (Jupyter) และ Zeppelin เพื่อสร้างและทดสอบสคริปต์ ETL

Development endpoint มีความต้องการ การใช้งานขั้นต่ำ 2 DPUs และถูกจัดสรร 5 DPUs ตามค่าปกติ $0.44 per/hours ได้ถูกเก็บค่าใช้จ่ายต่อวินาที ซึ่งคุณจะถูกคิดค่าใช้จ่ายขณะที่ development endpoint จะใช้งานหรือไม่ใช้งานอยู่หรือไม่ก็ตามครับ ดังนั้นต้องมีความรอบคอบในการใช้งานด้วยนะครับ

AWS Glue Studio

หน้าต่างและรูปแบบใหม่ของเครื่องมือการสร้าง Job ที่ถูกเปิดตัวเมื่อเดือนที่กันยายน ปี 2020 คุณสามารถเขียน workflow การแปลงข้อมูลด้วยภาพและเรียกใช้ได้อย่างราบรื่นบนกลไก ETL แบบ serverless ที่ใช้ Apache Spark ของ AWS Glue

จนถึงตอนนี้การสร้าง job ยังจำเป็นที่จะต้องมีทักษะการเขียน Apache Spark อยู่ แต่แม้แต่ผู้ไม่มีประสบการณ์ก็ยังสามารถเชื่อมต่อกล่องข้อมูลกับลูกศรได้, สามารถเลื่อนเมนูขึ้น-ลงได้, การ check boxes และอื่นๆอีกมากมาย เพื่อเปิดใช้งาน ETL แบบ serverless ที่ใช้ Apache Spark

AWS Glue DataBrew

เป็นเครื่องมือที่ใช้ในการเตรียมแสดงผลข้อมูลได้ถูกเผยแพร่ในเดือนพศจิกายนปี 2020 จะสามารถทำ Data analysts และ Data scientists จะถูกจัดระเบียบให้สวยงามมากขึ้น, ทำให้เป็นปกติ และ เตรียมความพร้อมสำหรับข้อมูลเพื่อใช้ analytics และการทำ machine learning โดยไม่ต้องเขียนโค้ด

Differences between Glue DataBrew and Glue Studio

ดูเหมือนว่าทั้งหมดจะมีความคล้ายกันตรงที่พวกเขาสามารถแปลงข้อมูลโดยไม่ต้องใช้โค้ด แต่ Glue Studio เชี่ยวชาญในการประมวลผล ETL มากกว่าและเก่งในการปรับแต่ง เช่น การแก้ไขโค้ดขึ้นอยู่กับสถานการณ์

ในทางกลับกัน Glue DataBrew เป็นเครื่องมือสำหรับ Data Analytic และ Data Scienctists เพื่อเตรียมข้อมูลสำหรับการสร้างแบบจำลอง เช่น การทำความเข้าใจลักษณะข้อมูลหรือการทำความสะอาดและการจัดเรียงข้อมูล รวมถึงการติดตามการแปลงแหล่งข้อมูลด้วยภาพ มันคือ

ผมคิดว่า Glue Studio นั้นสะดวกและใช้งานง่ายมากถ้าคุณต้องการจจะตัดสิ่งที่ไม่จำเป็นออกไปจาก fileds หรือ จะแปลงประเภทของ Parquet เพื่อใช้กับ Log analysis เพื่อตรวจสอบโครงสร้างที่ผิดพลาดของ infrastructure หรือ log ที่เกี่ยวข้องตัวแอพพลิเคชั่น (ส่วนตัวผมประทับใจมาก)

Glue Elastic Views (Preview)

คุณลักษณะ Materialized Views ที่ประกาศในเซสชันคำปราศรัยของ AWS re:Invent 2020

  • สร้างมุมมองที่เป็นรูปธรรม (ตารางเสมือน) ที่รวมและทำซ้ำข้อมูลในที่เก็บข้อมูลหลายแห่งโดยใช้ SQL ที่คุ้นเคยโดยไม่ต้องเขียนรหัสที่กำหนดเอง
  • ตรวจสอบการเปลี่ยนแปลงข้อมูลอย่างต่อเนื่องในที่เก็บข้อมูลต้นทางและอัปเดตมุมมองที่เป็นรูปธรรมโดยอัตโนมัติในที่เก็บข้อมูลเป้าหมายเพื่อให้แน่ใจว่าเป็นข้อมูลล่าสุดอยู่เสมอใใว

  • [レポート] Deep dive on AWS Glue Elastic Views #reinvent #emb019

AWS Glue อัพเดทล่าสุด

Autoscaling (preview)

Auto scaling feature announced in January 2022. ระบบจะเพิ่มหรือลบผู้ปฏิบัติงานออกจากคลัสเตอร์โดยอัตโนมัติตามระดับความขนานในแต่ละขั้นตอนของการปฏิบัติงานและชุดย่อย ช่วงการปรับสเกลสามารถควบคุมได้โดยการระบุจำนวนพนักงานสูงสุด

  • มีอยู่ในสภาพแวดล้อม Glue 3.0
  • เดิมมีให้บริการในโอไฮโอเท่านั้น ตอนนี้มีให้บริการในภูมิภาคโตเกียว

Introducing Autoscaling in AWS Glue jobs (Preview)

การติดต่อ Sessions และ Job Notebooks (Preview)

ความสามารถใหม่แบบไร้เซิร์ฟเวอร์ที่ประกาศในเดือนมกราคม 2022 เพื่อช่วยลดความซับซ้อนของกระบวนการในการพัฒนางานการรวมข้อมูล เริ่มโน้ตบุ๊กผ่าน Glue Studio และในไม่กี่วินาทีคุณจะมีสภาพแวดล้อมการพัฒนา

  • เซสชันแบบโต้ตอบ
    • เริ่มเซสชันโดยไม่ต้องกำหนดค่าหรือจัดเตรียมคลัสเตอร์
    • เมื่อหลายเซสชันเริ่มขึ้น แต่ละเซสชันจะถูกจัดให้เป็นสภาพแวดล้อมที่เป็นอิสระ ดังนั้นจึงเป็นไปได้ที่จะใช้โปรแกรมและรันไทม์ที่แตกต่างกัน
  • สมุดบันทึกงาน
    • เข้าถึงสภาพแวดล้อม Jupyter Notebook โดยไม่ต้องติดตั้ง
  • การแสดงตัวอย่างนี้มีให้บริการในภูมิภาคโตเกียวด้วย
    Introducing AWS Glue Interactive Sessions and Job Notebooks (Preview)

Personal Identifiable Information detection and remediation (preview) Personal information identification function announced in January 2022. มีตัวเลือกในการตรวจจับข้อมูลส่วนบุคคลโดยอัตโนมัติระหว่างการปฏิบัติงาน AWS Glue ทั้งในระดับคอลัมน์และเซลล์ และดำเนินการแก้ไขหากจำเป็น

Extension to LakeFormation

ด้วยการใช้ประโยชน์จากโมเดลความปลอดภัยขั้นสูงของ LakeFormation สำหรับแคตตาล็อกข้อมูลของ Glue เพื่อให้มีการควบคุมการเข้าถึงที่ละเอียดยิ่งขึ้น (ต่อแถว ต่อเซลล์ ฯลฯ) สามารถรวมศูนย์ได้อย่างง่ายดาย

ด้วยการเชื่อมโยงข้อมูลที่มีศูนย์กลางอยู่ที่แค็ตตาล็อกข้อมูล จึงเป็นไปได้ที่จะแก้ปัญหาการแบ่งปันข้อมูล เช่น การใช้ข้อมูลเวอร์ชันล่าสุดและความปลอดภัย และได้รับประโยชน์ด้านต้นทุนโดยไม่มีการทำซ้ำข้อมูล


(อ้างอิง: Integrated data integration service AWS Glue and AWS Lake Formation latest update )

สุดท้าย ผมอยากแนะนำ workshop สำหรับการเรียนรู้ AWS Glue

ถึงเวลาที่คุณจะเริ่มอยากลองใช้ AWS Glue แล้วใช่ไหม

จนถึงขณะนี้ AWS Glue จำเป็นต้องเขียนโค้ดการประมวลผล ETL เช่น Spark หรือ Python แต่ด้วย การกำเนิดขึ้นของ Glue Studio และ Glue DataBrew ทำให้สามารถใช้การประมวลผล ETL ได้อย่างง่ายดาย

แม้ว่าคุณจะคิดว่า "ฉันไม่รู้ว่ามันคืออะไร" คุณจะต้องประทับใจในความง่ายในการใช้งานการประมวลผล ETL ที่เวิร์กช็อป ดังนั้นโปรดลองดู