Бесплатный курс по базовому Python от сообщества ODS (простым и понятным язком, идеально для быстрого старта)
#python #ods
https://open-data-science.github.io/pycourse/base/
#python #ods
https://open-data-science.github.io/pycourse/base/
❤🔥1🔥1
Визуальное отображение плана запроса, просто копируем план запроса и получаем, например, такой, как на изображении, результат. 🧙
https://explain.dalibo.com/
#sql #postgres #postgreSQL
https://explain.dalibo.com/
#sql #postgres #postgreSQL
👍6
Высоконагруженные приложения.
Глава 5.
Репликация.
#кабанчик #мартин_клепман #репликация
https://youtu.be/XScWsWprMI0
Глава 5.
Репликация.
#кабанчик #мартин_клепман #репликация
https://youtu.be/XScWsWprMI0
YouTube
Высоконагруженные приложения. Глава 5 Репликация
#database #distributedsystems #postgresql #replication
Все встречи проходят онлайн и подключиться могут все желающие https://news.1rj.ru/str/backend_megdu_skobkah
Встретились обсудить 5 главу про стратегии репликации. В качестве приглашенных гостей - Костя Евтеев…
Все встречи проходят онлайн и подключиться могут все желающие https://news.1rj.ru/str/backend_megdu_skobkah
Встретились обсудить 5 главу про стратегии репликации. В качестве приглашенных гостей - Костя Евтеев…
👍1🆒1
Практическое руководство о том, как начать использовать Rust для задач инженерии данных. Практические примеры того, как Rust можно использовать для большинства задач, ожидаемых от дата-инженера.
👍2
В PostgreSQL индексы не содержат ссылку на кластерный индекс или первичный ключ, как в MySQL или MS SQL Server. Вместо этого, каждый индекс в PostgreSQL содержит указатель на строку таблицы на диске, называемый TID (tuple ID). TID состоит из двух компонент: номера блока и номера строки в блоке. Номер блока указывает на физическое расположение блока на диске, а номер строки - на конкретную строку в этом блоке.
Когда выполняется запрос, использующий индекс, PostgreSQL использует TID, чтобы найти соответствующую строку в таблице на диске. Это позволяет получить быстрый доступ к данным, поскольку индекс позволяет быстро найти нужную строку без необходимости сканировать всю таблицу.
Важно отметить, что если строка таблицы переносится на другой блок из-за обновления или вставки новых строк, то TID также будет изменяться, что может повлиять на производительность запросов, использующих индекс. Однако PostgreSQL обеспечивает автоматическую обновление индексов после изменения данных в таблицах, чтобы гарантировать целостность индексов и устранить такие проблемы.
#postgres #database #db #psql
Когда выполняется запрос, использующий индекс, PostgreSQL использует TID, чтобы найти соответствующую строку в таблице на диске. Это позволяет получить быстрый доступ к данным, поскольку индекс позволяет быстро найти нужную строку без необходимости сканировать всю таблицу.
Важно отметить, что если строка таблицы переносится на другой блок из-за обновления или вставки новых строк, то TID также будет изменяться, что может повлиять на производительность запросов, использующих индекс. Однако PostgreSQL обеспечивает автоматическую обновление индексов после изменения данных в таблицах, чтобы гарантировать целостность индексов и устранить такие проблемы.
#postgres #database #db #psql
👍3
pandas 2.0 and the Arrow revolution (part I)
Революция Arrow особенно важна для пользователей библиотеки pandas. Ранее DataFrame в pandas сохранялся в оперативной памяти, и рекомендуемое соотношение объема оперативной памяти к размеру набора данных было примерно 5-10 раз в 2017 году. Однако с улучшением pandas это соотношение стало около 2 раз.
Это означает, что пользователи могут обрабатывать наборы данных, занимающие до 8 ГБ оперативной памяти на 16-гигабайтной машине. Однако, объем 8 ГБ оперативной памяти в pandas значительно отличается от ожидаемого. Ранее строковые столбцы в pandas сохранялись как объекты, что было чрезвычайно неэффективно. Новый тип столбца строковых данных [pyarrow] более эффективен примерно в 3,5 раза, как показывают исследования.
Допустим, пользователь pandas может обрабатывать набор строковых данных размером 2 ГБ на диске (8 ГБ в памяти) на своей 16-гигабайтной машине для определенного анализа. Если его набор данных вырастет до 3 ГБ, то произойдет ошибка из-за нехватки оперативной памяти.
Однако с использованием более эффективного типа столбца строковых данных пользователь может обрабатывать наборы данных размером до 7 ГБ (в 3,5 раза больше), что является большой новостью для многих пользователей pandas.
#pandas #arrow #python #de
Революция Arrow особенно важна для пользователей библиотеки pandas. Ранее DataFrame в pandas сохранялся в оперативной памяти, и рекомендуемое соотношение объема оперативной памяти к размеру набора данных было примерно 5-10 раз в 2017 году. Однако с улучшением pandas это соотношение стало около 2 раз.
Это означает, что пользователи могут обрабатывать наборы данных, занимающие до 8 ГБ оперативной памяти на 16-гигабайтной машине. Однако, объем 8 ГБ оперативной памяти в pandas значительно отличается от ожидаемого. Ранее строковые столбцы в pandas сохранялись как объекты, что было чрезвычайно неэффективно. Новый тип столбца строковых данных [pyarrow] более эффективен примерно в 3,5 раза, как показывают исследования.
Допустим, пользователь pandas может обрабатывать набор строковых данных размером 2 ГБ на диске (8 ГБ в памяти) на своей 16-гигабайтной машине для определенного анализа. Если его набор данных вырастет до 3 ГБ, то произойдет ошибка из-за нехватки оперативной памяти.
Однако с использованием более эффективного типа столбца строковых данных пользователь может обрабатывать наборы данных размером до 7 ГБ (в 3,5 раза больше), что является большой новостью для многих пользователей pandas.
#pandas #arrow #python #de
🔥2
PgAdmin - это бесплатное, мощное и популярное программное обеспечение администрирования PostgreSQL, которое позволяет управлять базами данных PostgreSQL и выполнить множество рутинных задач. Он доступен для Windows, Mac и Linux и является одним из самых широко используемых инструментов для управления базами данных PostgreSQL.
Основные возможности pgAdmin:
1️⃣ Создание, удаление и модификация таблиц в базе данных, создание ограничений на данные.
2️⃣ Создание и редактирование запросов SQL, выполняемых на сервере.
3️⃣ Просмотр и изменение данных в таблицах.
4️⃣ Управление пользователями и группами пользователей.
5️⃣ Поддержка нескольких серверов и свободный доступ к каждому из них.
6️⃣ Работа в графическом режиме, что делает работу с базой данных более удобной.
Без pgAdmin управление базой данных PostgreSQL будет гораздо более сложным. Программа предоставляет пользователю более простой способ доступа и управления информацией с помощью большого количества инструментов для работы с PostgreSQL. Он также позволяет пользователям работать с несколькими серверами одновременно, что облегчает их работу, уменьшает временные затраты и повышает производительность.
Кроме того, бесплатность, расширяемость и поддерживаемость инструментария делает его очень популярным среди разработчиков и системных администраторов. С его помощью можно легко создавать и настраивать базы данных, выполнять запросы, создавать пользователей, просматривать статистику базы данных и многое другое.
В заключение, pgAdmin - это эффективный и важный инструмент для управления базами данных PostgreSQL. Если вы работаете с PostgreSQL, то pgAdmin - это то, что вам нужно, чтобы сделать свою работу быстрее и проще.
#db #postgresql #postgres #pgadmin
Основные возможности pgAdmin:
Без pgAdmin управление базой данных PostgreSQL будет гораздо более сложным. Программа предоставляет пользователю более простой способ доступа и управления информацией с помощью большого количества инструментов для работы с PostgreSQL. Он также позволяет пользователям работать с несколькими серверами одновременно, что облегчает их работу, уменьшает временные затраты и повышает производительность.
Кроме того, бесплатность, расширяемость и поддерживаемость инструментария делает его очень популярным среди разработчиков и системных администраторов. С его помощью можно легко создавать и настраивать базы данных, выполнять запросы, создавать пользователей, просматривать статистику базы данных и многое другое.
В заключение, pgAdmin - это эффективный и важный инструмент для управления базами данных PostgreSQL. Если вы работаете с PostgreSQL, то pgAdmin - это то, что вам нужно, чтобы сделать свою работу быстрее и проще.
#db #postgresql #postgres #pgadmin
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿1
This media is not supported in your browser
VIEW IN TELEGRAM
Внезапно: теперь в Python можно использовать Tableau!
PyGWalker – пакет для визуализации данных в Pandas. Он позволяет создавать удобный интерфейс, с помощью которого можно легко визуализировать данные и построить красивые графики.
PyGWalker – это по сути мини-версия Tableau, которая работает внутри Python. Больше не нужно переключаться между различными приложениями – теперь всё можно сделать в одном месте.
Этот пакет подойдет всем, кто работает с большими массивами данных и хочет быстро создавать качественные визуализации. PyGWalker делает это процесс простым и удобным, предоставляя широкий выбор настроек и опций.
Можно запускать в Google Colab, Kaggle или Graphic Walker
#tableau #python #colab #kaggle #bi
PyGWalker – пакет для визуализации данных в Pandas. Он позволяет создавать удобный интерфейс, с помощью которого можно легко визуализировать данные и построить красивые графики.
PyGWalker – это по сути мини-версия Tableau, которая работает внутри Python. Больше не нужно переключаться между различными приложениями – теперь всё можно сделать в одном месте.
Этот пакет подойдет всем, кто работает с большими массивами данных и хочет быстро создавать качественные визуализации. PyGWalker делает это процесс простым и удобным, предоставляя широкий выбор настроек и опций.
Можно запускать в Google Colab, Kaggle или Graphic Walker
#tableau #python #colab #kaggle #bi
👍3🤩1
Hive & Spark
Hive является инфраструктурой для выполнения SQL-запросов над данными, хранящимися в Hadoop-кластере. Он использует MapReduce, Tez или Spark в качестве движка выполнения запросов.
Однако, поскольку Spark SQL поддерживает SQL-запросы и предоставляет распределенные API для обработки данных, у многих возникает вопрос: зачем использовать Hive, если есть Spark SQL?
Существует несколько причин, по которым организации могут продолжать использовать Hive:
1⃣ Совместимость с Hadoop. Hive был создан как инструмент для обработки больших данных в экосистеме Hadoop. Ключевым преимуществом для пользователей Hadoop является то, что Hive можно использовать для обработки данных, которые уже хранятся в Hadoop.
2⃣ Поддержка различных форматов хранения данных. Hive поддерживает множество форматов хранения данных, таких как Avro, ORC, Parquet, CSV и т.д. Это значит, что организации могут использовать Hive для выполнения SQL-запросов и анализа данных различных форматов.
3⃣ Наличие собственного языка запросов. В то время как Spark SQL использует ANSI SQL, Hive использует язык запросов, называемый HQL (Hive Query Language). HQL поддерживает ряд расширений, таких как трансформации таблиц, пользовательские функции и т.д. Некоторые пользователи могут предпочитать HQL за его удобство и гибкость.
Таким образом, использование Hive или Spark SQL зависит от потребностей конкретной организации. Если организация уже использует Hadoop и имеет множество данных, хранящихся в Hadoop, то Hive может быть для нее лучшим выбором. Если организация не привязана к Hadoop и требуется глубокая интеграция с подсистемами машинного обучения и аналитики, то Spark SQL может оказаться более подходящим.
#hive #hadoop #spark #mapreduce
Hive является инфраструктурой для выполнения SQL-запросов над данными, хранящимися в Hadoop-кластере. Он использует MapReduce, Tez или Spark в качестве движка выполнения запросов.
Однако, поскольку Spark SQL поддерживает SQL-запросы и предоставляет распределенные API для обработки данных, у многих возникает вопрос: зачем использовать Hive, если есть Spark SQL?
Существует несколько причин, по которым организации могут продолжать использовать Hive:
1⃣ Совместимость с Hadoop. Hive был создан как инструмент для обработки больших данных в экосистеме Hadoop. Ключевым преимуществом для пользователей Hadoop является то, что Hive можно использовать для обработки данных, которые уже хранятся в Hadoop.
2⃣ Поддержка различных форматов хранения данных. Hive поддерживает множество форматов хранения данных, таких как Avro, ORC, Parquet, CSV и т.д. Это значит, что организации могут использовать Hive для выполнения SQL-запросов и анализа данных различных форматов.
3⃣ Наличие собственного языка запросов. В то время как Spark SQL использует ANSI SQL, Hive использует язык запросов, называемый HQL (Hive Query Language). HQL поддерживает ряд расширений, таких как трансформации таблиц, пользовательские функции и т.д. Некоторые пользователи могут предпочитать HQL за его удобство и гибкость.
Таким образом, использование Hive или Spark SQL зависит от потребностей конкретной организации. Если организация уже использует Hadoop и имеет множество данных, хранящихся в Hadoop, то Hive может быть для нее лучшим выбором. Если организация не привязана к Hadoop и требуется глубокая интеграция с подсистемами машинного обучения и аналитики, то Spark SQL может оказаться более подходящим.
#hive #hadoop #spark #mapreduce
👍6
Начало работы с Apache Spark
Шаг1️⃣ Установка Apache Spark
Перед тем, как начать работать с Apache Spark, необходимо установить его на свой компьютер. Для этого можно следовать инструкциям на официальном сайте Apache Spark для установки версии, подходящей для используемой системы. Помимо этого можно воспользоваться Docker контейнером или ноутбуком на Google Colab.
Шаг2️⃣ Настройка среды разработки
Apache Spark может быть использован в различных средах разработки, таких как Jupyter Notebook, PyCharm, IntelliJ IDEA и других. При необходимости можно установить и настроить среду разработки исходя из личных предпочтений.
Шаг3️⃣ Использование Apache Spark
После установки и настройки среды разработки, можно начать использовать Apache Spark. Необходимо создать конфигурацию SparkSession:
Этот код создает новую SparkSession с именем appName. Затем можно загрузить данные и выполнить над ними различные операции. Например, можно загрузить данные из файла CSV с помощью команды:
Эта команда загружает файл CSV и создает DataFrame, который можно использовать для выполнения операций:
Для применения более сложных операций можно использовать функции Spark SQL или Spark DataFrame API.
Шаг4️⃣ Оптимизация производительности
Apache Spark может обрабатывать огромные объемы данных, но производительность может быть улучшена с помощью некоторых оптимизаций.
Один из способов улучшения производительности - это кэширование данных. Кэширование помогает избежать повторной загрузки или обработки одних и тех же данных при повторном использовании.
Также можно управлять ресурсами и параллелизмом операций, настраивая параметры Spark.
Шаг5️⃣ Запуск на кластере
Apache Spark может работать на кластере, используя платформы, такие как Apache Mesos, Hadoop или Kubernetes. Для запуска Apache Spark на кластере, важно настроить необходимые параметры конфигурации и после этого можно будет запустить задачи на кластере.
Это основы работы с Apache Spark. Среда является мощным инструментом для обработки и анализа больших объемов данных, поэтому изучение этой среды может быть очень полезно для различных инженеров и аналитиков данных.
Шаг
Перед тем, как начать работать с Apache Spark, необходимо установить его на свой компьютер. Для этого можно следовать инструкциям на официальном сайте Apache Spark для установки версии, подходящей для используемой системы. Помимо этого можно воспользоваться Docker контейнером или ноутбуком на Google Colab.
Шаг
Apache Spark может быть использован в различных средах разработки, таких как Jupyter Notebook, PyCharm, IntelliJ IDEA и других. При необходимости можно установить и настроить среду разработки исходя из личных предпочтений.
Шаг
После установки и настройки среды разработки, можно начать использовать Apache Spark. Необходимо создать конфигурацию SparkSession:
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("appName").getOrCreate()Этот код создает новую SparkSession с именем appName. Затем можно загрузить данные и выполнить над ними различные операции. Например, можно загрузить данные из файла CSV с помощью команды:
df = spark.read.csv("path/to/file.csv", header=True)Эта команда загружает файл CSV и создает DataFrame, который можно использовать для выполнения операций:
df.show()
df.printSchema()
df.select("column_name").show()Для применения более сложных операций можно использовать функции Spark SQL или Spark DataFrame API.
Шаг
Apache Spark может обрабатывать огромные объемы данных, но производительность может быть улучшена с помощью некоторых оптимизаций.
Один из способов улучшения производительности - это кэширование данных. Кэширование помогает избежать повторной загрузки или обработки одних и тех же данных при повторном использовании.
df.cache()Также можно управлять ресурсами и параллелизмом операций, настраивая параметры Spark.
Шаг
Apache Spark может работать на кластере, используя платформы, такие как Apache Mesos, Hadoop или Kubernetes. Для запуска Apache Spark на кластере, важно настроить необходимые параметры конфигурации и после этого можно будет запустить задачи на кластере.
Это основы работы с Apache Spark. Среда является мощным инструментом для обработки и анализа больших объемов данных, поэтому изучение этой среды может быть очень полезно для различных инженеров и аналитиков данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Google
Colab and PySpark.ipynb
Colab notebook
👍3
The Big Book of Data Engineering.
Бесплатная книга от Databricks, в ней можно найти информацию о том, как:
✔️ Разработать аналитику реального времени в точке продаж
✔️ Построить кибербезопасный центр обработки данных (lakehouse)
✔️ Разблокировать потенциал медицинских данных
✔️ Организовать жизненный цикл обработки данных на платформе Databricks Lakehouse
Скачать
#de #databricks #lakehouse
Бесплатная книга от Databricks, в ней можно найти информацию о том, как:
Скачать
#de #databricks #lakehouse
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤔1
Apache Kafka: Основы и преимущества
Apache Kafka — это платформа для распределенной обработки данных, которая позволяет передавать и обрабатывать потоки данных в реальном времени. Он был создан в начале 2010 года в компании LinkedIn и стал открытым исходным кодом в 2011 году. С тех пор он стал одним из самых популярных инструментов для обработки потоков данных.
1️⃣ Высокая производительность
Kafka проектировался для работы с высокими скоростями обработки и передачи данных. Он позволяет обрабатывать миллионы сообщений в секунду, обеспечивая высокую скорость передачи данных в режиме реального времени.
2️⃣ Гибкость
Kafka является гибкой платформой, которая может использоваться для различных целей, включая передачу данных, логирование, аналитику и многое другое. Он поддерживает несколько типов клиентских приложений, включая Java, Python, C++, Ruby и другие.
3️⃣ Масштабируемость
Kafka позволяет легко масштабировать свою инфраструктуру для обработки большого объема данных. Он может работать на кластерах серверов, предоставляя возможность добавлять и удалять узлов, не прерывая процесс обработки данных.
4️⃣ Надежность
Kafka обеспечивает высокий уровень надежности и отказоустойчивости. Он сохраняет все сообщения, которые передаются через него, позволяя обрабатывать их позже в случае сбоев в системе. Кроме того, Kafka применяет стратегии репликации для обеспечения сохранности данных в случае сбоя в узле кластера.
5️⃣ Эффективное использование ресурсов
Kafka использует мало ресурсов для работы, что делает его легким для развертывания на серверах. Кроме того, поддержка многопоточности позволяет использовать все ядра процессора для обработки данных.
Apache Kafka является мощной платформой для обработки и передачи потоков данных. Его высокая производительность, гибкость, масштабируемость, надежность и эффективное использование ресурсов делают его отличным выбором для любого приложения, работающего с потоками данных.
Apache Kafka — это платформа для распределенной обработки данных, которая позволяет передавать и обрабатывать потоки данных в реальном времени. Он был создан в начале 2010 года в компании LinkedIn и стал открытым исходным кодом в 2011 году. С тех пор он стал одним из самых популярных инструментов для обработки потоков данных.
В чем же основные преимущества Kafka?Kafka проектировался для работы с высокими скоростями обработки и передачи данных. Он позволяет обрабатывать миллионы сообщений в секунду, обеспечивая высокую скорость передачи данных в режиме реального времени.
Kafka является гибкой платформой, которая может использоваться для различных целей, включая передачу данных, логирование, аналитику и многое другое. Он поддерживает несколько типов клиентских приложений, включая Java, Python, C++, Ruby и другие.
Kafka позволяет легко масштабировать свою инфраструктуру для обработки большого объема данных. Он может работать на кластерах серверов, предоставляя возможность добавлять и удалять узлов, не прерывая процесс обработки данных.
Kafka обеспечивает высокий уровень надежности и отказоустойчивости. Он сохраняет все сообщения, которые передаются через него, позволяя обрабатывать их позже в случае сбоев в системе. Кроме того, Kafka применяет стратегии репликации для обеспечения сохранности данных в случае сбоя в узле кластера.
Kafka использует мало ресурсов для работы, что делает его легким для развертывания на серверах. Кроме того, поддержка многопоточности позволяет использовать все ядра процессора для обработки данных.
Apache Kafka является мощной платформой для обработки и передачи потоков данных. Его высокая производительность, гибкость, масштабируемость, надежность и эффективное использование ресурсов делают его отличным выбором для любого приложения, работающего с потоками данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Apache Kafka
Apache Kafka: A Distributed Streaming Platform.
👍3