Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
#SECONRU
Колоночные структуры
данных на примере
Parquet
Блохин Леонид
BigDataEngineer at Provectus
21-22 АПРЕЛЯ | ПЕНЗА
Содержание доклада:
● Отличия строковых и колоночных баз данных.
○ особенности
○ области применения
○ преимущества и недос...
Отличия колоночных БД от строковых
Области применения колоночных БД
● Событийные таблицы, над которыми выполняются сложные выборки
(агрегации, фильтры, сорти...
Преимущества
Колоночные базы данных позволяют эффективно делать сложные выборки
на больших таблицах.
Изменение структуры б...
Недостатки
Медленно работают на запись
Не поддерживают транзакции
Имеют ряд ограничений для разработчика (sql синтаксис не...
Hadoop Distributed File System,
hbase,
S3,
cassandra,
gfs,
ceph ...
CSV, JSON,
XML
Sequence
file
Avro Parquet ORC
Строко
ориентированный
формат
Бинарный с
компрессией и
сериализацией
Колоноч...
Колоночный формат, Работает в HDFS
Поддерживает сжатие(snappy, gzip, lzo, brotli)
Метадата кодируется Apache Thrift
Поддер...
Файлы имеют несколько уровней разбиения на части,
благодаря чему возможно довольно эффективное
параллельное выполнение опе...
типы
● BOOLEAN: 1 bit boolean
● INT32: 32 bit signed ints
● INT64: 64 bit signed ints
● INT96: 96 bit signed ints
● FLOAT:...
Достоинства Parquet
● Эффективное хранение
● Высокая скорость сложных выборок, если не нужны
все колонки сразу
● Быстрая р...
Недостатки parquet
● parquet ведёт себя как неизменяемая таблица или БД
● Для колонок определён тип, нельзя комбинировать
...
val peopleDF = spark.read.json("examples/src/main/resources/people.json")
peopleDF.write.parquet("people.parquet")
val par...
Resilient Distributed Dataset
Распределенный набор данных, который знает как себя вычислить.
RDD может быть лениво вычисля...
Блохин Леонид
BigDataEngineer at Provectus
Blokhin@provectus.com
8 917 295-40-49
SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet
SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet
SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet
SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet
SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet
SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet
SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet
SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet
SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet
SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet
SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet
SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet
Upcoming SlideShare
Loading in …5
×

of

SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 1 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 2 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 3 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 4 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 5 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 6 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 7 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 8 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 9 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 10 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 11 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 12 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 13 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 14 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 15 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 16 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 17 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 18 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 19 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 20 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 21 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 22 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 23 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 24 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 25 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 26 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 27 SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet Slide 28
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

0 Likes

Share

Download to read offline

SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet

Download to read offline

SECON'2017 | 21-22 апреля

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

SECON'2017, Блохин Леонид, Колоночные БД на примере Parquet

  1. 1. #SECONRU Колоночные структуры данных на примере Parquet Блохин Леонид BigDataEngineer at Provectus 21-22 АПРЕЛЯ | ПЕНЗА
  2. 2. Содержание доклада: ● Отличия строковых и колоночных баз данных. ○ особенности ○ области применения ○ преимущества и недостатки ● Apache Parquet, ○ области применения, ○ преимущества и недостатки. ● Apache Spark, ○ области применения, отличительные особенности, ○ приемущества и недостатки, работа с parquet файлами в Hadoop File System. ● RDD, DataFrames, и Datasets в Apache Spark, ○ зачем они нужны, ○ как ими пользоваться, ○ какие профиты. ● Mist, используем Spark, как сервис
  3. 3. Отличия колоночных БД от строковых
  4. 4. Области применения колоночных БД ● Событийные таблицы, над которыми выполняются сложные выборки (агрегации, фильтры, сортировки). Например, добавление товаров в корзину в Интернет магазине. Метрики рекламы, нагрузок ... ● Агрегатные таблицы с большим количеством данных для аналитических выборок. Это часто таблицы, которые строятся из событийных таблицы. Это может быть таблицы со статистикой добавления товаров в корзину по дням, категориям, ценам и другим параметрам.
  5. 5. Преимущества Колоночные базы данных позволяют эффективно делать сложные выборки на больших таблицах. Изменение структуры больших таблиц происходит мгновенно. Сжатие данных позволяет сэкономить место
  6. 6. Недостатки Медленно работают на запись Не поддерживают транзакции Имеют ряд ограничений для разработчика (sql синтаксис не полный) Обычные выборки по ключу всех столбцов без профита
  7. 7. Hadoop Distributed File System, hbase, S3, cassandra, gfs, ceph ...
  8. 8. CSV, JSON, XML Sequence file Avro Parquet ORC Строко ориентированный формат Бинарный с компрессией и сериализацией Колоночно ориентированный формат Смешанный строко и колоночно ориентированный
  9. 9. Колоночный формат, Работает в HDFS Поддерживает сжатие(snappy, gzip, lzo, brotli) Метадата кодируется Apache Thrift Поддерживает вложенные данные The striping and assembly algorithms from the Dremel paper
  10. 10. Файлы имеют несколько уровней разбиения на части, благодаря чему возможно довольно эффективное параллельное выполнение операций поверх них: Row-group — это разбиение, позволяющее параллельно работать с данными на уровне Map-Reduce Column chunk — разбиение на уровне колонок, позволяющее распределять IO операции Page — Разбиение колонок на страницы, позволяющее распределять работу по кодированию и сжатию
  11. 11. типы ● BOOLEAN: 1 bit boolean ● INT32: 32 bit signed ints ● INT64: 64 bit signed ints ● INT96: 96 bit signed ints ● FLOAT: IEEE 32-bit floating point values ● DOUBLE: IEEE 64-bit floating point values ● BYTE_ARRAY: arbitrarily long byte arrays.
  12. 12. Достоинства Parquet ● Эффективное хранение ● Высокая скорость сложных выборок, если не нужны все колонки сразу ● Быстрая работа на чтение, по сравнению с использованием других файловых форматов ● HDFS, NFS, GlusterFS
  13. 13. Недостатки parquet ● parquet ведёт себя как неизменяемая таблица или БД ● Для колонок определён тип, нельзя комбинировать сложный тип данных с простым. ● Не поддерживаются транзакции
  14. 14. val peopleDF = spark.read.json("examples/src/main/resources/people.json") peopleDF.write.parquet("people.parquet") val parquetFileDF = spark.read.parquet("people.parquet") parquetFileDF.createOrReplaceTempView("parquetFile") val namesDF = spark.sql("SELECT name FROM parquetFile WHERE age BETWEEN 13 AND 19") namesDF.map(attributes => "Name: " + attributes(0)).show() +----------------+ | value | +----------------+ |Name: Justin| +----------------+
  15. 15. Resilient Distributed Dataset Распределенный набор данных, который знает как себя вычислить. RDD может быть лениво вычисляемой при запросе может быть и материализована — распределенно, в памяти или на диске (или в памяти с вытеснением на диск) разбита на партиции — это минимальный объем RDD, который будет обработан каждым рабочим узлом.
  16. 16. Блохин Леонид BigDataEngineer at Provectus Blokhin@provectus.com 8 917 295-40-49

SECON'2017 | 21-22 апреля

Views

Total views

125

On Slideshare

0

From embeds

0

Number of embeds

61

Actions

Downloads

1

Shares

0

Comments

0

Likes

0

×