#spark @BigDataSchool_ru
Тест по Spark
Что отвечает за соединение Spark и реляционной СУБД?
Тест по Spark
Что отвечает за соединение Spark и реляционной СУБД?
Anonymous Quiz
10%
исполнитель Spark
44%
RDBMS-драйвер
38%
Spark-драйвер
8%
ядро Spark
#SQL #статьи
Варианты использования и ограничения JDBC-драйвера
Новый JDBC-драйвер 6 версии рекомендуется применять для всех приложений и инструментов, которые используют его предыдущие версии (4 или 5), а также имеют интеграции с SQL-платформами миграции данных и ETL-инструментами, которые не предлагают интеграцию на основе общего Java-драйвера Neo4j.
Также он хорошо подходит для случаев, когда есть существующие интеграции, которые доступны только для чтения, но нужна и запись.
Наконец, благодаря поддержке Jakarta EE, Spring JDBCTemplate и других универсальных возможностей JDBC API 4.3, он отлично пригодится при реализации распределенных транзакций.
Наконец, JDBC-драйвер Neo4j снижает порог входа в эту NoSQL-технологию для разработчиков, которые знакомы с JDBC и хотят продолжать использовать этот API, но с Cypher и графовой СУБД. При этом нет необходимости перепроектировать приложение, созданное на основе общего Java-драйвера Neo4j. Если экосистема уже обеспечивает интеграцию более высокого уровня на основе общего Java-драйвера Neo4j, например Spring Data Neo4j (SDN) для Spring, переход пройдет безболезненно. Однако, JDBC-драйвер не стоит использовать, когда приложение и так работает с общим Java-драйвером и изменения не требуются.
Также стоит отметить ограничения JDBC-драйвер Neo4j:
✔️метаданные базы данных извлекаются максимально эффективно с использованием существующих методов схемы Neo4j, таких как labels(), db.schema.nodeTypeProperties();
✔️узлы с несколькими метками не сопоставляются с названиями таблиц, в отличие от узлов с одной меткой;
✔️нет надежного способа всегда определять тип данных для свойств на узлах, не читая их все, чего драйвер не делает;
✔️некоторые функции JDBC еще не поддерживаются, например, CallableStatement(), а некоторые функции не будут поддерживаться никогда;
✔️транслятор SQL-запросов в Cypher поддерживает только ограниченное подмножество предложений и конструкций, которые могут быть семантически эквивалентны при переводе в Cypher;
✔️нет единого правильного способа сопоставить JOIN-утверждения с отношениями;
✔️не обеспечивается автоматическое изменение или выравнивание наборов результатов, как это было в предыдущей версии. При запросе узлов, связей, путей или сопоставлений, которые должны использовать метод getObject() в наборах результатов, их надо привести к соответствующему типу, который есть в пакете neo4j.jdbc.values. Однако, транслятор SQL в Cypher при подключении к базе данных выяснит, какие свойства имеют метки, и превратит в отдельные столбцы узлов и связей, как это ожидается при выполнении оператора SELECT.
Впрочем, несмотря на эти ограничения, новый JDBC-драйвер Neo4j предоставляет разработчику довольно много возможностей по работе с этой графовой СУБД. Например, другие драйверы с возможность перевода SQL в Cypher доступны только для чтения и не поддерживают операторы записи.
Поэтому они не могут использоваться для сценариев использования ETL, направленных на передачу данных в Neo4j.
@BigDataSchool_ru
https://bigdataschool.ru/blog/news/neo4j/jdbc-driver-neo4j-6-release-overview.html
Варианты использования и ограничения JDBC-драйвера
Новый JDBC-драйвер 6 версии рекомендуется применять для всех приложений и инструментов, которые используют его предыдущие версии (4 или 5), а также имеют интеграции с SQL-платформами миграции данных и ETL-инструментами, которые не предлагают интеграцию на основе общего Java-драйвера Neo4j.
Также он хорошо подходит для случаев, когда есть существующие интеграции, которые доступны только для чтения, но нужна и запись.
Наконец, благодаря поддержке Jakarta EE, Spring JDBCTemplate и других универсальных возможностей JDBC API 4.3, он отлично пригодится при реализации распределенных транзакций.
Наконец, JDBC-драйвер Neo4j снижает порог входа в эту NoSQL-технологию для разработчиков, которые знакомы с JDBC и хотят продолжать использовать этот API, но с Cypher и графовой СУБД. При этом нет необходимости перепроектировать приложение, созданное на основе общего Java-драйвера Neo4j. Если экосистема уже обеспечивает интеграцию более высокого уровня на основе общего Java-драйвера Neo4j, например Spring Data Neo4j (SDN) для Spring, переход пройдет безболезненно. Однако, JDBC-драйвер не стоит использовать, когда приложение и так работает с общим Java-драйвером и изменения не требуются.
Также стоит отметить ограничения JDBC-драйвер Neo4j:
✔️метаданные базы данных извлекаются максимально эффективно с использованием существующих методов схемы Neo4j, таких как labels(), db.schema.nodeTypeProperties();
✔️узлы с несколькими метками не сопоставляются с названиями таблиц, в отличие от узлов с одной меткой;
✔️нет надежного способа всегда определять тип данных для свойств на узлах, не читая их все, чего драйвер не делает;
✔️некоторые функции JDBC еще не поддерживаются, например, CallableStatement(), а некоторые функции не будут поддерживаться никогда;
✔️транслятор SQL-запросов в Cypher поддерживает только ограниченное подмножество предложений и конструкций, которые могут быть семантически эквивалентны при переводе в Cypher;
✔️нет единого правильного способа сопоставить JOIN-утверждения с отношениями;
✔️не обеспечивается автоматическое изменение или выравнивание наборов результатов, как это было в предыдущей версии. При запросе узлов, связей, путей или сопоставлений, которые должны использовать метод getObject() в наборах результатов, их надо привести к соответствующему типу, который есть в пакете neo4j.jdbc.values. Однако, транслятор SQL в Cypher при подключении к базе данных выяснит, какие свойства имеют метки, и превратит в отдельные столбцы узлов и связей, как это ожидается при выполнении оператора SELECT.
Впрочем, несмотря на эти ограничения, новый JDBC-драйвер Neo4j предоставляет разработчику довольно много возможностей по работе с этой графовой СУБД. Например, другие драйверы с возможность перевода SQL в Cypher доступны только для чтения и не поддерживают операторы записи.
Поэтому они не могут использоваться для сценариев использования ETL, направленных на передачу данных в Neo4j.
@BigDataSchool_ru
https://bigdataschool.ru/blog/news/neo4j/jdbc-driver-neo4j-6-release-overview.html
Курсы Big Data,Arenadata,Greenplum, Kafka и Spark
Обновленный JDBC-драйвер Neo4j: возможности и ограничения
Что не так с общим Java-драйвером Neo4j, зачем нужен JDBC-драйвер, какие функции он поддерживае
#spark #статьи
Что такое assert: конструкция тестирования
При разработке PySpark-приложения дата-инженер чаще всего оперирует такими структурами данных, как датафрейм.
Датафрейм (DataFrame) – это распределенная таблица, коллекция данных, сгруппированная в именованные столбцы аналогично реляционной таблице в Spark SQL. Обычно работа с данными в PySpark включает в себя применение преобразований, агрегаций и манипуляций к датафреймам. Чтобы протестировать полученный код в Apache Spark 3.5 были добавлены утилиты проверки равенства датафреймов. Они позволяют сверить данные с ожидаемыми результатами, помогая выявить неожиданные различия и ошибки на ранних этапах процесса анализа.
На текущий момент в PySpark есть следующие функции, которые можно использовать для тестирования написанного кода распределенного приложения:
✔️assertDataFrameEqual(actual, expected[, …]) – утилита для подтверждения равенства между фактическим и ожидаемым датафреймом или списками строк с дополнительными параметрами checkRowOrder, rtol и atol;
✔️assertSchemaEqual(actual, expected) – утилита для подтверждения равенства между фактической и ожидаемой схемами датафрейма;
✔️assertPandasOnSparkEqual(actual, expected[, …]) – утилитная функция для подтверждения равенства между фактическим объектом pandas-on-Spark и ожидаемым объектом pandas-on-Spark или pandas. О разнице между классическим API pandas и его реализации в PySpark мы ранее писали здесь и здесь.
Все эти функции основаны на понятии assert – конструкции, которая позволяет проверять предположения о значениях произвольных данных в произвольном месте программы, подавая сигнал об обнаружении некорректных данных, что может привести к сбою.
Assert завершает программу сразу же после обнаружения некорректных данных, давая разработчику возможность быстро определить ошибки и исправить их. Assert может отловить ошибки в коде на этапе компиляции или во время исполнения. Проверки на этапе компиляции можно заменить аналогичными синтаксическими конструкциями во время исполнения программы, например, try-except-finally.
В большинстве языков программирования позволяют отключить assert на этапе компиляции или во время выполнения программы, поэтому влияние этих конструкций на производительность итогового продукта незначительно.
@BigDataSchool_ru
https://bigdataschool.ru/blog/news/spark/pyspark-dataframe-testing-with-assert-functions.html
Что такое assert: конструкция тестирования
При разработке PySpark-приложения дата-инженер чаще всего оперирует такими структурами данных, как датафрейм.
Датафрейм (DataFrame) – это распределенная таблица, коллекция данных, сгруппированная в именованные столбцы аналогично реляционной таблице в Spark SQL. Обычно работа с данными в PySpark включает в себя применение преобразований, агрегаций и манипуляций к датафреймам. Чтобы протестировать полученный код в Apache Spark 3.5 были добавлены утилиты проверки равенства датафреймов. Они позволяют сверить данные с ожидаемыми результатами, помогая выявить неожиданные различия и ошибки на ранних этапах процесса анализа.
На текущий момент в PySpark есть следующие функции, которые можно использовать для тестирования написанного кода распределенного приложения:
✔️assertDataFrameEqual(actual, expected[, …]) – утилита для подтверждения равенства между фактическим и ожидаемым датафреймом или списками строк с дополнительными параметрами checkRowOrder, rtol и atol;
✔️assertSchemaEqual(actual, expected) – утилита для подтверждения равенства между фактической и ожидаемой схемами датафрейма;
✔️assertPandasOnSparkEqual(actual, expected[, …]) – утилитная функция для подтверждения равенства между фактическим объектом pandas-on-Spark и ожидаемым объектом pandas-on-Spark или pandas. О разнице между классическим API pandas и его реализации в PySpark мы ранее писали здесь и здесь.
Все эти функции основаны на понятии assert – конструкции, которая позволяет проверять предположения о значениях произвольных данных в произвольном месте программы, подавая сигнал об обнаружении некорректных данных, что может привести к сбою.
Assert завершает программу сразу же после обнаружения некорректных данных, давая разработчику возможность быстро определить ошибки и исправить их. Assert может отловить ошибки в коде на этапе компиляции или во время исполнения. Проверки на этапе компиляции можно заменить аналогичными синтаксическими конструкциями во время исполнения программы, например, try-except-finally.
В большинстве языков программирования позволяют отключить assert на этапе компиляции или во время выполнения программы, поэтому влияние этих конструкций на производительность итогового продукта незначительно.
@BigDataSchool_ru
https://bigdataschool.ru/blog/news/spark/pyspark-dataframe-testing-with-assert-functions.html
Курсы Big Data, Hadoop, Arenadata, Kafka и Spark
Сравнение датафреймов в Apache Spark на примере PySpark-кода
Что такое assert, зачем это нужно в тестировании и отладке, как это применяется для сравнения датафреймов PySpark: примеры функций Spark
#Clickhouse
🔥Релиз 24.4: что нового в самой популярной колоночной СУБД
30 апреля 2024 года опубликован очередной выпуск ClickHouse, который включает 13 новых функций, 16 улучшений производительности и 65 исправлений ошибок. Наиболее интересными новинками этого выпуска можно назвать следующие:
💥теперь можно зараз удалить несколько таблиц со всем их содержимым, используя инструкцию DROP TABLE и перечислив имена удаляемых таблиц через запятую
💥стала доступной выгрузка первичного ключа, чтобы освободить память для первичного ключа таблицы. Это полезно при редком ее использовании. Первичный ключ этой таблицы будет загружен по требованию при следующем запросе к ней
💥в табличный движок MergeTree добавлены новые виртуальные столбцы для работы с блоками данных
💥теперь можно выдавать пользователям разрешения на табличные движки
💥 внешнее соединение можно преобразовать во внутреннее
💥 добавлена поддержка рекурсивных CTE
💥 расширен перечень интеграций ClickHouse с внешними системами
Подробнее про все эти обновления читайте в нашей статье.
🔥Релиз 24.4: что нового в самой популярной колоночной СУБД
30 апреля 2024 года опубликован очередной выпуск ClickHouse, который включает 13 новых функций, 16 улучшений производительности и 65 исправлений ошибок. Наиболее интересными новинками этого выпуска можно назвать следующие:
💥теперь можно зараз удалить несколько таблиц со всем их содержимым, используя инструкцию DROP TABLE и перечислив имена удаляемых таблиц через запятую
💥стала доступной выгрузка первичного ключа, чтобы освободить память для первичного ключа таблицы. Это полезно при редком ее использовании. Первичный ключ этой таблицы будет загружен по требованию при следующем запросе к ней
💥в табличный движок MergeTree добавлены новые виртуальные столбцы для работы с блоками данных
💥теперь можно выдавать пользователям разрешения на табличные движки
💥 внешнее соединение можно преобразовать во внутреннее
💥 добавлена поддержка рекурсивных CTE
💥 расширен перечень интеграций ClickHouse с внешними системами
Подробнее про все эти обновления читайте в нашей статье.
Курсы Big Data,Arenadata,Greenplum, Kafka и Spark
Апрельский релиз ClickHouse 24.4
30 апреля 2024 года опубликован очередной выпуск ClickHouse, который включает 13 новых функций, 1
#Greenplum
Индексация в Greenplum
🌞Индексы ускоряют поиск данных в базе данных, позволяя SQL-запросам выполняться быстрее за счет обращения к меньшему количеству строк, и снижая алгоритмическую сложность поиска. Однако, индексы увеличивают размер базы данных и провоцируют рост накладных расходов при записи данных, а также требуют обслуживания. В частности, необходимо создавать и поддерживать актуальную статистику, регулярно обновляя ее при операциях вставки и обновления, что занимает ресурсы и время. Считается, что для SQL-запросов с низкой селективностью, которые возвращают более половины строк таблицы, индекс не нужен.
😎Поэтому индексация не очень распространена в Greenplum, ориентированной на работу с большими объемами данных. Быстрота поиска в Greenplum достигается и в рамках последовательного сканирования, если каждый сегмент содержит равную часть данных, и все сегменты при чтении работают параллельно.
Однако, в случае SQL-запросов с высокой селективностью индексы в Greenplum могут повысить их производительность. Также индексы могут повысить производительность сжатых таблиц, оптимизированных для добавления (AO, Append Only), к которым обращаются SQL-запросы.
AO-таблицы не предназначены для частого обновления данных после начальной загрузки, а последующие вставки в них выполняются только в пакетных операциях. Обычно AO-таблицы очень большие, загружаются один раз, редко обновляются и часто запрашиваются для чтения данных, т.е. аналитических SQL-запросов. А таблицы кучи, наоборот подходят для конкурентных запросов, включая итеративные UPDATE и DELETE, а также одиночные INSERT.
🌳До выпуска 7-ой версии Greenplum, которая вышла в декабре 2022 года, уникальные индексы поддерживались только для таблиц кучи, но не для AO-таблиц. Начиная с версии 7, уникальные индексы можно задать и для таблиц, оптимизированных для добавления. Как это работает, читайте в нашей статье.
Индексация в Greenplum
🌞Индексы ускоряют поиск данных в базе данных, позволяя SQL-запросам выполняться быстрее за счет обращения к меньшему количеству строк, и снижая алгоритмическую сложность поиска. Однако, индексы увеличивают размер базы данных и провоцируют рост накладных расходов при записи данных, а также требуют обслуживания. В частности, необходимо создавать и поддерживать актуальную статистику, регулярно обновляя ее при операциях вставки и обновления, что занимает ресурсы и время. Считается, что для SQL-запросов с низкой селективностью, которые возвращают более половины строк таблицы, индекс не нужен.
😎Поэтому индексация не очень распространена в Greenplum, ориентированной на работу с большими объемами данных. Быстрота поиска в Greenplum достигается и в рамках последовательного сканирования, если каждый сегмент содержит равную часть данных, и все сегменты при чтении работают параллельно.
Однако, в случае SQL-запросов с высокой селективностью индексы в Greenplum могут повысить их производительность. Также индексы могут повысить производительность сжатых таблиц, оптимизированных для добавления (AO, Append Only), к которым обращаются SQL-запросы.
AO-таблицы не предназначены для частого обновления данных после начальной загрузки, а последующие вставки в них выполняются только в пакетных операциях. Обычно AO-таблицы очень большие, загружаются один раз, редко обновляются и часто запрашиваются для чтения данных, т.е. аналитических SQL-запросов. А таблицы кучи, наоборот подходят для конкурентных запросов, включая итеративные UPDATE и DELETE, а также одиночные INSERT.
🌳До выпуска 7-ой версии Greenplum, которая вышла в декабре 2022 года, уникальные индексы поддерживались только для таблиц кучи, но не для AO-таблиц. Начиная с версии 7, уникальные индексы можно задать и для таблиц, оптимизированных для добавления. Как это работает, читайте в нашей статье.
Курсы Big Data,Arenadata,Greenplum, Kafka и Spark
Индексация таблиц в Greenplum
Чтобы сделать наши курсы по Greenplum еще более полезными, сегодня разберем особенности инд
#демо #практика
Пример потокового конвейера из Kafka в Elasticsearch на платформе Decodable
🔥Сегодня хотим рассказать про облачную платформу Decodable на базе Apache Flink и Debezium. Она является полностью управляемым сервисом, который обеспечивает обработку данных в реальном времени. С Decodable можно получать данные из различных источников и направлять их в разные системы-приемники, а также преобразовывать и дополнять эти потоковые данные с помощью SQL или языка программирования на основе JVM (Java, Scala).
Читайте в нашей новой статье, как спроектировать и реализовать потоковый конвейер, суть которого состоит в извлечении данных из топика Kafka, их преобразовании и записи в Elasticsearch.
Как обычно, прилагаем все практические материалы: примеры Python-кода, SQL-запросов и скриншоты, чтобы вы могли повторить все эти упражнения. 🙌🏼
Пример потокового конвейера из Kafka в Elasticsearch на платформе Decodable
🔥Сегодня хотим рассказать про облачную платформу Decodable на базе Apache Flink и Debezium. Она является полностью управляемым сервисом, который обеспечивает обработку данных в реальном времени. С Decodable можно получать данные из различных источников и направлять их в разные системы-приемники, а также преобразовывать и дополнять эти потоковые данные с помощью SQL или языка программирования на основе JVM (Java, Scala).
Читайте в нашей новой статье, как спроектировать и реализовать потоковый конвейер, суть которого состоит в извлечении данных из топика Kafka, их преобразовании и записи в Elasticsearch.
Как обычно, прилагаем все практические материалы: примеры Python-кода, SQL-запросов и скриншоты, чтобы вы могли повторить все эти упражнения. 🙌🏼
#clickhouse #кликхаус #кэш
Кэширование в ClickHouse
❓Чем кэширование в OLAP-системах отличается от OLTP и как устроен кэш запросов ClickHouse: принципы работы, конфигурационные настройки и примеры использования SELECT-оператора.
⬆️Особенности кэширования в ClickHouse
Кэширование является одним из методов повышения производительности, который сокращает время на получение результатов вычислений за счет их хранения в области быстрого доступа. Обычно кэшируются результаты вычислений, которые были выполнены недавно и/или запрашиваются часто. ClickHouse поддерживает кэширование запросов, используя разные типы кэшей, в зависимости от табличных движков. Например, mark_cache – это кэш меток, используемых табличными движками семейства MergeTree, а uncompressed_cache — кэш несжатых данных этих же движков. Есть еще DNS-кеш, кэш регулярных выражений, скомпилированных выражений, схем формата Avro, словарей, выходной схемы данных, файловой системы на S3, Azure, локальных и других дисках. Также есть страничный кэш операционной системы, который используется косвенно, для файлов с актуальными данными.
Полная статья: https://bigdataschool.ru/blog/news/clickhouse/clickhouse-query-cache.html
Курс: https://bigdataschool.ru/courses/clickhouse
Наш сайт: https://bigdataschool.ru/
Кэширование в ClickHouse
❓Чем кэширование в OLAP-системах отличается от OLTP и как устроен кэш запросов ClickHouse: принципы работы, конфигурационные настройки и примеры использования SELECT-оператора.
⬆️Особенности кэширования в ClickHouse
Кэширование является одним из методов повышения производительности, который сокращает время на получение результатов вычислений за счет их хранения в области быстрого доступа. Обычно кэшируются результаты вычислений, которые были выполнены недавно и/или запрашиваются часто. ClickHouse поддерживает кэширование запросов, используя разные типы кэшей, в зависимости от табличных движков. Например, mark_cache – это кэш меток, используемых табличными движками семейства MergeTree, а uncompressed_cache — кэш несжатых данных этих же движков. Есть еще DNS-кеш, кэш регулярных выражений, скомпилированных выражений, схем формата Avro, словарей, выходной схемы данных, файловой системы на S3, Azure, локальных и других дисках. Также есть страничный кэш операционной системы, который используется косвенно, для файлов с актуальными данными.
Полная статья: https://bigdataschool.ru/blog/news/clickhouse/clickhouse-query-cache.html
Курс: https://bigdataschool.ru/courses/clickhouse
Наш сайт: https://bigdataschool.ru/
Курсы Big Data,Arenadata,Greenplum, Kafka и Spark
Кэширование в ClickHouse
Чем кэширование в OLAP-системах отличается от OLTP и как устроен кэш запросов в ClickHouse: принципы работы, настройки и примеры использования
#чеклист #лайфхак #флинк
✅Чек-лист перед запуском приложения Apache Flink в производство
Зачем устанавливать максимальный для каждого задания Apache Flink, для чего stateful-оператору пользовательский UUID, как выбрать подходящий бэкенд хранения состояний, от чего зависит оптимальный интервал создания контрольных точек и где настраивается высокая доступность менеджера заданий.
5 главных настроек перед запуском Flink-приложения в производственное развертывание.
Полная статья: https://bigdataschool.ru/blog/news/flink/flink-check-list-before-production-deployment.html
Курс: https://bigdataschool.ru/courses/flink-stream-processing
Наш сайт: https://bigdataschool.ru/
✅Чек-лист перед запуском приложения Apache Flink в производство
Зачем устанавливать максимальный для каждого задания Apache Flink, для чего stateful-оператору пользовательский UUID, как выбрать подходящий бэкенд хранения состояний, от чего зависит оптимальный интервал создания контрольных точек и где настраивается высокая доступность менеджера заданий.
5 главных настроек перед запуском Flink-приложения в производственное развертывание.
Полная статья: https://bigdataschool.ru/blog/news/flink/flink-check-list-before-production-deployment.html
Курс: https://bigdataschool.ru/courses/flink-stream-processing
Наш сайт: https://bigdataschool.ru/
#SQL #Greenplum #СУБД
🟰Параллельная обработка SQL-запросов в Greenplum
Как координатор Greenplum на мастер-хосте рассылает сегментам планы выполнения запросов, что такое курсор параллельного получения результатов оператора SELECT и каким образом его использовать для аналитики больших данных в этой MPP-СУБД.
❗Особенности рассылки планов SQL-запросов в Greenplum на выполнение
Хотя Greenplum основана на PostgreSQL, некоторые механизмы работы этих СУБД отличаются. Например, поддержка массово-параллельной загрузки данных и централизованная архитектура кластера Greenplum обусловливает некоторые особенности обработки SQL-запросов в этой СУБД.
Полная статья: https://bigdataschool.ru/blog/news/greenplum/parallel-execution-of-sql-queries-in-greenplum.html
Курсы: https://bigdataschool.ru/courses/greenplum-for-data-engineers
https://bigdataschool.ru/courses/greenplum-arenadata-administration
Наш сайт: https://bigdataschool.ru/
🟰Параллельная обработка SQL-запросов в Greenplum
Как координатор Greenplum на мастер-хосте рассылает сегментам планы выполнения запросов, что такое курсор параллельного получения результатов оператора SELECT и каким образом его использовать для аналитики больших данных в этой MPP-СУБД.
❗Особенности рассылки планов SQL-запросов в Greenplum на выполнение
Хотя Greenplum основана на PostgreSQL, некоторые механизмы работы этих СУБД отличаются. Например, поддержка массово-параллельной загрузки данных и централизованная архитектура кластера Greenplum обусловливает некоторые особенности обработки SQL-запросов в этой СУБД.
Полная статья: https://bigdataschool.ru/blog/news/greenplum/parallel-execution-of-sql-queries-in-greenplum.html
Курсы: https://bigdataschool.ru/courses/greenplum-for-data-engineers
https://bigdataschool.ru/courses/greenplum-arenadata-administration
Наш сайт: https://bigdataschool.ru/
↗️Индексация JSON-документов в Greenplum
Как Greenplum индексирует JSON-документы, что такое GIN-индекс в PostgreSQL, чем он отличается от B-дерева и хэш-таблицы, когда и как их использовать, а также почему поддерживается только индексация JSONB-полей.
Как Greenplum индексирует JSONB-документы
Поскольку Greenplum основана на PostgreSQL, она также поддерживает работу со сложными типами данных и может вести себя подобно документо-ориентированной СУБД, обрабатывая JSON-документы. Помимо текстового JSON, Greenplum может работать и с бинарной реализацией этого формата, т.е. JSONB. Помимо отличий этих форматов данных, о которых мы писали здесь, в Greenplum есть еще одна особенность работы с ними: индексировать можно только JSONB-поля.
Полная статья: https://bigdataschool.ru/blog/news/greenplum/json-indexing-in-greenplum.html
Курсы: https://bigdataschool.ru/courses/greenplum-for-data-engineers https://bigdataschool.ru/courses/greenplum-arenadata-administration
Наш сайт: https://bigdataschool.ru/
Как Greenplum индексирует JSON-документы, что такое GIN-индекс в PostgreSQL, чем он отличается от B-дерева и хэш-таблицы, когда и как их использовать, а также почему поддерживается только индексация JSONB-полей.
Как Greenplum индексирует JSONB-документы
Поскольку Greenplum основана на PostgreSQL, она также поддерживает работу со сложными типами данных и может вести себя подобно документо-ориентированной СУБД, обрабатывая JSON-документы. Помимо текстового JSON, Greenplum может работать и с бинарной реализацией этого формата, т.е. JSONB. Помимо отличий этих форматов данных, о которых мы писали здесь, в Greenplum есть еще одна особенность работы с ними: индексировать можно только JSONB-поля.
Полная статья: https://bigdataschool.ru/blog/news/greenplum/json-indexing-in-greenplum.html
Курсы: https://bigdataschool.ru/courses/greenplum-for-data-engineers https://bigdataschool.ru/courses/greenplum-arenadata-administration
Наш сайт: https://bigdataschool.ru/
#Spark #SQL #DataFrame
8️⃣Источники данных Apache Spark
❓Какие источники исходных данных поддерживает Apache Spark для пакетной и потоковой обработки, обеспечивая отказоустойчивые вычисления в большом масштабе средствами SQL и Structured Streaming.
Источники данных Apache Spark SQL и структурированной потоковой передачи
Будучи фреймворком для создания распределенных приложений обработки больших объемов данных, Apache Spark может подключаться к разным источникам этих данных, в зависимости от используемого API.
Полная статья: https://bigdataschool.ru/blog/news/spark/spark-data-sources.html
Курсы: https://bigdataschool.ru/courses/apache-spark-core
https://bigdataschool.ru/courses/apache-spark-for-data-engineer
https://bigdataschool.ru/courses/apache-spark-graphframe
https://bigdataschool.ru/courses/apache-spark-machine-learning
https://bigdataschool.ru/courses/apache-spark-sql
https://bigdataschool.ru/courses/apache-spark-structured-streaming
Наш сайт: https://bigdataschool.ru/
8️⃣Источники данных Apache Spark
❓Какие источники исходных данных поддерживает Apache Spark для пакетной и потоковой обработки, обеспечивая отказоустойчивые вычисления в большом масштабе средствами SQL и Structured Streaming.
Источники данных Apache Spark SQL и структурированной потоковой передачи
Будучи фреймворком для создания распределенных приложений обработки больших объемов данных, Apache Spark может подключаться к разным источникам этих данных, в зависимости от используемого API.
Полная статья: https://bigdataschool.ru/blog/news/spark/spark-data-sources.html
Курсы: https://bigdataschool.ru/courses/apache-spark-core
https://bigdataschool.ru/courses/apache-spark-for-data-engineer
https://bigdataschool.ru/courses/apache-spark-graphframe
https://bigdataschool.ru/courses/apache-spark-machine-learning
https://bigdataschool.ru/courses/apache-spark-sql
https://bigdataschool.ru/courses/apache-spark-structured-streaming
Наш сайт: https://bigdataschool.ru/
#ClickHouse #СУБД #Greenplum
🛠️Управление ресурсами и планирование рабочей нагрузки в ClickHouse
Как эффективно распределять и использовать ресурсы ClickHouse, зачем ограничивать возможности пользователей с помощью квот и классифицировать рабочие нагрузки.
Управление ресурсами в ClickHouse
Благодаря своей децентрализованной архитектуре ClickHouse, когда один экземпляр включает несколько серверов, к которым напрямую приходят запросы пользователей, эта колоночная СУБД работает очень быстро. Для репликации данных и выполнения распределённых SQL-запросов в ClickHouse используется сервис синхронизации метаданных ClickHouse Keeper, аналогичный по функция Apache Zookeeper, но написанный на C++. Данные в ClickHouse располагаются на разных сегментах, называемых шардами (shard). Полная статья: https://bigdataschool.ru/blog/news/clickhouse/clickhouse-resources-and-workload-management.html
Курс: https://bigdataschool.ru/courses/clickhouse
Наш сайт: https://bigdataschool.ru
🛠️Управление ресурсами и планирование рабочей нагрузки в ClickHouse
Как эффективно распределять и использовать ресурсы ClickHouse, зачем ограничивать возможности пользователей с помощью квот и классифицировать рабочие нагрузки.
Управление ресурсами в ClickHouse
Благодаря своей децентрализованной архитектуре ClickHouse, когда один экземпляр включает несколько серверов, к которым напрямую приходят запросы пользователей, эта колоночная СУБД работает очень быстро. Для репликации данных и выполнения распределённых SQL-запросов в ClickHouse используется сервис синхронизации метаданных ClickHouse Keeper, аналогичный по функция Apache Zookeeper, но написанный на C++. Данные в ClickHouse располагаются на разных сегментах, называемых шардами (shard). Полная статья: https://bigdataschool.ru/blog/news/clickhouse/clickhouse-resources-and-workload-management.html
Курс: https://bigdataschool.ru/courses/clickhouse
Наш сайт: https://bigdataschool.ru
#OLAP #Flink
🖋️OLAP-сервис Apache Flink
Как с Apache Flink настроить локальную службу OLAP, а также развернуть ее в рабочей среде производственного кластера: архитектура, принципы работы и параметры конфигурации для сложных аналитических сценариев.
Служба Flink OLAP: архитектура и принципы работы
Идея выделить в Apache Flink механизм OLAP для анализа данных в потоковом хранилище появилась еще год назад в дорожной карте развития фреймворка.
Полная статья: https://bigdataschool.ru/blog/news/clickhouse/clickhouse-resources-and-workload-management.html
Курс: https://bigdataschool.ru/courses/clickhouse
Наш сайт: https://bigdataschool.ru/
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
🖋️OLAP-сервис Apache Flink
Как с Apache Flink настроить локальную службу OLAP, а также развернуть ее в рабочей среде производственного кластера: архитектура, принципы работы и параметры конфигурации для сложных аналитических сценариев.
Служба Flink OLAP: архитектура и принципы работы
Идея выделить в Apache Flink механизм OLAP для анализа данных в потоковом хранилище появилась еще год назад в дорожной карте развития фреймворка.
Полная статья: https://bigdataschool.ru/blog/news/clickhouse/clickhouse-resources-and-workload-management.html
Курс: https://bigdataschool.ru/courses/clickhouse
Наш сайт: https://bigdataschool.ru/
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
📅💹ПРИГЛАШАЕМ ВАС ПРИНЯТЬ УЧАСТИЕ 30 МАЯ В 17.00
В БЕСПЛАТНОМ МИТАПЕ:
О митапе
Apache Spark – это Big Data фреймворк с открытым исходным кодом для распределённой пакетной и потоковой обработки неструктурированных и слабоструктурированных данных, входящий в экосистему проектов Hadoop, но не привязанный к Hadoop (кластеру) как таковому. В этом митапе разберемся с тем, что нового в практику использования Spark привносит Kubernetes (как кластер менеджер).
Программа митапа
1. Теория: краткое знакомство с Apache Spark
Немного теории - состав, архитектура, основные абстракции, принцип работы
2. Практика: Spark на Kubernetes
Установка и настройка.
Особенности использования
Выполнение своего pyspark кода в интерактивном и batch режимах (client & cluster execution modes)
Работа с источниками (S3, JDBC)
Контактная информация: info@bigdataschool.ru, +7 (495) 41-41-121, @Bigdataschool_mck
Регистрация на мероприятие:
https://shkola-bolshih-dannyh.timepad.ru/event/2897432/
МЕРОПРИЯТИЕ БУДЕТ ПРОВОДИТЬСЯ НА ПЛАТФОРМЕ WEBINAR. Ссылка на подключение к митапу придет на указанную вами почту за 1 час до начала мероприятия.
В БЕСПЛАТНОМ МИТАПЕ:
О митапе
Apache Spark – это Big Data фреймворк с открытым исходным кодом для распределённой пакетной и потоковой обработки неструктурированных и слабоструктурированных данных, входящий в экосистему проектов Hadoop, но не привязанный к Hadoop (кластеру) как таковому. В этом митапе разберемся с тем, что нового в практику использования Spark привносит Kubernetes (как кластер менеджер).
Программа митапа
1. Теория: краткое знакомство с Apache Spark
Немного теории - состав, архитектура, основные абстракции, принцип работы
2. Практика: Spark на Kubernetes
Установка и настройка.
Особенности использования
Выполнение своего pyspark кода в интерактивном и batch режимах (client & cluster execution modes)
Работа с источниками (S3, JDBC)
Контактная информация: info@bigdataschool.ru, +7 (495) 41-41-121, @Bigdataschool_mck
Регистрация на мероприятие:
https://shkola-bolshih-dannyh.timepad.ru/event/2897432/
МЕРОПРИЯТИЕ БУДЕТ ПРОВОДИТЬСЯ НА ПЛАТФОРМЕ WEBINAR. Ссылка на подключение к митапу придет на указанную вами почту за 1 час до начала мероприятия.
shkola-bolshih-dannyh.timepad.ru
БЕСПЛАТНЫЙ МИТАП: «Apache Spark на Kubernetes своими руками» / События на TimePad.ru
Apache Spark – это Big Data фреймворк с открытым исходным кодом для распределённой пакетной и потоковой обработки неструктурированных и слабоструктурированных данных, входящий в экосистему проектов Hadoop, но не привязанный к Hadoop (кластеру) как таковому.…
Последний шанс попасть на международный хакатон «Лидеры цифровой трансформации». Тебя ждет 25 задач и призовой фонд – 50 000 000 рублей!
Старт разработки решений по задачам уже 3 июня!
ЛЦТ-2024 – это событие мирового уровня:
- 10.000+ участников со всех уголков страны и мира
- 10+ международных партнеров, готовых поддержать твои идеи
- твой шанс запустить стартап и проверить свое решение на практике
28-29 июня участников хакатона ждет крупнейший международный ИТ-фестиваль. Не упусти шанс попасть в число гостей и пообщаться лично с представителями корпораций, городских департаментов и партнеров из стран Азии, Африки и Ближнего Востока, получить крутой оффер и стать частью крупнейшей ИТ-тусовки!
Не жди дедлайна и подавай заявку прямо сейчас! При регистрации в поле о себе, укажи что являешься слушателем Школы Больших данных
Ищи команду в чате лидеров!
Старт разработки решений по задачам уже 3 июня!
ЛЦТ-2024 – это событие мирового уровня:
- 10.000+ участников со всех уголков страны и мира
- 10+ международных партнеров, готовых поддержать твои идеи
- твой шанс запустить стартап и проверить свое решение на практике
28-29 июня участников хакатона ждет крупнейший международный ИТ-фестиваль. Не упусти шанс попасть в число гостей и пообщаться лично с представителями корпораций, городских департаментов и партнеров из стран Азии, Африки и Ближнего Востока, получить крутой оффер и стать частью крупнейшей ИТ-тусовки!
Не жди дедлайна и подавай заявку прямо сейчас! При регистрации в поле о себе, укажи что являешься слушателем Школы Больших данных
Ищи команду в чате лидеров!
#XML #Greenplum #СУБД
Обработка XML-документов в Greenplum
Как Greenplum хранит и обрабатывает XML-документы, зачем для этого нужны утилиты gpfdist и gpload, каковы их конфигурации для выполнения XSLT-преобразований XML-файлов и их загрузки/выборки во внешние таблицы MPP-СУБД.
Работа с XML-документами и XSLT-преобразования в Greenplum
Greenplum, как и PostgreSQL, также поддерживает работу со сложными типами данных и может вести себя подобно документо-ориентированной СУБД, обрабатывая не только JSON, но и XML-документы.
Полная статья: https://bigdataschool.ru/blog/news/greenplum/xml-processing-in-greenplum.html
Курсы: https://bigdataschool.ru/courses/greenplum-for-data-engineers https://bigdataschool.ru/courses/greenplum-arenadata-administration
Наш сайт: https://bigdataschool.ru
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Обработка XML-документов в Greenplum
Как Greenplum хранит и обрабатывает XML-документы, зачем для этого нужны утилиты gpfdist и gpload, каковы их конфигурации для выполнения XSLT-преобразований XML-файлов и их загрузки/выборки во внешние таблицы MPP-СУБД.
Работа с XML-документами и XSLT-преобразования в Greenplum
Greenplum, как и PostgreSQL, также поддерживает работу со сложными типами данных и может вести себя подобно документо-ориентированной СУБД, обрабатывая не только JSON, но и XML-документы.
Полная статья: https://bigdataschool.ru/blog/news/greenplum/xml-processing-in-greenplum.html
Курсы: https://bigdataschool.ru/courses/greenplum-for-data-engineers https://bigdataschool.ru/courses/greenplum-arenadata-administration
Наш сайт: https://bigdataschool.ru
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
#ClickHouse #СУБД #шарды
Оптимизация производительности ClickHouse: ребалансировка шардов и профилирование запросов
Как равномерно распределить по шардам ClickHouse уже существующие данные, зачем профилировать запросы, какие профилировщики поддерживает эта колоночная СУБД и каким образом их использовать.
Ребалансировка шардов в ClickHouse
Какой бы быстрой не была база данных, ее работу всегда хочется ускорить еще больше. Одним из популярных способов ускорения распределенной СУБД является шардирование—горизонтальное масштабирование за счет физического разделения данных на разные сегменты(шарды, shards)
Полная статья: https://bigdataschool.ru/blog/news/clickhouse/clickhouse-performance-optimizing-with-shards-rebalancing-and-profilers.html
Курс: https://bigdataschool.ru/courses/clickhouse
Наш сайт: https://bigdataschool.ru
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО УЦ Коммерсант
Оптимизация производительности ClickHouse: ребалансировка шардов и профилирование запросов
Как равномерно распределить по шардам ClickHouse уже существующие данные, зачем профилировать запросы, какие профилировщики поддерживает эта колоночная СУБД и каким образом их использовать.
Ребалансировка шардов в ClickHouse
Какой бы быстрой не была база данных, ее работу всегда хочется ускорить еще больше. Одним из популярных способов ускорения распределенной СУБД является шардирование—горизонтальное масштабирование за счет физического разделения данных на разные сегменты(шарды, shards)
Полная статья: https://bigdataschool.ru/blog/news/clickhouse/clickhouse-performance-optimizing-with-shards-rebalancing-and-profilers.html
Курс: https://bigdataschool.ru/courses/clickhouse
Наш сайт: https://bigdataschool.ru
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО УЦ Коммерсант
#Kafka #Decodable #SQL
Пример потокового конвейера из Kafka в Elasticsearch на платформе Decodable
Практическая демонстрация потокового SQL-конвейера, который преобразует данные, потребленные из Apache Kafka, и записывает результаты в Elasticsearch, используя Debezium-коннекторы и задания Apache Flink в облачной платформе Decodable.
Полная статья: https://bigdataschool.ru/blog/news/kafka/from-kafka-to-elasticsearch-with-sql-pipeline-on-decodable.html
Курсы: https://bigdataschool.ru/courses/apache-kafka-developers https://bigdataschool.ru/courses/apache-kafka-basics https://bigdataschool.ru/courses/apache-kafka-administrator-course https://bigdataschool.ru/courses/arenadata-streaming-kafka-cluster-administrator
Наш сайт: https://bigdataschool.ru
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Пример потокового конвейера из Kafka в Elasticsearch на платформе Decodable
Практическая демонстрация потокового SQL-конвейера, который преобразует данные, потребленные из Apache Kafka, и записывает результаты в Elasticsearch, используя Debezium-коннекторы и задания Apache Flink в облачной платформе Decodable.
Полная статья: https://bigdataschool.ru/blog/news/kafka/from-kafka-to-elasticsearch-with-sql-pipeline-on-decodable.html
Курсы: https://bigdataschool.ru/courses/apache-kafka-developers https://bigdataschool.ru/courses/apache-kafka-basics https://bigdataschool.ru/courses/apache-kafka-administrator-course https://bigdataschool.ru/courses/arenadata-streaming-kafka-cluster-administrator
Наш сайт: https://bigdataschool.ru
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
#ClickHouse #ApacheKafka #СУБД
Задержка интеграции ClickHouse с Apache Kafka и как ее снизить
От чего зависит задержка передачи данных из Apache Kafka в ClickHouse, как ее определить и ускорить интеграцию брокера сообщений с колоночной СУБД: настройки и лучшие практики.
Интеграция ClickHouse с Kafka
Чтобы связать ClickHouse с внешними системами, в этой колоночной СУБД есть специальные механизмы – интеграционные движки таблиц.
Полная статья: https://bigdataschool.ru/blog/news/clickhouse/from-kafka-to-clickhouse-integration-latency.html
Курсы: https://bigdataschool.ru/courses/clickhouse https://bigdataschool.ru/courses/apache-kafka-developers
Наш сайт: https://bigdataschool.ru
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Задержка интеграции ClickHouse с Apache Kafka и как ее снизить
От чего зависит задержка передачи данных из Apache Kafka в ClickHouse, как ее определить и ускорить интеграцию брокера сообщений с колоночной СУБД: настройки и лучшие практики.
Интеграция ClickHouse с Kafka
Чтобы связать ClickHouse с внешними системами, в этой колоночной СУБД есть специальные механизмы – интеграционные движки таблиц.
Полная статья: https://bigdataschool.ru/blog/news/clickhouse/from-kafka-to-clickhouse-integration-latency.html
Курсы: https://bigdataschool.ru/courses/clickhouse https://bigdataschool.ru/courses/apache-kafka-developers
Наш сайт: https://bigdataschool.ru
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"