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
SQL (Structured Query Language) - это язык программирования для работы с реляционными базами данных. С помощью SQL можно создавать, изменять и удалять таблицы, а также извлекать данные из них.
Понимание языка SQL важно для всех, кто работает с базами данных, включая разработчиков, аналитиков данных и администраторов баз данных.
Основные команд SQL:
1️⃣ SELECT - команда SQL, которая извлекает данные из таблицы бд. Синтаксис:
2️⃣ WHERE - используется для фильтрации данных. То есть, можно выбирать только те строки, которые удовлетворяют определенному условию. Пример:
3️⃣ INSERT INTO - используется для добавления новых записей в таблицу. Синтаксис:
4️⃣ UPDATE - используется для обновления существующих записей в таблице. Синтаксис:
5️⃣ DELETE - команда SQL, которая удаляет записи из таблицы. Синтаксис:
6️⃣ CREATE TABLE - используется для создания новой таблицы в базе данных. Синтаксис:
7️⃣ ALTER TABLE - используется для изменения структуры существующей таблицы. Синтаксис:
8️⃣ DROP TABLE - используется для удаления таблицы из базы данных. Синтаксис:
Это только начало изучения SQL. Для более глубокого понимания и более сложных запросов SQL можно использовать множество различных функций и операторов, таких как JOIN, GROUP BY, ORDER BY и многие другие.
Но начав с основных команд SQL, можно легко заглянуть внутрь базы данных и извлекать необходимую информацию.
#sql #beginner
Понимание языка SQL важно для всех, кто работает с базами данных, включая разработчиков, аналитиков данных и администраторов баз данных.
Основные команд SQL:
SELECT column_name(s)
FROM table_name;
SELECT *
FROM table_name
WHERE column_name = 'value';
INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3);
UPDATE table_name
SET column1 = value1, column2 = value2
WHERE some_column = some_value;
DELETE FROM table_name
WHERE some_column = some_value;
CREATE TABLE table_name (column1 datatype, column2 datatype, column3 datatype);
ALTER TABLE table_name
ADD column_name datatype;
DROP TABLE table_name;
Это только начало изучения SQL. Для более глубокого понимания и более сложных запросов SQL можно использовать множество различных функций и операторов, таких как JOIN, GROUP BY, ORDER BY и многие другие.
Но начав с основных команд SQL, можно легко заглянуть внутрь базы данных и извлекать необходимую информацию.
#sql #beginner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
DBT (Data Build Tool) - это открытый инструмент, который становится все более популярным в области обработки данных. DBT служит механизмом управления и трансформации данных в повторяемом и модульном формате. Этот процесс работы с данными называется DataOps.
▶️ Одной из ключевых особенностей DBT является его фокус на использовании SQL в качестве основного синтаксиса для преобразования данных. DBT следует принципам SQL очень близко. Это означает, что, даже если пользователь новичок в DBT, начать работу вам будет проще если уже есть понимание в SQL.
▶️ Еще одним важным преимуществом DBT является его способность управлять сложными трансформациями данных. Это особенно важно в контексте крупных проектов с большим объемом данных, которые требуют значительного количества очистки, агрегации и преобразования. DBT упрощает этот процесс, позволяя разработчикам определять преобразования с помощью модульных конфигурационных файлов, которые могут быть протестированы, зафиксированы в версиях и пройти проверку.
▶️ Одним из наиболее важных принципов DBT является использование общей схемы данных. Это означает, что вместо работы на индивидуальной проектной основе DBT позволяет командам сотрудничать над общим набором данных, который можно использовать в нескольких проектах. Такой подход повышает консистентность данных, снижает число ошибок и упрощает поддержку данных при изменении проектов.
▶️ DBT также предоставляет мощные возможности интеграции с современными инструментами по обработке данных, такими как Snowflake и BigQuery. В результате разработчики могут использовать мощные инструменты, которые входят в их обычный рабочий процесс, для трансформации и управления данными. Эта интеграция позволяет командам работать более эффективно и снижает число ручных процессов в управлении данными.
🔥 DBT - это отличный инструмент, который помогает разработчикам управлять и трансформировать данные в консистентном, легком для понимания и поддержки формате.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
SQL и хранилищам данных, полезные ссылки по теме:
🟡 PostgreSQL
🔘 Домашняя страница базы данных
🔘 Что такое PostgreSQL? (краткие сведения)
🔘 Документация к PostgreSQL 14.5 на русском языке
🔘 Курс молодого бойца PostgreSQL
🔘 Подборка статей
🔘 Язык SQL
🟢 Архитектура хранилищ данных
🔘 Хранилище данных: понятия
🔘 Архитектура хранилищ данных: традиционная и облачная
🔘 Что такое хранилище данных?
🔘 Публикации, рассказывающие о хранилищах данных, подборка Habr
🔘 Обзор гибких методологий проектирования DWH
🔘 Особенности построения хранилища данных на базе ClickHouse в Yandex Cloud
🔘 Создание Data Lake и Warehouse на GCP
#sql #postgres #dwh #clickhouse #datalake
#sql #postgres #dwh #clickhouse #datalake
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3