No
Para concluir este tutorial, você precisará configurar algum software. Aqui está uma análise do que você precisa:
Instalação: Se você estiver começando do zero, o
Depois de instalar o Docker Desktop ou a combinação do Docker e do Docker Compose, você pode verificar sua presença executando o seguinte comando em seu terminal:
docker-compose --version
Você também precisará de uma licença SingleStore, que pode ser obtida
Anote sua chave de licença e sua senha root. Uma senha root aleatória será atribuída à sua conta, mas você poderá alterar sua senha root usando a UI do SingleStore.
Este tutorial depende
O arquivo mais importante neste repositório é o docker-compose.yaml
que descreve um ambiente Docker com um banco de dados SingleStore ( singlestore
), uma instância MinIO ( minio
) e um contêiner mc
que depende do serviço MinIO.
O contêiner mc contém um script entrypoint
que primeiro espera até que o MinIO esteja acessível, adiciona o MinIO como host, cria o bucket classic-books
, carrega um arquivo books.txt
contendo dados do livro, define a política do bucket como pública e, em seguida, sai.
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:
Usando um editor de documentos, substitua os espaços reservados pela sua chave de licença e senha root.
Em uma janela de terminal, navegue até onde você clonou o repositório e execute o seguinte comando para iniciar todos os contêineres:
docker-compose up
Abra uma janela do navegador e navegue até
Navegar paraminioadmin:minioadmin
. Você verá que o contêiner mc criou um balde chamado classic-books
e que há um objeto no balde.
No SingleStore, navegue até o Editor SQL e execute o seguinte
-- 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;
Este script SQL inicia uma sequência de ações para tratar dados relacionados a livros clássicos. Começa estabelecendo um novo banco de dados chamado books
. Dentro desse banco de dados, é criada uma tabela chamada classic_books
, projetada para conter detalhes como título, autor e data de publicação.
Em seguida, um pipeline chamado minio
é configurado para extrair dados de um bucket S3 denominado classic-books
e carregá-los na tabela classic_books
. Os parâmetros de configuração para este pipeline, incluindo região, URL do endpoint e credenciais de autenticação, são definidos.
Posteriormente, o pipeline 'minio' é ativado para iniciar o processo de recuperação e população de dados. Depois que os dados são carregados com sucesso na tabela, uma consulta SELECT recupera e exibe todos os registros armazenados em classic_books
.
Após a conclusão da extração e visualização dos dados, o pipeline minio
é interrompido e removido, a tabela classic_books
é eliminada do banco de dados books
e o próprio banco de dados books
é removido, garantindo uma lousa limpa e concluindo as operações de gerenciamento de dados. Este script deve ajudá-lo a começar a brincar com dados no MinIO no SingleStore.
Este tutorial configura rapidamente uma pilha de dados robusta que permite a experimentação com armazenamento, processamento e consulta de dados no armazenamento de objetos. A integração do SingleStore, um banco de dados nativo da nuvem conhecido por sua velocidade e versatilidade, com o MinIO constitui um elemento importante na pilha moderna de datalake.
À medida que a tendência da indústria se inclina para a desagregação do armazenamento e da computação, esta configuração permite aos programadores explorar estratégias inovadoras de gestão de dados. Esteja você interessado em criar aplicativos com uso intensivo de dados, implementar análises avançadas ou experimentar cargas de trabalho de IA, este tutorial serve como plataforma de lançamento.
Convidamos você a desenvolver essa pilha de dados, experimentar diferentes conjuntos de dados e configurações e liberar todo o potencial de seus aplicativos orientados a dados. Para qualquer dúvida ou ideia, sinta-se à vontade para entrar em contato conosco pelo e-mail [email protected] ou junte-se ao nosso