SlideShare ist ein Scribd-Unternehmen logo
1 von 53
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Hugo Rozestraten, Arquiteto de Soluções
14 de Setembro de 2016
Criação do seu primeiro
aplicativo de big data na AWS
Amazon S3
Amazon Kinesis
Amazon DynamoDB
Amazon RDS (Aurora)
AWS Lambda
KCL Apps
Amazon
EMR
Amazon
Redshift
Amazon Machine
Learning
Coletar Processar Analisar
Armazenar
Coleta de dados
e armazenamento
Processamento
de dados
Processamento
de eventos
Análise
de dados
Dados Respostas
Ecossistema de big data na AWS
Seu primeiro aplicativo de big data na AWS
?
Ecossistema de big data na AWS - Coletar
Coletar Processar Analisar
Armazenar
Dados Respostas
Ecossistema de big data na AWS - Processar
Coletar Processa
r
Analisar
Armazenar
Dados Respostas
Ecossistema de big data na AWS - Analisar
Coletar Processa
r
Analisar
Armazenar
Dados Respostas
SQL
Configuração
Recursos
1. Interface da linha de comando da AWS (aws-cli) configurada
2. Fluxo do Amazon Kinesis com um único fragmento
3. Bucket do Amazon S3 para manter os arquivos
4. Cluster do Amazon EMR (dois nós) com Spark e Hive
5. Cluster de data warehouse do Amazon Redshift (nó único)
Amazon Kinesis
Criar um fluxo do Amazon Kinesis para manter os dados de
entrada:
aws kinesis create-stream 
--stream-name AccessLogStream 
--shard-count 1
Amazon S3
NOME DO SEU BUCKET
Amazon EMR
Iniciar um cluster de três instâncias com Spark e Hive
instalados:
m3.xlarge
SUA REGIÃO DA AWS
SUA CHAVE SSH DA AWS
Amazon Redshift

