AWS Data Processing Flashcards
Processing Services
AWS Lambda
Amazon ML
AWS Glue
Sagemaker
EMR
Data Pipeline
O que é o AWS Lambda?
Serviço que permite executar código sem provisionar ou gerenciar servidor.
Exemplos de uso do AWS Lambda
Executa código em resposta a eventos como alterações de dados no S3, atualizações em bancos de dados NoSQL, atividades de streaming de dados, etc.
Why not just run a server?
- Server management (patches, monitoring, hardware failures,
etc.) - Servers can be cheap, but scaling gets expensive really fast
- You don’t pay for processing time you don’t use
- Easier to split up development between front-end and back-end
Por que não apenas executar um servidor?
- Gerenciamento de servidores (patches, monitoramento, falhas de hardware,
etc) - Os servidores podem ser baratos, mas o escalonamento fica caro muito rápido
- Você não paga pelo tempo de processamento que não usa
- Mais fácil de dividir o desenvolvimento entre front-end e back-end
Main uses of Lambda
- Real-time file processing
- Real-time stream processing
- ETL
- Cron replacement
- Process AWS events
Principais usos do Lambda
- Processamento de arquivos em tempo real
- Processamento de fluxo em tempo real
- ETL
- Substituição do cron
- Processar eventos da AWS
Supported languages
- Node.js * Python * Java * C# * Go * Powershell * Ruby
No Lambda com Kinesis como configurar o acionador?
Você especifica um tamanho de lote ao configurar o acionador (até 10.000 registros)
Como o Lambda atua com o Kinesis através de código?
Código Lambda recebe um evento com um lote de registros de stream
Qual o limite de carga útil entre Lambda e Kinesis
6MB
O que acontece se o lote for muito grande ao acionar o Kinesis com o Lambda?
Pode causar timeouts
Cost Model Lambda
- “Pay for what you use”
- Generous free tier (1M requests/month, 400K GB-seconds compute time)
- $0.20 / million requests
- $.00001667 per GB/second
Modelo de custo do Lambda
- “Pague pelo que usar”
- Generoso nível gratuito (1M
solicitações/mês, computação de 400K GB por segundo) - US$ 0,20/milhão de solicitações
- $.00001667 por GB/segundo
Other promises Lambda
- High availability
- No scheduled downtime
- Retries failed code 3 times
- Unlimited scalability*
- Safety throttle of 1,000 concurrent executions per region
- High performance
- New functions callable in seconds
- Events processed in milliseconds
- Code is cached automatically
- But you do specify a timeout! This can cause problems. Max is 900 seconds (15 min)
Lambda - Outras promessas
- Alta disponibilidade
- Sem tempo de inatividade programado
- Novas tentativas de código com falha 3 vezes
- Escalabilidade ilimitada
- Limite de segurança de 1.000
execuções simultâneas por região - Alto desempenho
- Novas funções que podem ser chamadas em segundos
- Eventos processados em milissegundos
- O código é armazenado em cache automaticamente
- Mas você especifica um tempo limite!
Isso pode causar problemas. máximo é
900 segundos (15 minutos)
Anti-Patterns
- Long-running applications
- Use EC2 instead, or chain functions
- Dynamic websites
- Although Lambda can be used to develop “serverless” apps that rely on client-side AJAX
- Stateful applications
- But you can work in DynamoDB or S3 to keep track of state
O que é serviço Elasticsearch
Serviço de busca e análise de dados em tempo real, baseado em código aberto e distribuído sob a licença Apache.
What is Glue?
- Serverless discovery and definition
of table definitions and schema * S3 “data lakes” * RDS * Redshift * DynamoDB * Most other SQL databases - Custom ETL jobs * Trigger-driven, on a schedule, or on demand
- Fully managed
O que é o Glue?
Serviço de integração de dados sem servidor que facilita a descoberta, preparação, movimentação e integração de dados de várias fontes de análise, ML e aplicações.
Glue + Hive
- Hive lets you run SQL like queries from EMR
- The Glue Data Catalog can serve as a Hive metastore
- You can also import a Hive metastore into Glue
Como o catálogo de dados do Glue pode servir em relação ao Hive?
O catálogo de dados do Glue pode servir como um “metastore” do Hive
Qual o comando no AWS Lambda para carregar dados no Redshift?
Para carregar dados no Redshift a partir do AWS Lambda, você pode usar a biblioteca do AWS SDK para JavaScript para executar o comando COPY do Redshift.
Glue ETL
- Automatic code generation
- Scala or Python
- Encryption
- Server-side (at rest)
- SSL (in transit)
- Can be event-driven
- Can provision additional “DPU’s” (data processing units) to increase
performance of underlying Spark jobs - Enabling job metrics can help you understand the maximum capacity in
DPU’s you need - Errors reported to CloudWatch
- Could tie into SNS for notification
Glue ETL Funções
- Geração automática de código
- Scala ou Python
- Criptografia
- Lado do servidor (em repouso)
- SSL (em trânsito)
- Pode ser orientado a eventos
- Pode provisionar “DPUs” adicionais (unidades de processamento de dados) para aumentar desempenho de trabalhos Spark subjacentes
- A ativação de métricas de trabalho pode ajudá-lo a entender a capacidade máxima em
DPUs que você precisa - Erros relatados ao CloudWatch
- Pode vincular ao SNS para notificação
Glue ETL functions
- Transform data, Clean Data, Enrich Data (before doing analysis)
- Generate ETL code in Python or Scala, you can modify the code
- Can provide your own Spark or PySpark scripts
- Target can be S3, JDBC (RDS, Redshift), or in Glue Data Catalog
- Fully managed, cost effective, pay only for the resources consumed
- Jobs are run on a serverless Spark platform
- Glue Scheduler to schedule the jobs
- Glue Triggers to automate job runs based on “events”
Glue ETL: The DynamicFrame
- A DynamicFrame is a collection of DynamicRecords
- DynamicRecords are self-describing, have a schema
- Very much like a Spark DataFrame, but with more ETL stuff
- Scala and Python APIs
O que é o DynamicFrame no Glue?
O DynamicFrame é uma estrutura de dados semelhante a um DataFrame do Pandas ou Spark, mas que é projetada para trabalhar com dados sem esquema definido, ou seja, com dados semi-estruturados ou não estruturados
O que são DynamicRecords no Glue?
DynamicRecords é um recurso do AWS Glue que permite que dados sem esquema definido sejam processados e transformados em um formato tabular para facilitar a análise.
Glue ETL: The DynamicFrame (Frame Dinâmico)
- Um DynamicFrame é uma coleção de DynamicRecords
- DynamicRecords são autodescritivos, têm um esquema
- Muito parecido com um Spark DataFrame, mas com mais coisas ETL
- APIs Scala e Python
Glue ETL - Transformations
- Bundled Transformations:
- DropFields, DropNullFields – remove (null) fields
- Filter – specify a function to filter records
- Join – to enrich data
- Map - add fields, delete fields, perform external lookups
- Machine Learning Transformations:
- FindMatches ML: identify duplicate or matching records in your dataset,
even when the records do not have a common unique identifier and no fields
match exactly. - Format conversions: CSV, JSON, Avro, Parquet, ORC, XML
- Apache Spark transformations (example: K-Means)
- Can convert between Spark DataFrame and Glue DynamicFrame
Glue ETL: ResolveChoice
- Deals with ambiguities in a DynamicFrame and returns a new one
- For example, two fields with the same name.
- make_cols: creates a new column for each type
- price_double, price_string
- cast: casts all values to specified type
- make_struct: Creates a structure that contains each data type
- project: Projects every type to a given type, for example project:string
Glue ETL: Resolução de Problemas
- Lida com ambiguidades em um DynamicFrame e retorna um novo
- Por exemplo, dois campos com o mesmo nome.
- make_cols: cria uma nova coluna para cada tipo
- preço_duplo, preço_string
- cast: converte todos os valores para o tipo especificado
- make_struct: Cria uma estrutura que contém cada tipo de dados
- projeto: projeta cada tipo para um determinado tipo, por exemplo projeto: string
O que o Glue pode fazer em relação a DPU’s?
Pode provisionar DPU’s adicionais para aumentar desempenho de trabalho Spark subjacente.
Qual a especialidade do AWS Lambda?
Executar trechos de código na nuvem sem servidor.
Qual o tipo de escalabilidade do AWS Lambda?
Contínua
Como é frequentemente utilizado o AWS Lambda?
Frequentemente utilizado para processar dados conforme eles são movidos.
Quais os serviços de processamento?
Lambda, ML, Glue, Sagemaker, EMR, Data Pipeline
Como o Lambda processa dados de fragmentos no Kinesis?
De forma síncrona
Qual o limite de segurança de execuções por região?
1000 execuções simultâneas
Glue ETL - Transformations
Bundled Transformations:
- DropFields, DropNullFields – remove (null) fields
- Filter – specify a function to filter records
- Join – to enrich data
- Map - add fields, delete fields, perform external lookups
Glue ETL - Transformações
Transformações agrupadas:
- DropFields, DropNullFields – remover campos (nulos)
- Filter – especifique uma função para filtrar registros
- Join – para enriquecer os dados
- Map - adicionar campos, excluir campos, realizar pesquisas externas
Glue - Machine Learning Transformations:
- FindMatches ML: identify duplicate or matching records in your dataset,
even when the records do not have a common unique identifier and no fields
match exactly.
Glue Format conversions
CSV, JSON, Avro, Parquet, ORC, XML
Glue - Apache Spark transformations (example: K-Means)
Can convert between Spark DataFrame and Glue DynamicFrame
Glue ETL: ResolveChoice
- Deals with ambiguities in a DynamicFrame and returns a new one
- For example, two fields with the same name.
- make_cols: creates a new column for each type
- price_double, price_string
- cast: casts all values to specified type
- make_struct: Creates a structure that contains each data type
- project: Projects every type to a given type, for example project:string
Glue ETL: Modifying the Data Catalog
Adding new partitions
- Re-run the crawler, or
- Have the script use enableUpdateCatalog and partitionKeys options
Glue Updating table schema
- Re-run the crawler, or
- Use enableUpdateCatalog / updateBehavior from script
Glue - Creating new tables
enableUpdateCatalog / updateBehavior with setCatalogInfo
Glue Restrictions
- S3 only
- Json, csv, avro, parquet only
- Parquet requires special code
- Nested schemas are not supported
Develop ETL scripts using a notebook
- Then create an ETL job that runs your
script (using Spark and Glue)
Glue - Endpoint is in a VPC controlled by
security groups, connect via:
- Apache Zeppelin on your local machine
- Zeppelin notebook server on EC2 (via
Glue console) - SageMaker notebook
- Terminal window
- PyCharm professional edition
- Use Elastic IP’s to access a private
endpoint address
Running Glue jobs
- Time-based schedules (cron style)
Glue - Job bookmarks
- Persists state from the job run
- Prevents reprocessing of old data * Allows you to process new data only when re-running on a schedule
- Works with S3 sources in a variety of formats
- Works with relational databases via JDBC (if PK’s are in sequential order)
- Only handles new rows, not updated rows
Glue - CloudWatch Events
- Fire off a Lambda function or SNS notification when ETL succeeds or fails
- Invoke EC2 run, send event to Kinesis, activate a Step
Function
Glue cost model
- Billed by the second for crawler
and ETL jobs - First million objects stored and
accesses are free for the Glue
Data Catalog - Development endpoints for
developing ETL code charged by
the minute
Glue Anti-patterns
Multiple ETL engines :
* Glue ETL is based on Spark * If you want to use other engines (Hive, Pig, etc) Data Pipeline EMR would be a better fit.
No longer an anti-pattern: streaming
As of April 2020, Glue ETL supports serverless streaming ETL
- Consumes from Kinesis or Kafka
- Clean & transform in-flight
- Store results into S3 or other data stores
AWS Glue Studio
Visual interface for ETL workflows
Glue - Visual job editor
- Create DAG’s for complex
workflows - Sources include S3, Kinesis,
Kafka, JDBC - Transform / sample / join data * Target to S3 or Glue Data
Catalog - Support partitioning
Visual job dashboard
- Overviews, status, run times
AWS Glue DataBrew
A visual data preparation tool
Glue data preparation tool (DataBrew)
- UI for pre-processing large data sets
- Input from S3, data warehouse, or database * Output to S3
Glue - Security DataBrew
- Can integrate with KMS (with customer master keys only)
- SSL in transit
- IAM can restrict who can do what
- CloudWatch & CloudTrail
Qual o modelo de custos do Glue?
- Faturado por segundo para rastreador
e trabalhos de ETL - Primeiro milhão de objetos armazenados e
os acessos são gratuitos para o Catálogo de Dados do Glue - Pontos finais de desenvolvimento para
desenvolvimento de código ETL cobrado por
minuto
AWS Glue Studio
Visual interface for ETL
workflows
Quais as principais funções do editor visual de job do Glue?
- Criação de DAGs para complexos
fluxos de trabalho - As fontes incluem S3, Kinesis, Kafka, JDBC
- Transform / sample / join data
- Direcionar para S3 ou Glue Data Catalog
Catálogo - Suporta particionamento
Informações do dashboard do Glue Studio
Visões gerais, status, tempos de execução
O que é o Glue DataBrew?
Serviço de preparação de dados totalmente gerenciado fornecido pela Amazon Web Services (AWS). Ele permite que os usuários limpem e normalizem dados brutos, realizem transformações e apliquem outras operações de preparação de dados sem a necessidade de escrever código manualmente
DataBrew Security
Can integrate with KMS (with customer master keys only) * SSL in transit * IAM can restrict who can do what * CloudWatch & CloudTrail
Como o DataBrew pode criar conjuntos de dados?
Pode criar conjuntos de dados com SQL personalizado do Redshift
e Snowflake
O que é o AWS Glue Elastic Views?
Serviço da Amazon Web Services (AWS) que permite criar visualizações em tempo real e acessar dados de várias fontes de maneira unificada. Ele permite que os usuários criem visualizações de dados em tempo real a partir de diversas fontes de dados, incluindo bancos de dados relacionais, data lakes e outras fontes de dados em nuvem.
O que é o Lake Formation
“Facilita a configuração de um data lake seguro em dias”
Quais as principais funções do Lake Formation?
- Carregar dados e monitorando fluxos de dados
- Configurar partições
- Criptografia e gerenciamento de chaves
- Definir trabalhos de transformação e monitorá-los
- Controle de acesso
- Auditoria
- Construído em cima do Glue
Como funciona a precificação no Lake Formation?
Sem custo para a formação do lago em si * Mas os serviços subjacentes incorrem
cargas * Glue* S3 * EMR * Athena * Redshift
Cross-account Lake Formation permission
- Recipient must be set up as a data lake
administrator - Can use AWS Resource Access Manager
for accounts external to your organization - IAM permissions for cross-account access
Como funciona o Lake Formation em relação aos manifestos em Consultas Athena ou Redshift?
O Lake Formation não suporta manifestos em Consultas Athena ou Redshift
Quais as permissões necessárias para os dados criptografados no Lake Formation?
Permissões IAM na chave de criptografia KMS são necessárias.
Quais os tipos de permissões de dados no Lake Formation?
Pode vincular-se a usuários/funções do IAM,
SAML ou contas externas da AWS
* Pode usar tags de política em bancos de dados, tabelas ou colunas
* Pode selecionar permissões específicas
para tabelas ou colunas
Data Permissions
in Lake Formation
- Can tie to IAM users/roles,
SAML, or external AWS accounts - Can use policy tags on
databases, tables, or columns - Can select specific permissions
for tables or columns
What is EMR?
- Elastic MapReduce
- Managed Hadoop framework on EC2 instances
- Includes Spark, HBase, Presto, Flink,
Hive & more - EMR Notebooks
- Several integration points with AWS
O que é o EMR?
EMR significa “Elastic MapReduce” e é um serviço AWS que fornece um cluster de computação em nuvem para processamento de big data distribuído
O que é o Master Node no EMR?
O Master Node é um nó principal que gerencia o cluster EMR e coordena as atividades dos demais nós.
Quais as principais tarefas do Master Node?
Responsável por várias tarefas essenciais, incluindo a inicialização e configuração dos nós do cluster, o gerenciamento do fluxo de trabalho de processamento de dados e a execução de serviços internos do EMR, como o NameNode do Hadoop e ResourceManager do YARN
Master node in EMR
- manages the cluster
- Tracks status of tasks, monitors cluster
health - Single EC2 instance (it can be a single
node cluster even) - AKA “leader node
Core node in EMR
Hosts HDFS data and runs tasks
* Can be scaled up & down, but with some risk
* Multi-node clusters have at least one
Task node in EMR
Runs tasks, does not host data
* Optional
* No risk of data loss when removing
* Good use of spot instance
Other EMR / Hadoop Tools
- Ganglia (monitoring)
- Mahout (machine learning)
- Accumulo (another NoSQL database)
- Sqoop (relational database connector)
- HCatalog (table and storage management for Hive metastore)
- Kinesis Connector (directly access Kinesis streams in your scripts)
- Tachyon (accelerator for Spark)
- Derby (open-source relational DB in Java)
- Ranger (data security manager for Hadoop)
- Install whatever you want
O que é o Core node?
O Core Node é um dos tipos de instância de nó no EMR. Ele é responsável por executar tarefas de processamento de dados no cluster do EMR. O Core Node contém o DataNode e o NodeManager, que são componentes do Hadoop.
O que é o Task node no EMR?
O Task Node é um tipo de nó no EMR que é usado para executar tarefas específicas no cluster de processamento de dados distribuído. Os Task Nodes são responsáveis por executar tarefas que são designadas pelo nó mestre (Master Node) do cluster.
Qual a diferença do task node para os nós principais do cluster (master node e core nodes)?
Não armazenam dados persistentes do Hadoop HDFS.
EMR - Transient clusters terminate once all steps are complete
- Loading data, processing, storing – then shut down
- Saves money
Quando os clusters transitórios terminam?
Quando as etapas são concluídas
Como os clusters de longa duração devem ser encerrados?
Devem ser encerrados manualmente.
Por quê usar instâncias reservadas em clusters de longa duração?
Para economizar $
EMR / AWS Integration EC2
Amazon EC2 for the instances that comprise the nodes in the cluster
EMR / AWS Integration VPC
Amazon VPC to configure the virtual network in which you launch your instances
EMR / AWS Integration S3
To store input and output data
EMR / AWS Integration CloudWatch
Amazon CloudWatch to monitor cluster performance and configure alarms
EMR / AWS Integration IAM
To configure permissions
EMR / AWS Integration CloudTrail
AWS CloudTrail to audit requests made to the service
EMR / AWS Integration AWS Data Pipeline
To schedule and start your clusters
Integração EMR/AWS Amazon EC2
Para as instâncias que compõem os nós no
cluster
Integração EMR/AWS Amazon VPC
Para configurar a rede virtual na qual você
lança suas instâncias
Integração EMR/AWS Amazon S3
Amazon S3 para armazenar dados de entrada e saída
Integração EMR/AWS Amazon CloudWatch
Amazon CloudWatch para monitorar o desempenho do cluster e configurar alarmes
Integração EMR/AWS Amazon IAM
AWS IAM para configurar permissões
Integração EMR/AWS Amazon CloudTrail
AWS CloudTrail para auditar solicitações feitas ao serviço
Integração EMR/AWS Amazon Data Pipeline
AWS Data Pipeline para agendar e iniciar seus clusters
EMR Storage
- Local file system
- Suitable only for temporary data (buffers, caches, etc)
- EBS for HDFS
- Allows use of EMR on EBS-only types (M4, C4)
- Deleted when cluster is terminated
- EBS volumes can only be attached when launching a cluster
- If you manually detach an EBS volume, EMR treats that as a failure and replaces it
Promessas do EMR
- EMR cobra por hora
- Mais cobranças de EC2
- Provisiona novos nós se um nó principal falhar
- Pode adicionar e remover nós de tarefas em tempo real
- Aumente a capacidade de processamento, mas não a capacidade HDFS
- Pode redimensionar os nós principais de um cluster em execução
- Aumenta a capacidade de processamento e HDFS
- Nós principais também podem ser adicionados ou removidos
- Mas a remoção corre o risco de perda de dados.
EMR Automatic Scaling
- The old way of doing it
- Custom scaling rules based on CloudWatch metrics
- Supports instance groups only
EMR Managed Scaling
- Introduced in 2020
- Support instance groups and instance fleets * Scales spot, on-demand, and instances in a Savings Plan within the same cluster
- Available for Spark, Hive, YARN workloads
EMR Scale-up Strategy
First adds core nodes, then task nodes, up to max units specified
Scale-down Strategy
- First removes task nodes, then core nodes, no further than minimum constraints
- Spot nodes always removed before on
-demand instances
EMR Automatic Scaling
- Escala automática EMR
- A maneira antiga de fazer
- Regras de dimensionamento personalizadas com base nas métricas do CloudWatch
- Suporta apenas grupos de instâncias
Escalonamento Gerenciado EMR
- Introduzido em 2020
- Suporte a grupos de instâncias e frotas de instâncias
- Dimensiona localmente, sob demanda e instâncias em um Savings Plan dentro do mesmo cluster
- Disponível para cargas de trabalho Spark, Hive e YARN
EMR Estratégia de expansão
- Primeiro adiciona nós principais, depois nós de tarefas, até o máximo de unidades
especificadas
EMR Estratégia de redução
- Primeiro remove os nós de tarefa, depois os nós principais, não mais do que restrições mínimas
- Nós spot sempre removidos antes das instâncias sob demanda
O que é o EMR Serverless?
O EMR Serverless é uma extensão do Amazon EMR (Elastic MapReduce), que é um serviço de processamento de big data da AWS baseado no framework Apache Hadoop.
O que é o EMR Serverless Application Lifecycle?
Conjunto de práticas recomendadas para desenvolver, implantar e gerenciar aplicativos de big data no serviço EMR Serverless da Amazon Web Services (AWS).
Qual o ciclo de vida do EMR Serverless Application Lifecycle?
O ciclo de vida do aplicativo consiste em quatro fases principais: desenvolvimento, teste, implantação e operações.
Pré-Capacidade inicializada no EMR, explique:
- O Spark adiciona 10% de sobrecarga
à memória solicitada para drivers e executores - Certifique-se de que a capacidade inicial seja pelo menos 10% a mais do que solicitado pelo trabalho
EMR Serverless Security EMRFS
- S3 encryption (SSE or CSE) at rest
- TLS in transit between EMR nodes and S3
EMR Serverless Security S3
SSE-S3, SSE-KMS
Hadoop MapReduce
Estrutura para processamento de dados distribuídos
Mapeia dados para pares chave/valor
Reduz os resultados intermediários para a saída final
Amplamente suplantado pelo Spark atualmente
O que é o Hadoop YARN?
Yet Another Recourse Negotiator
Gerencia recursos de cluster para vários dados e estruturas de processamento
O que é o Hadoop HDFS?
Sistema de Arquivos Distribuídos Hadoop
Distribui blocos de dados pelo cluster de
maneira redundante
Efêmero em EMR; dados são perdidos na rescisão
Apache Spark
- Distributed processing framework for big data
- In-memory caching, optimized query execution
- Supports Java, Scala, Python, and R
- Supports code reuse across
O que é o Apache Spark?
-Estrutura de processamento distribuído para big data
* Cache na memória, execução de consulta otimizada
* Compatível com Java, Scala, Python e R
* Suporta reutilização de código
How Spark Works
- Os aplicativos Spark são executados como processos independentes em um cluster
- O SparkContext (programa de driver) os coordena
- O SparkContext funciona por meio de um Cluster Manager
- Os executores executam cálculos e armazenam dados
- O SparkContext envia o código do aplicativo e as tarefas aos executores
Spark Components
Spark Streaming, Spark SQL, MLLib, Graphx, Spark Core
O que é o componente Apache Streaming?
Análise de streaming em tempo real
Streaming estruturado
Twitter, Kafka, Flume, HDFS,
ZeroMQ
O que é o componente Spark SQL
Até 100x mais rápido que
MapReduce
JDBC, ODBC, JSON, HDFS, ORC,
Parquet, HiveQL
O que é o componente MLLib do Spark?
Classificação, regressão,
agrupamento, colaboração
filtragem, mineração de padrão
Leia de HDFS, HBase…
O que é o componente GraphX?
Processamento gráfico
ETL, análise, gráfico iterativo
computação
Não é mais amplamente utilizado
O que é o Spark Core?
Gerenciamento de memória, recuperação de falhas, agendamento, distribuição e monitoramento de tarefas, interação com armazenamento
Scala, Python, Java, R
Spark + Redshift
- spark-redshift package allows Spark datasets from Redshift
- It’s a Spark SQL data source
- Useful for ETL using Spark
Explique a configuração Spark + Redshift
- pacote spark-redshift permite conjuntos de dados Spark do Redshift
- É uma fonte de dados Spark SQL
- Útil para ETL usando Spark
O que é o Apache Streaming?
Spark Structured Streaming é um módulo do Apache Spark que permite o processamento de dados em tempo real com a linguagem SQL e a API DataFrame do Spark
Why Hive?
- Uses familiar SQL syntax (HiveQL)
- Interactive
- Scalable – works with “big data” on a
cluster - Really most appropriate for data warehouse
applications - Easy OLAP queries
– WAY easier than
writing MapReduce in Java - Highly optimized
- Highly extensible
- User defined functions
- Thrift server
- JDBC / ODBC driver