в
Для завершения этого руководства вам потребуется настроить некоторое программное обеспечение. Вот разбивка того, что вам понадобится:
Установка: Если вы начинаете заново,
После установки Docker Desktop или комбинации Docker и Docker Compose вы можете проверить их наличие, выполнив следующую команду в своем терминале:
docker-compose --version
Вам также понадобится лицензия SingleStore, которую вы можете получить
Запишите свой лицензионный ключ и пароль root. Вашей учетной записи будет назначен случайный пароль root, но вы сможете изменить свой пароль root с помощью пользовательского интерфейса SingleStore.
Это руководство зависит от
Самый важный файл в этом репозитории — docker-compose.yaml
, который описывает среду Docker с базой данных SingleStore ( singlestore
), экземпляром MinIO ( minio
) и контейнером mc
, который зависит от службы MinIO.
Контейнер mc содержит сценарий entrypoint
, который сначала ожидает, пока MinIO станет доступным, добавляет MinIO в качестве хоста, создает корзину classic-books
, загружает файл books.txt
, содержащий данные книг, устанавливает общедоступную политику корзины и затем завершает работу.
version: '3.7' services: singlestore: image: 'singlestore/cluster-in-a-box' ports: - "3306:3306" - "8080:8080" environment: LICENSE_KEY: "" ROOT_PASSWORD: "" START_AFTER_INIT: 'Y' minio: image: minio/minio:latest ports: - "9000:9000" - "9001:9001" volumes: - data1-1:/data1 - data1-2:/data2 environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin command: ["server", "/data1", "/data2", "--console-address", ":9001"] mc: image: minio/mc:latest depends_on: - minio entrypoint: > /bin/sh -c " until (/usr/bin/mc config host add --quiet --api s3v4 local http://minio:9000 minioadmin minioadmin) do echo '...waiting...' && sleep 1; done; echo 'Title,Author,Year' > books.txt; echo 'The Catcher in the Rye,JD Salinger,1945' >> books.txt; echo 'Pride and Prejudice,Jane Austen,1813' >> books.txt; echo 'Of Mice and Men,John Steinbeck,1937' >> books.txt; echo 'Frankenstein,Mary Shelley,1818' >> books.txt; /usr/bin/mc cp books.txt local/classic-books/books.txt; /usr/bin/mc policy set public local/classic-books; exit 0; " volumes: data1-1: data1-2:
Используя редактор документов, замените заполнители своим лицензионным ключом и паролем root.
В окне терминала перейдите туда, где вы клонировали репозиторий, и выполните следующую команду, чтобы запустить все контейнеры:
docker-compose up
Откройте окно браузера, перейдите к
Перейдите кminioadmin:minioadmin
. Вы увидите, что контейнер mc создал корзину под названием classic-books
и что в ней есть один объект.
В SingleStore перейдите в редактор SQL и выполните следующую команду:
-- Create a new database named 'books' CREATE DATABASE books; -- Switch to the 'books' database USE books; -- Create a table named 'classic_books' to store information about classic books CREATE TABLE classic_books ( title VARCHAR(255), author VARCHAR(255), date VARCHAR(255) ); -- Define a pipeline named 'minio' to load data from an S3 bucket called 'classic-books' -- The pipeline loads data into the 'classic_books' table CREATE PIPELINE IF NOT EXISTS minio AS LOAD DATA S3 'classic-books' CONFIG '{"region": "us-east-1", "endpoint_url":"http://minio:9000/"}' CREDENTIALS '{"aws_access_key_id": "minioadmin", "aws_secret_access_key": "minioadmin"}' INTO TABLE classic_books FIELDS TERMINATED BY ','; -- Start the 'minio' pipeline to initiate data loading START PIPELINE minio; -- Retrieve and display all records from the 'classic_books' table SELECT * FROM classic_books; -- Drop the 'minio' pipeline to stop data loading DROP PIPELINE minio; -- Drop the 'classic_books' table to remove it from the database DROP TABLE classic_books; -- Drop the 'books' database to remove it entirely DROP DATABASE books;
Этот сценарий SQL инициирует последовательность действий для обработки данных, связанных с классическими книгами. Все начинается с создания новой базы данных под названием books
. В этой базе данных создается таблица classic_books
, предназначенная для хранения таких сведений, как название, автор и дата публикации.
После этого настраивается конвейер с именем minio
для извлечения данных из корзины S3 с меткой classic-books
и загрузки их в таблицу classic_books
. Определены параметры конфигурации для этого конвейера, включая регион, URL-адрес конечной точки и учетные данные аутентификации.
Впоследствии конвейер «минио» активируется, чтобы начать процесс извлечения и заполнения данных. После успешной загрузки данных в таблицу запрос SELECT извлекает и отображает все записи, хранящиеся в classic_books
.
После завершения извлечения и просмотра данных конвейер minio
останавливается и удаляется, таблица classic_books
удаляется из базы данных books
, а сама база данных books
удаляется, обеспечивая чистый лист и завершая операции по управлению данными. Этот сценарий поможет вам начать работать с данными в MinIO в SingleStore.
В этом руководстве быстро создается надежный стек данных, который позволяет экспериментировать с хранением, обработкой и запросом данных в объектном хранилище. Интеграция SingleStore, облачной базы данных, известной своей скоростью и универсальностью, с MinIO образует важный кирпичик в современном стеке озер данных.
Поскольку отраслевая тенденция склоняется к разделению хранилищ и вычислений, эта установка дает разработчикам возможность исследовать инновационные стратегии управления данными. Если вы заинтересованы в создании приложений с интенсивным использованием данных, реализации расширенной аналитики или экспериментировании с рабочими нагрузками ИИ, это руководство послужит стартовой площадкой.
Мы приглашаем вас использовать этот стек данных, экспериментировать с различными наборами данных и конфигурациями и раскрыть весь потенциал ваших приложений, управляемых данными. Если у вас есть какие-либо вопросы или идеи, пишите нам по адресу [email protected] или присоединяйтесь к нашему