Glue, Athena Flashcards

1
Q

Glue
Зачем нужен этот сервис?
Какой другой сервис он может помочь оптимизировать? Как? (классический use-case)

A

Glue - это serverless сервис для запуска ETL jobs.

Конвертировать данные в Parquet формат из CSV формата
для оптимизации сервиса Athena
Данные конвертируются и перекачиваются в другой S3 bucket

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Parquet, CSV, ORC, JSON
В чём отличие между этими форматами данных?

A

Parquet и ORC - это columnar формат данных
Он более оптимален для performance и cost, чем CSV и JSON

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Glue Job Bookmark
Glue DataBrew
Что за фичи?

A

Glue Job Bookmark - это фича сервиса Glue, которая предотвращает повторную обработку старых данных.
“Prevent re-processing old data”

Glue DataBrew - это фича сервиса Glue, которая чистит и нормализует данные.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Glue Elastic Views
Что за фича?
- Нужен ли кастомный код?
- Нужен ли dedicated worker?
- Какая SQL технология используется?

A

Elastic Views - это фича сервиса Glue, которая строит SQL Views на основе данных из разных источников (из S3, DynamoDB, RDS вместе в одной “SQL вьюшке”)

  • Никакого кастомного кода.
  • Serverless
  • Использует виртуальную таблицу (materialized view)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Glue Streaming ETL
Что за фича?
Что можно с помощью неё делать?

A

Streaming ETL - это фича сервиса Glue, которая запускает ETL jobs в STREAMING режиме (без этой фичи по-умолчанию используется BATCH режим).

Благодаря этому можно выполнять ETL jobs, читая данные из Kinesis Data Streams, Kafka Streams (MSK)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Glue и EMR
Чем похожи? Чем отличаются? Ключевые слова

A

Похожи тем, что оба используют Spark

  • EMR - big data, Hadoop, все продукты Apache (включая Spark)
  • Glue - serverless ETL пайплайны (обычно делаются на Spark)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Glue Data Catalog
Glue Data Crawler
Что за фичи? Как связаны?

Какие сервисы могут работать on top of Glue Data Catalog?

A

Data Catalog - это фича сервиса Glue, которая
- предоставляет хранилище для метаданных о наших БД
- запускает Glue Data Crawler’ов поверх разных data-sources (S3, DynamoDB, RDS, JDBC on-premise DB)

Glue Data Crawler ”ползает” по базе данных, собирает всю МЕТАИНФОРМАЦИЮ о таблицах и шлёт её в Glue Data Catalog
Метаинформация включает названия колонок, типы данных, etc

Glue ETL jobs, Athena, Redshift Spectrum и EMR могут делать data-discovery запросы к этому Glue Data Catalog

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Athena
Для чего нужен этот сервис?
Какие форматы данных поддерживает?
Где хранит результаты своих запросов?
Как сделать визуализацию данных?

A

Athena - serverless сервис для выполнения SQL запросов к данным в S3 бакетах.
Поддерживает форматы CSV, JSON, ORC, Avro, Parquet
Результат выполнения Athena запросов хранится в S3

Сервис Amazon QuickSite часто используют в дополнение к Athena
для создания UI Dashboards и Reporting
bucket ← Athena ← QuickSite

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Как улучшить performance у Athena?
- формат данных
- сжатие данных
- partitioning данных
- размер файлов

A
  • Использовать columnar format, сканировать только нужные колонки
    • less scan → cost saving, higher performance
    • форматы Parquet и ORC подходят
  • Делать data compression
    • через механизмы bzip2, gzip, lz4, snappy
  • Делать partitioning dataset’ов через подробные path’ы в S3 bucket’е
    • например, s3://athena-example/flights/year=1991/month=2/day=4/flight195
      вместо s3://athena-example/flights/flight195
  • Предпочитать более крупные файлы вместо множества мелких
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Federated Query в Athena
Что за фича?
Что такое Data Source Connector?

A

Federated Query - фича сервиса Athena,
которая позволяет запрашивать данные НЕ только из S3, но и из
- SQL/NoSQL баз данных
- CloudWatch
- DynamoDB
- объектных хранилищ в on-premise
- etc

Через Lambda создаётся Data Source Connector

How well did you know this?
1
Not at all
2
3
4
5
Perfectly