O Presto é um mecanismo de consulta SQL distribuído de código aberto otimizado para baixa latência e análise de dados ad-hoc. Ele aceita o padrão ANSI SQL, que inclui consultas complexas, agregações, junções e funções de janela. O Presto pode processar dados de várias fontes, como o Hadoop Distributed File System (HDFS) e o Amazon S3. O Presto tem dois projetos na comunidade - PrestoDB e PrestoSQL. O Amazon EMR suporta os dois projetos. Saiba mais sobre o PrestoDB aqui.
É possível criar rápido e facilmente clusters gerenciados do Presto por meio do Console de gerenciamento da AWS, da AWS CLI ou da API do Amazon EMR. Além disso, é possível utilizar os recursos do Amazon EMR, como a conectividade rápida do Amazon S3, a integração com instâncias spot do Amazon EC2, a escolha de uma ampla variedade de instâncias do Amazon EC2, inclusive as instâncias com memória otimizada e comandos de redimensionamento para adicionar e remover facilmente instâncias do seu cluster.
Recursos e benefícios
Performance de consulta interativa
O Presto usa um mecanismo personalizado de execução de consultas com operadores criados para apoiar a semântica SQL. Ao contrário do Hive/MapReduce, o Presto executa consultas na memória, distribuídas na rede entre etapas, evitando assim E/S desnecessárias. O modelo de execução distribuída executa várias etapas em paralelo e faz o streaming de dados de uma etapa para a próxima assim que ficam disponíveis.
Facilidade de uso
É possível lançar um cluster do Amazon EMR executando o Presto em minutos. Você não precisa se preocupar com provisionamento de nós, a configuração de clusters, a configuração ou os ajustes de cluster. O Amazon EMR cuida dessas tarefas para que você se concentre na análise. Também será possível usar ferramentas, como o Airpal, que é uma ferramenta de execução de consultas da web com código aberto disponibilizada pela Airbnb. A interface de usuário do Airpal simplifica a exploração de dados e a análise ad-hoc, além de aceitar recursos, como destaque de sintaxe, capacidade de exportar resultados para o formato CSV, armazenamento de consultas para uso posterior e capacidade de explorar tabelas para visualizar esquemas.
Integração com o conjunto de recursos do Amazon EMR
Execute consultas interativas que acessam diretamente dados no Amazon S3, reduza custos usando a capacidade de instância spot do Amazon EC2, use o Escalamento Gerenciado EMR para adicionar e remover capacidade de maneira dinâmica e execute clusters efêmeros ou de longa execução de acordo com a carga de trabalho. Você também poderá adicionar outros aplicativos do ecossistema do Hadoop no seu cluster.
Suporte ao ANSI SQL
O Presto aceita o padrão ANSI SQL, o que facilita para analistas e desenvolvedores de dados a consulta de dados estruturados e não estruturados em grande escala. No momento, o Presto aceita uma ampla variedade de funcionalidades SQL, como consultas complexas, agregações, junções e funções de janela.
Histórias de sucesso de clientes
A Netflix escolheu o Presto como seu mecanismo de consulta interativa em conformidade com o padrão ANSI SQL para big data. O Presto escala bem, é código aberto e integra-se ao Hive Metastore e ao Amazon S3, que é a espinha dorsal do ambiente de warehouse de big data da Netflix. A Netflix executa o Presto em clusters persistentes do Amazon EMR para consultar de maneira rápida e flexível seu datastore de aproximadamente 25 PB do Amazon S3. A Netflix é um colaborador ativo do Presto e o Amazon EMR proporciona à Netflix a flexibilidade para executar sua própria compilação do Presto nos clusters do Amazon EMR. Em média, a Netflix executa aproximadamente 3.500 consultas por dia em seus clusters do Presto.
O Jampp é uma plataforma de marketing de aplicativos móveis que usa técnicas avançadas de redirecionamento de anúncios para incentivar usuários envolvidos a usar aplicativos. O Jampp consegue fazer isso ao comprar inventário de mídia móvel por meio de seu próprio mecanismo de RTB (real-time bidding – oferta de compra em tempo real) controlado por conversão, que faz ofertas de compra de inventários de modo dinâmico entre 18 trocas de RTB e mais de 150 redes de anúncios móveis. O Jampp utiliza o Presto em execução no Amazon EMR para análise avançada de logs ad-hoc, combinando dados de várias fontes e cálculos complexos de redirecionamento de segmentos. Com o crescimento de 600% da base de usuários do Jampp, a demanda por consultas complexas de análise também aumentou. O Jampp deixou de executar um aplicativo Python complexo no MySQL e passou a executar o Presto, o que resultou em uma performance 12 vezes melhor. No momento, o Jampp usa o Presto no Amazon EMR para processar 40 TB de dados diariamente.
Como uma incubadora de startups, a Cogo Labs opera uma plataforma de análise de marketing e inteligência de negócios usada por suas empresas de portfólio e suas equipes internas. Para apoiar o ambiente do OLAP com uma taxa elevada de inovação, a empresa padronizou o SQL para interagir com os dados. A Cogo Labs escolheu o Presto graças à performance de consulta em tempo real, ao apoio ao padrão ANSI SQL e à capacidade de processar dados diretamente do Amazon S3. O Presto em execução no Amazon EMR permite que seus mais de 100 desenvolvedores e analistas executem consultas SQL em mais de 500 TB de dados armazenados no Amazon S3 para exploração de dados, análise ad-hoc e geração de relatórios. A Cogo Labs usa uma combinação de clusters efêmeros e permanentes, bem como depende da integração do Amazon EMR com instâncias spot para reduzir custos.
A OpenSpan disponibiliza soluções de automação e inteligência que ajudam a conectar pessoas, processos e tecnologia para obter insights sobre a produtividade de funcionários, simplificar transações e envolver funcionários e clientes. A OpenSpan migrou do HBase para o Presto no Amazon EMR com dados no Amazon S3. A OpenSpan escolheu o Presto graças à interface SQL e à capacidade de consultar dados em tempo real diretamente do Amazon S3. Isso permitiu que a empresa explorasse rapidamente grandes quantidades de dados e iterasse rapidamente seus próximos produtos de dados. A OpenSpan usa o formato de arquivo Parquet, bem como utiliza o PrestogreSQL para conectar-se ao Presto. A OpenSpan escolheu o Amazon EMR e o Amazon S3 para processar os gigabytes de dados que recebem diariamente de seus clientes de maneira econômica.
A Kanmu é uma startup japonesa no setor de serviços financeiros e disponibiliza ofertas vinculadas a cartões com base no uso de cartões de crédito dos clientes. A Kanmu migrou do Hive para usar o Presto no Amazon EMR graças à capacidade do Presto de executar análises exploratórias e iterativas em uma velocidade interativa, à boa performance com o Amazon S3 e à escalabilidade para consultar grandes conjuntos de dados. A Kanmu usa o Fluentd-plugin-s3 para enviar dados para o Amazon S3, o formato Optimized Row Coumnar (ORC – Colunar de linhas otimizadas) para armazenar dados e usa o shib, um cliente web baseado em node.js para executar consultas SQL.
Saiba mais sobre a definição de preço do Amazon EMR