ESCOLHA UMA SENHA DO REDSHIFT
Seu primeiro aplicativo de big data na AWS
1. COLETAR: Fluxo de dados para
o Kinesis com Log4J
2. PROCESSAR: Processar dados
com EMR usando Spark e Hive
3. ANALISAR: Analisar dados no
Redshift usando SQL
ARMAZENAR
SQL
1. Coletar
Amazon Kinesis Log4J Appender
Amazon Kinesis Log4J Appender
Arquivo de credenciais AwsCredentials.properties
com estas credenciais o usuário do IAM que tenha
permissão para acesso ao Amazon Kinesis:
accessKey=YOUR-IAM-ACCESS-KEY
secretKey=YOUR-SECRET-KEY
Então inicie o Amazon Kinesis Log4J Appender:
Formato do arquivo de registro
Spark
•Mecanismo rápido e básico para
processamento de dados em grande
escala
•Grave aplicativos rapidamente em
Java, Scala ou Python
•Combine SQL, streaming e análises
complexas.
Uso do Spark no EMR
SUA CHAVE SSH DA AWS NOME DO HOST DO EMR
Inicie o shell do Spark:
--jars /usr/lib/spark/extras/lib/spark-
streaming-kinesis-asl.jar,amazon-kinesis-client-
1.5.1.jar
Amazon Kinesis e streaming do Spark
Produtor Amazon
Kinesis
Amazon
S3
DynamoD
B
KCL
O streaming do Spark
usa KCL para o Kinesis
Amazon
EMR
O aplicativo de streaming do Spark para ler do Kinesis e gravar no S3
Streaming do Spark - Leitura do Kinesis
/* Setup the KinesisClient */
/* Determine the number of shards from the stream */
Streaming do Spark - Gravação no S3
/* Merge the worker Dstreams and translate the byteArray to string */
/* Write each RDD to Amazon S3*/
Visualizar os arquivos de saída no
Amazon S3
SEU BUCKET DO S3
SEU BUCKET DO S3
aaaa mm dd HH
2. Processar
Hive do Amazon EMR
Adapta a consulta como SQL (HiveQL) para execução no
Hadoop
Esquema na leitura: mapeie a tabela para os dados de
entrada
Acessar dados em Amazon S3, Amazon DymamoDB e
Amazon Kinesis
Consultar formatos de entrada complexos usando SerDe
Transformar dados com funções definidas pelo usuário (UDF)
Uso do Hive no Amazon EMR
SUA CHAVE SSH DA AWS NOME DO HOST DO EMR
Iniciar Hive:
hive
Criar uma tabela que aponte para o bucket do
Amazon S3
CREATE EXTERNAL TABLE access_log_raw(
host STRING, identity STRING,
user STRING, request_time STRING,
request STRING, status STRING,
size STRING, referrer STRING,
agent STRING
)
PARTITIONED BY (year INT, month INT, day INT, hour INT, min INT)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
"input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) (-|[[^]]*]) ([^
"]*|"[^"]*") (-|[0-9]*) (-|[0-9]*)(?: ([^ "]*|"[^"]*") ([^
"]*|"[^"]*"))?"
)
LOCATION 's3://SEU BUCKET DO S3/access-log-raw';
msck repair table access_log_raw;
Processar dados usando o Hive
Transformaremos os dados que são retornados pela consulta antes de
gravá-los na tabela Hive externa armazenada no Amazon S3
Funções definidas pelo usuário (UDF) do Hive em uso para as
transformações de texto: from_unixtime, unix_timestamp e hour
O valor de "hour" é importante: ele é usado para dividir e organizar os
arquivos de saída antes de gravar no Amazon S3. Com essas
divisões, podemos carregar os dados com mais eficiência no Amazon
Redshift depois no laboratório com o comando "COPY" paralelo
Criar uma tabela Hive externa no Amazon S3
SEU BUCKET DO S3
Configurar partição e compactação
-- configurar "particionamento dinâmico" do Hive
-- isso dividirá os arquivos de saída ao gravar no Amazon S3
-- compactar arquivos de saída no Amazon S3 usando Gzip
Consultar Hive e gravar saída no Amazon S3
-- converter carimbo de data/hora do registro do Apache em um carimbo de
data/hora do UNIX
-- dividir arquivos no Amazon S3 pela hora nas linhas do registro
INSERT OVERWRITE TABLE access_log_processed PARTITION (hour)
SELECT
from_unixtime(unix_timestamp(request_time,
'[dd/MMM/yyyy:HH:mm:ss Z]')),
host,
request,
status,
referrer,
agent,
hour(from_unixtime(unix_timestamp(request_time,
'[dd/MMM/yyyy:HH:mm:ss Z]'))) como hora
FROM access_log_raw;
Visualização do status da tarefa
http://127.0.0.1/9026
Visualizar os arquivos de saída no Amazon S3
SEU BUCKET DO S3
SEU BUCKET DO S3
Spark SQL
Módulo do Spark para trabalhar com dados estruturados
usando SQL
Execute consultas Hive não modificadas nos dados
existentes.
Uso do Spark-SQL no Amazon EMR
SUA CHAVE SSH DA AWS NOME DO HOST DO EMR
Iniciar Hive:
spark-sql
Consultar os dados com o Spark
-- retornar a primeira linha no fluxo
-- retornar todos os itens contados no fluxo
-- encontrar os 10 hosts principais
3. Analisar
Conectar ao Amazon Redshift
# using the PostgreSQL CLI
ENDPOINT DO REDSHIFT
Ou use qualquer cliente JDBC ou ODBC SQL com os drivers
PostgreSQL 8.x ou suporte nativo do Redshift
• Aginity Workbench para Amazon Redshift
• SQL Workbench/J
Criar uma tabela do Amazon Redshift para manter os
dados
Carregamento de dados no Amazon Redshift
O comando "COPY" carrega arquivos paralelamente
COPY accesslogs
FROM 's3://SEU BUCKET DO S3/access-log-processed'
CREDENTIALS
'aws_access_key_id=SUA CHAVE DE ACESSO DO IAM;
aws_secret_access_key=SUA CHAVE SECRETA DO IAM'
DELIMITER 't' IGNOREHEADER 0
MAXERROR 0
GZIP;
Consultas de teste do Amazon Redshift
-- encontrar distribuição de códigos de status ao longo dos
dias
-- encontrar os códigos de status 404
-- mostrar todas as solicitações de status como PÁGINA NÃO
ENCONTRADA
Seu primeiro aplicativo de big data na AWS
Um favicon corrigiria 398 dos 977 erros de PÁGINA NÃO
ENCONTRADA (404) no total
... pelo mesmo preço de uma xícara de café
Experimente na nuvem AWS...
Serviço Custo
estimado*
Amazon Kinesis $1.00
Amazon S3 (nível gratuito) $0
Amazon EMR $0.44
Amazon Redshift $1.00
Total estimado $2.44
*O custo estimado presume: uso do nível gratuito onde disponível, instâncias de custo mais baixo, conjunto de dados com no máximo
10 MB e instâncias em execução por menos de 4 horas. Os custos podem variar dependendo das opções selecionadas, do tamanho
do conjunto de dados e do uso.
$3.50
Obrigado
Blog de Big Data da AWS
blogs.aws.amazon.com/bigdata

Weitere ähnliche Inhalte

Was ist angesagt?

Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
Mergulhando em desenvolvimento de aplicações serverless
Mergulhando em desenvolvimento de aplicações serverlessMergulhando em desenvolvimento de aplicações serverless
Mergulhando em desenvolvimento de aplicações serverlessAmazon Web Services LATAM
 
Building blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesBuilding blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesAmazon Web Services LATAM
 
Raising the bar #5 - Melhores práticas de workloads Microsoft
Raising the bar #5 - Melhores práticas de workloads MicrosoftRaising the bar #5 - Melhores práticas de workloads Microsoft
Raising the bar #5 - Melhores práticas de workloads MicrosoftAmazon Web Services LATAM
 
Arquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo SessionArquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo SessionAmazon Web Services LATAM
 
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2Amazon Web Services LATAM
 
Começando com aplicações serverless na AWS
 Começando com aplicações serverless na AWS Começando com aplicações serverless na AWS
Começando com aplicações serverless na AWSAmazon Web Services LATAM
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemAmazon Web Services LATAM
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
Raising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
Raising the bar #2 - Explorando o poder do banco de dados com Amazon AuroraRaising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
Raising the bar #2 - Explorando o poder do banco de dados com Amazon AuroraAmazon Web Services LATAM
 
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...Amazon Web Services LATAM
 
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWSBuilding blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWSAmazon Web Services LATAM
 
Melhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWSMelhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWSAmazon Web Services LATAM
 

Was ist angesagt? (20)

Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Mergulhando em desenvolvimento de aplicações serverless
Mergulhando em desenvolvimento de aplicações serverlessMergulhando em desenvolvimento de aplicações serverless
Mergulhando em desenvolvimento de aplicações serverless
 
Building blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesBuilding blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web Services
 
Raising the bar #5 - Melhores práticas de workloads Microsoft
Raising the bar #5 - Melhores práticas de workloads MicrosoftRaising the bar #5 - Melhores práticas de workloads Microsoft
Raising the bar #5 - Melhores práticas de workloads Microsoft
 
Arquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo SessionArquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo Session
 
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
 
Começando com aplicações serverless na AWS
 Começando com aplicações serverless na AWS Começando com aplicações serverless na AWS
Começando com aplicações serverless na AWS
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvem
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
 
Fazendo seu DR na AWS de maneira prática
Fazendo seu DR na AWS de maneira práticaFazendo seu DR na AWS de maneira prática
Fazendo seu DR na AWS de maneira prática
 
Raising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
Raising the bar #2 - Explorando o poder do banco de dados com Amazon AuroraRaising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
Raising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
 
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWSBuilding blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
 
Melhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWSMelhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWS
 
Iniciando com Amazon Aurora
Iniciando com Amazon AuroraIniciando com Amazon Aurora
Iniciando com Amazon Aurora
 

Ähnlich wie Criação do seu primeiro aplicativo de big data na AWS usando Kinesis, EMR, Redshift e mais

Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...Amazon Web Services LATAM
 
Amazon emr cluster hadoop pronto para usar na nuvem aws
Amazon emr   cluster hadoop pronto para usar na nuvem awsAmazon emr   cluster hadoop pronto para usar na nuvem aws
Amazon emr cluster hadoop pronto para usar na nuvem awsAmazon Web Services LATAM
 
Construindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftConstruindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftAmazon Web Services LATAM
 
Exemplos de uso de apache spark usando aws elastic map reduce
Exemplos de uso de apache spark usando aws elastic map reduceExemplos de uso de apache spark usando aws elastic map reduce
Exemplos de uso de apache spark usando aws elastic map reduceFelipe
 
Migrando seu workload de Big Data para o Amazon EMR
Migrando seu workload de Big Data para o Amazon EMRMigrando seu workload de Big Data para o Amazon EMR
Migrando seu workload de Big Data para o Amazon EMRAmazon Web Services LATAM
 
Passo a passo para criar seu desktop virtual na nuvem
Passo a passo para criar seu desktop virtual na nuvemPasso a passo para criar seu desktop virtual na nuvem
Passo a passo para criar seu desktop virtual na nuvemAmazon Web Services LATAM
 
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo SummitConstruindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo SummitAmazon Web Services
 
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Amazon Web Services LATAM
 
Introduçãoo aws, escalando uma aplicação Web
Introduçãoo aws, escalando uma aplicação WebIntroduçãoo aws, escalando uma aplicação Web
Introduçãoo aws, escalando uma aplicação WebAlessandro Binhara
 
Copa do mundo no brasil interagindo com os torcedores em tempo real
Copa do mundo no brasil   interagindo com os torcedores em tempo realCopa do mundo no brasil   interagindo com os torcedores em tempo real
Copa do mundo no brasil interagindo com os torcedores em tempo realAmazon Web Services LATAM
 
Escalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosEscalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosAmazon Web Services LATAM
 

Ähnlich wie Criação do seu primeiro aplicativo de big data na AWS usando Kinesis, EMR, Redshift e mais (20)

Primeira aplicacao big data
Primeira aplicacao big dataPrimeira aplicacao big data
Primeira aplicacao big data
 
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
 
Amazon emr cluster hadoop pronto para usar na nuvem aws
Amazon emr   cluster hadoop pronto para usar na nuvem awsAmazon emr   cluster hadoop pronto para usar na nuvem aws
Amazon emr cluster hadoop pronto para usar na nuvem aws
 
Construindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftConstruindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon Redshift
 
Exemplos de uso de apache spark usando aws elastic map reduce
Exemplos de uso de apache spark usando aws elastic map reduceExemplos de uso de apache spark usando aws elastic map reduce
Exemplos de uso de apache spark usando aws elastic map reduce
 
Migrando seu workload de Big Data para o Amazon EMR
Migrando seu workload de Big Data para o Amazon EMRMigrando seu workload de Big Data para o Amazon EMR
Migrando seu workload de Big Data para o Amazon EMR
 
Pos-QCon-BigData
Pos-QCon-BigDataPos-QCon-BigData
Pos-QCon-BigData
 
Passo a passo para criar seu desktop virtual na nuvem
Passo a passo para criar seu desktop virtual na nuvemPasso a passo para criar seu desktop virtual na nuvem
Passo a passo para criar seu desktop virtual na nuvem
 
Bancos de Dados gerenciados na nuvem AWS
Bancos de Dados gerenciados na nuvem AWSBancos de Dados gerenciados na nuvem AWS
Bancos de Dados gerenciados na nuvem AWS
 
Arquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXIArquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXI
 
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo SummitConstruindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
 
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
 
Introduçãoo aws, escalando uma aplicação Web
Introduçãoo aws, escalando uma aplicação WebIntroduçãoo aws, escalando uma aplicação Web
Introduçãoo aws, escalando uma aplicação Web
 
Começando com Amazon Redshift
Começando com Amazon RedshiftComeçando com Amazon Redshift
Começando com Amazon Redshift
 
Construindo Data Lakes e Analytics na AWS
Construindo Data Lakes e Analytics na AWSConstruindo Data Lakes e Analytics na AWS
Construindo Data Lakes e Analytics na AWS
 
Copa do mundo no brasil interagindo com os torcedores em tempo real
Copa do mundo no brasil   interagindo com os torcedores em tempo realCopa do mundo no brasil   interagindo com os torcedores em tempo real
Copa do mundo no brasil interagindo com os torcedores em tempo real
 
Fazendo seu DR na AWS
Fazendo seu DR na AWSFazendo seu DR na AWS
Fazendo seu DR na AWS
 
Escalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosEscalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuários
 
Introducao ao Amazon Redshift
Introducao ao Amazon RedshiftIntroducao ao Amazon Redshift
Introducao ao Amazon Redshift
 
Aws summit arquitetura big data-v1.2
Aws summit arquitetura big data-v1.2Aws summit arquitetura big data-v1.2
Aws summit arquitetura big data-v1.2
 

Mehr von Amazon Web Services LATAM

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAmazon Web Services LATAM
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAmazon Web Services LATAM
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSAmazon Web Services LATAM
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSAmazon Web Services LATAM
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAmazon Web Services LATAM
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAmazon Web Services LATAM
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosAmazon Web Services LATAM
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSAmazon Web Services LATAM
 

Mehr von Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 

Criação do seu primeiro aplicativo de big data na AWS usando Kinesis, EMR, Redshift e mais

  • 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Hugo Rozestraten, Arquiteto de Soluções 14 de Setembro de 2016 Criação do seu primeiro aplicativo de big data na AWS
  • 2. Amazon S3 Amazon Kinesis Amazon DynamoDB Amazon RDS (Aurora) AWS Lambda KCL Apps Amazon EMR Amazon Redshift Amazon Machine Learning Coletar Processar Analisar Armazenar Coleta de dados e armazenamento Processamento de dados Processamento de eventos Análise de dados Dados Respostas Ecossistema de big data na AWS
  • 3. Seu primeiro aplicativo de big data na AWS ?
  • 4. Ecossistema de big data na AWS - Coletar Coletar Processar Analisar Armazenar Dados Respostas
  • 5. Ecossistema de big data na AWS - Processar Coletar Processa r Analisar Armazenar Dados Respostas
  • 6. Ecossistema de big data na AWS - Analisar Coletar Processa r Analisar Armazenar Dados Respostas SQL
  • 8. Recursos 1. Interface da linha de comando da AWS (aws-cli) configurada 2. Fluxo do Amazon Kinesis com um único fragmento 3. Bucket do Amazon S3 para manter os arquivos 4. Cluster do Amazon EMR (dois nós) com Spark e Hive 5. Cluster de data warehouse do Amazon Redshift (nó único)
  • 9. Amazon Kinesis Criar um fluxo do Amazon Kinesis para manter os dados de entrada: aws kinesis create-stream --stream-name AccessLogStream --shard-count 1
  • 10. Amazon S3 NOME DO SEU BUCKET
  • 11. Amazon EMR Iniciar um cluster de três instâncias com Spark e Hive instalados: m3.xlarge SUA REGIÃO DA AWS SUA CHAVE SSH DA AWS
  • 12. Amazon Redshift ESCOLHA UMA SENHA DO REDSHIFT
  • 13. Seu primeiro aplicativo de big data na AWS 1. COLETAR: Fluxo de dados para o Kinesis com Log4J 2. PROCESSAR: Processar dados com EMR usando Spark e Hive 3. ANALISAR: Analisar dados no Redshift usando SQL ARMAZENAR SQL
  • 16. Amazon Kinesis Log4J Appender Arquivo de credenciais AwsCredentials.properties com estas credenciais o usuário do IAM que tenha permissão para acesso ao Amazon Kinesis: accessKey=YOUR-IAM-ACCESS-KEY secretKey=YOUR-SECRET-KEY Então inicie o Amazon Kinesis Log4J Appender:
  • 17.
  • 18. Formato do arquivo de registro
  • 19. Spark •Mecanismo rápido e básico para processamento de dados em grande escala •Grave aplicativos rapidamente em Java, Scala ou Python •Combine SQL, streaming e análises complexas.
  • 20. Uso do Spark no EMR SUA CHAVE SSH DA AWS NOME DO HOST DO EMR Inicie o shell do Spark: --jars /usr/lib/spark/extras/lib/spark- streaming-kinesis-asl.jar,amazon-kinesis-client- 1.5.1.jar
  • 21. Amazon Kinesis e streaming do Spark Produtor Amazon Kinesis Amazon S3 DynamoD B KCL O streaming do Spark usa KCL para o Kinesis Amazon EMR O aplicativo de streaming do Spark para ler do Kinesis e gravar no S3
  • 22. Streaming do Spark - Leitura do Kinesis /* Setup the KinesisClient */ /* Determine the number of shards from the stream */
  • 23. Streaming do Spark - Gravação no S3 /* Merge the worker Dstreams and translate the byteArray to string */ /* Write each RDD to Amazon S3*/
  • 24.
  • 25. Visualizar os arquivos de saída no Amazon S3 SEU BUCKET DO S3 SEU BUCKET DO S3 aaaa mm dd HH
  • 26.
  • 28. Hive do Amazon EMR Adapta a consulta como SQL (HiveQL) para execução no Hadoop Esquema na leitura: mapeie a tabela para os dados de entrada Acessar dados em Amazon S3, Amazon DymamoDB e Amazon Kinesis Consultar formatos de entrada complexos usando SerDe Transformar dados com funções definidas pelo usuário (UDF)
  • 29. Uso do Hive no Amazon EMR SUA CHAVE SSH DA AWS NOME DO HOST DO EMR Iniciar Hive: hive
  • 30. Criar uma tabela que aponte para o bucket do Amazon S3 CREATE EXTERNAL TABLE access_log_raw( host STRING, identity STRING, user STRING, request_time STRING, request STRING, status STRING, size STRING, referrer STRING, agent STRING ) PARTITIONED BY (year INT, month INT, day INT, hour INT, min INT) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe' WITH SERDEPROPERTIES ( "input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) (-|[[^]]*]) ([^ "]*|"[^"]*") (-|[0-9]*) (-|[0-9]*)(?: ([^ "]*|"[^"]*") ([^ "]*|"[^"]*"))?" ) LOCATION 's3://SEU BUCKET DO S3/access-log-raw'; msck repair table access_log_raw;
  • 31.
  • 32. Processar dados usando o Hive Transformaremos os dados que são retornados pela consulta antes de gravá-los na tabela Hive externa armazenada no Amazon S3 Funções definidas pelo usuário (UDF) do Hive em uso para as transformações de texto: from_unixtime, unix_timestamp e hour O valor de "hour" é importante: ele é usado para dividir e organizar os arquivos de saída antes de gravar no Amazon S3. Com essas divisões, podemos carregar os dados com mais eficiência no Amazon Redshift depois no laboratório com o comando "COPY" paralelo
  • 33. Criar uma tabela Hive externa no Amazon S3 SEU BUCKET DO S3
  • 34. Configurar partição e compactação -- configurar "particionamento dinâmico" do Hive -- isso dividirá os arquivos de saída ao gravar no Amazon S3 -- compactar arquivos de saída no Amazon S3 usando Gzip
  • 35. Consultar Hive e gravar saída no Amazon S3 -- converter carimbo de data/hora do registro do Apache em um carimbo de data/hora do UNIX -- dividir arquivos no Amazon S3 pela hora nas linhas do registro INSERT OVERWRITE TABLE access_log_processed PARTITION (hour) SELECT from_unixtime(unix_timestamp(request_time, '[dd/MMM/yyyy:HH:mm:ss Z]')), host, request, status, referrer, agent, hour(from_unixtime(unix_timestamp(request_time, '[dd/MMM/yyyy:HH:mm:ss Z]'))) como hora FROM access_log_raw;
  • 36.
  • 37. Visualização do status da tarefa http://127.0.0.1/9026
  • 38. Visualizar os arquivos de saída no Amazon S3 SEU BUCKET DO S3 SEU BUCKET DO S3
  • 39.
  • 40. Spark SQL Módulo do Spark para trabalhar com dados estruturados usando SQL Execute consultas Hive não modificadas nos dados existentes.
  • 41. Uso do Spark-SQL no Amazon EMR SUA CHAVE SSH DA AWS NOME DO HOST DO EMR Iniciar Hive: spark-sql
  • 42. Consultar os dados com o Spark -- retornar a primeira linha no fluxo -- retornar todos os itens contados no fluxo -- encontrar os 10 hosts principais
  • 43.
  • 45. Conectar ao Amazon Redshift # using the PostgreSQL CLI ENDPOINT DO REDSHIFT Ou use qualquer cliente JDBC ou ODBC SQL com os drivers PostgreSQL 8.x ou suporte nativo do Redshift • Aginity Workbench para Amazon Redshift • SQL Workbench/J
  • 46. Criar uma tabela do Amazon Redshift para manter os dados
  • 47. Carregamento de dados no Amazon Redshift O comando "COPY" carrega arquivos paralelamente COPY accesslogs FROM 's3://SEU BUCKET DO S3/access-log-processed' CREDENTIALS 'aws_access_key_id=SUA CHAVE DE ACESSO DO IAM; aws_secret_access_key=SUA CHAVE SECRETA DO IAM' DELIMITER 't' IGNOREHEADER 0 MAXERROR 0 GZIP;
  • 48.
  • 49.
  • 50. Consultas de teste do Amazon Redshift -- encontrar distribuição de códigos de status ao longo dos dias -- encontrar os códigos de status 404 -- mostrar todas as solicitações de status como PÁGINA NÃO ENCONTRADA
  • 51. Seu primeiro aplicativo de big data na AWS Um favicon corrigiria 398 dos 977 erros de PÁGINA NÃO ENCONTRADA (404) no total
  • 52. ... pelo mesmo preço de uma xícara de café Experimente na nuvem AWS... Serviço Custo estimado* Amazon Kinesis $1.00 Amazon S3 (nível gratuito) $0 Amazon EMR $0.44 Amazon Redshift $1.00 Total estimado $2.44 *O custo estimado presume: uso do nível gratuito onde disponível, instâncias de custo mais baixo, conjunto de dados com no máximo 10 MB e instâncias em execução por menos de 4 horas. Os custos podem variar dependendo das opções selecionadas, do tamanho do conjunto de dados e do uso. $3.50
  • 53. Obrigado Blog de Big Data da AWS blogs.aws.amazon.com/bigdata

Hinweis der Redaktion

  1. Log4J Appender mimics a fleet of servers by sending lots of Apache log entries to an Amazon Kinesis stream: