SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Creando su primera aplicación de
Big Data en AWS
Damián Traverso, AWS Solutions Architect
traverso@amazon.com
Mayo 2016 | Santiago de Chile
Amazon S3
Amazon Kinesis
Amazon DynamoDB
Amazon RDS (Aurora)
AWS Lambda
KCL Apps
Amazon
EMR
Amazon
Redshift
Amazon Machine
Learning
Colecta Procesamiento
Análisis
Almacenamiento
Colecta de datos y
almacenamiento
Procesamiento
de datos
Procesamiento
de eventos
Análisis
de datos
Datos Respuestas
Su primera aplicación de Big Data en AWS
Colecta Procesamiento
Análisis
Almacenamiento
Datos Respuestas
Colecta Procesamiento
Análisis
Almacenamiento
Datos Respuestas
SQL
Colecta Procesamiento
Análisis
Almacenamiento
Datos Respuestas
Configuración con la AWS CLI
Amazon Kinesis
Creamos un stream de Amazon Kinesis, con un único shard
para la data entrante:
aws kinesis create-stream 
--stream-name AccessLogStream 
--shard-count 1
Amazon Kinesis
Amazon S3
YOUR-BUCKET-NAME
Amazon S3
Amazon EMR
Lanzamos un cluster de 3 nodos en Amazon EMR con Spark
y Hive:
m3.xlarge
YOUR-AWS-SSH-KEY
Amazon EMR
Amazon Redshift

CHOOSE-A-REDSHIFT-PASSWORD
Amazon Redshift
Su primera aplicación de Big Data en AWS
2. Procesamiento: Procesamos
los datos con Amazon EMR
usando Spark & Hive
STORE
3. Análisis: Analizamos los datos
en Amazon Redshift usando SQLSQL
1. Colecta: Envío de datos a
Amazon Kinesis usando Log4J
1. Colecta
Amazon Kinesis Log4J Appender
En una ventana de terminal separada en su máquina local,
descargamos Log4J Appender:
Ahora bajamos y guardamos el ejemplo de archivo log de
Apache:
Amazon Kinesis Log4J Appender
Creamos un archivo llamado AwsCredentials.properties
con las credenciales de usuario IAM que tiene
permisos para escribir en Amazon Kinesis:
accessKey=YOUR-IAM-ACCESS-KEY
secretKey=YOUR-SECRET-KEY
Luego iniciamos el Log4J Appender para Amazon Kinesis:
Formato de log de acceso
Spark
• Rápido motor de propósito
general para procesamiento de
datos en larga escala.
• Escriba aplicaciones
rápidamente en Java, Scala o
Python
• Combine SQL, streaming y
análisis complejas
Amazon Kinesis y Spark Streaming
Log4J
Appender
Amazon
Kinesis
Amazon
S3
Amazon
DynamoDB
Spark-Streaming usa el
Kinesis Client Library
Amazon
EMR
Usando Spark Streaming en Amazon EMR
Usamos SSH para conectarnos al cluster:
-o TCPKeepAlive=yes -o ServerAliveInterval=30 
YOUR-AWS-SSH-KEY YOUR-EMR-HOSTNAME
En el cluster, descargamos el Amazon Kinesis client para
Spark:
Eliminando el ruido de la consola:
Iniciando el Spark shell:
spark-shell --jars /usr/lib/spark/extras/lib/spark-streaming-
kinesis-asl.jar,amazon-kinesis-client-1.6.0.jar --driver-java-
options "-
Dlog4j.configuration=file:///etc/spark/conf/log4j.properties"
Usando Spark Streaming en Amazon EMR
Usando Spark Streaming en Amazon EMR
/* import required libraries */
Usando Spark Streaming en Amazon EMR
/* Set up the variables as needed */
YOUR-REGION
YOUR-S3-BUCKET
/* Reconfigure the spark-shell */
Leyendo de Amazon Kinesis con Spark Streaming
/* Setup the KinesisClient */
val kinesisClient = new AmazonKinesisClient(new
DefaultAWSCredentialsProviderChain())
kinesisClient.setEndpoint(endpointUrl)
/* Determine the number of shards from the stream */
val numShards =
kinesisClient.describeStream(streamName).getStreamDescription().getShard
s().size()
/* Create one worker per Kinesis shard */
val ssc = new StreamingContext(sc, outputInterval)
val kinesisStreams = (0 until numShards).map { i =>
KinesisUtils.createStream(ssc, streamName,
endpointUrl,outputInterval,InitialPositionInStream.TRIM_HORIZON,
StorageLevel.MEMORY_ONLY)
}
Escribiendo en Amazon S3 con Spark Streaming
/* Merge the worker Dstreams and translate the byteArray to string */
/* Write each RDD to Amazon S3 */
Ver archivos de salida en Amazon S3
YOUR-S3-BUCKET
YOUR-S3-BUCKET
yyyy mm dd HH
2. Procesamiento
Spark SQL
Módulo de Spark para trabajar con datos estructurados
usando SQL
Realizando queries Hive sobre los datos existentes
Usando Spark SQL en Amazon EMR
Use SSH para conectarse al cluster Amazon EMR:
YOUR-AWS-SSH-KEY YOUR-EMR-HOSTNAME
Inicie el shell Spark SQL:
spark-sql --driver-java-options "-
Dlog4j.configuration=file:///etc/spark/conf/log4j.propertie
s"
Creación de una tabla que apunta a su bucket 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://YOUR-S3-BUCKET/access-log-raw';
msck repair table access_log_raw;
Realice Queries de datos con Spark SQL
-- return the first row in the stream
-- return count all items in the Stream
-- find the top 10 hosts
Preparación de datos para ser importados a
Amazon Redshift
Vamos a transformar los datos que son entregados por la query antes
de escribirlos en la tabla Hive externa almacenada en Amazon S3
Funciones Hive definidas por el usuario (UDF) en uso para las
transformaciones de texto:
from_unixtime, unix_timestamp and hour
El valor ”hour” es importante: esto es usado para separar y organizar
los archivos de salida antes de escribirlos en Amazon S3. Esta
separación va a permitirnos más adelante cargar datos a Amazon
Redshift más eficientemente usando el comando paralelo ”COPY”.
Creación de una tabla externa en Amazon S3
YOUR-S3-BUCKET
Configuración de particiones y compresión
-- setup Hive's "dynamic partitioning"
-- this will split output files when writing to Amazon S3
-- compress output files on Amazon S3 using Gzip
Escribir los resultados en Amazon S3
-- convert the Apache log timestamp to a UNIX timestamp
-- split files in Amazon S3 by the hour in the log lines
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]'))) as hour
FROM access_log_raw;
Ver los archivos de salida en Amazon S3
Listar todos los prefijos de las particiones:
YOUR-S3-BUCKET
Listar una partición de los archivos de salida:
YOUR-S3-BUCKET
3. Analizar
Connect to Amazon Redshift
# using the PostgreSQL CLI
YOUR-REDSHIFT-ENDPOINT
Or use any JDBC or ODBC SQL client with the PostgreSQL
8.x drivers or native Amazon Redshift support
• Aginity Workbench for Amazon Redshift
• SQL Workbench/J
Crear una tabla en Amazon Redshift para poner los
datos
Cargar los datos a Amazon Redshift
“COPY” command loads files in parallel
COPY accesslogs
FROM 's3://YOUR-S3-BUCKET/access-log-processed'
CREDENTIALS
'aws_access_key_id=YOUR-IAM-
ACCESS_KEY;aws_secret_access_key=YOUR-IAM-SECRET-KEY'
DELIMITER 't' IGNOREHEADER 0
MAXERROR 0
GZIP;
Queries de prueba en Amazon Redshift
-- find distribution of status codes over days
-- find the 404 status codes
-- show all requests for status as PAGE NOT FOUND
Su primera aplicación de Big Data en AWS
Un favicon podría corregir 398 de un total de 977 errores
PAGE NOT FOUND (404)
…cerca del costo de una taza de buen café
Inténtelo usted mismo en la nube de AWS…
Service Est. Cost*
Amazon Kinesis $1.00
Amazon S3 (free tier) $0
Amazon EMR $0.44
Amazon Redshift $1.00
Est. Total $2.44
*Estimated costs assumes: use of free tier where available, lower cost instances, dataset no bigger than 10MB and instances running
for less than 4 hours. Costs may vary depending on options selected, size of dataset, and usage.
$3.50
Aprenda sobre AWS big data con
nuestros expertos
blogs.aws.amazon.com/bigdata
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Q&A
Muchas Gracias
traverso@amazon.com

Mais conteúdo relacionado

Mais procurados

실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
Amazon Web Services Korea
 

Mais procurados (20)

AWS Summit Seoul 2023 | 가격은 저렴, 성능은 최대로! 확 달라진 Amazon EC2 알아보기
AWS Summit Seoul 2023 | 가격은 저렴, 성능은 최대로! 확 달라진 Amazon EC2 알아보기AWS Summit Seoul 2023 | 가격은 저렴, 성능은 최대로! 확 달라진 Amazon EC2 알아보기
AWS Summit Seoul 2023 | 가격은 저렴, 성능은 최대로! 확 달라진 Amazon EC2 알아보기
 
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
 
서버리스 기반 데이터베이스 모델링 및 운영 노하우 알아보기 - 변규현 SW 엔지니어, 당근마켓 / 김선형 CTO, 티클 :: AWS Sum...
서버리스 기반 데이터베이스 모델링 및 운영 노하우 알아보기 - 변규현 SW 엔지니어, 당근마켓 / 김선형 CTO, 티클 :: AWS Sum...서버리스 기반 데이터베이스 모델링 및 운영 노하우 알아보기 - 변규현 SW 엔지니어, 당근마켓 / 김선형 CTO, 티클 :: AWS Sum...
서버리스 기반 데이터베이스 모델링 및 운영 노하우 알아보기 - 변규현 SW 엔지니어, 당근마켓 / 김선형 CTO, 티클 :: AWS Sum...
 
Deep Dive on Amazon EC2 Systems Manager
Deep Dive on Amazon EC2 Systems ManagerDeep Dive on Amazon EC2 Systems Manager
Deep Dive on Amazon EC2 Systems Manager
 
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT326) - AWS re:Inv...
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT326) - AWS re:Inv...Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT326) - AWS re:Inv...
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT326) - AWS re:Inv...
 
Arm 기반의 AWS Graviton 프로세서로 구동되는 AWS 인스턴스 살펴보기 - 김종선, AWS솔루션즈 아키텍트:: AWS Summi...
Arm 기반의 AWS Graviton 프로세서로 구동되는 AWS 인스턴스 살펴보기 - 김종선, AWS솔루션즈 아키텍트:: AWS Summi...Arm 기반의 AWS Graviton 프로세서로 구동되는 AWS 인스턴스 살펴보기 - 김종선, AWS솔루션즈 아키텍트:: AWS Summi...
Arm 기반의 AWS Graviton 프로세서로 구동되는 AWS 인스턴스 살펴보기 - 김종선, AWS솔루션즈 아키텍트:: AWS Summi...
 
AWS Summit Seoul 2023 | 지역거점 중심의 산업 생태계 활성화 사례
AWS Summit Seoul 2023 | 지역거점 중심의 산업 생태계 활성화 사례AWS Summit Seoul 2023 | 지역거점 중심의 산업 생태계 활성화 사례
AWS Summit Seoul 2023 | 지역거점 중심의 산업 생태계 활성화 사례
 
DAT302_Deep Dive on Amazon Relational Database Service (RDS)
DAT302_Deep Dive on Amazon Relational Database Service (RDS)DAT302_Deep Dive on Amazon Relational Database Service (RDS)
DAT302_Deep Dive on Amazon Relational Database Service (RDS)
 
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법
 
AWS Systems Manager
AWS Systems ManagerAWS Systems Manager
AWS Systems Manager
 
Deep Dive into AWS SAM
Deep Dive into AWS SAMDeep Dive into AWS SAM
Deep Dive into AWS SAM
 
Getting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSGetting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWS
 
20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless
 
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
 
AWS Black Belt Online Seminar 2018 AWS上の位置情報
AWS Black Belt Online Seminar 2018 AWS上の位置情報AWS Black Belt Online Seminar 2018 AWS上の位置情報
AWS Black Belt Online Seminar 2018 AWS上の位置情報
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
 
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
 
AWS Systems manager 2019
AWS Systems manager 2019AWS Systems manager 2019
AWS Systems manager 2019
 
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
 

Semelhante a Creando su primera aplicación de Big Data en AWS

AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
Amazon Web Services
 
Documentacion postgresql
Documentacion postgresqlDocumentacion postgresql
Documentacion postgresql
Cesar Martinez
 

Semelhante a Creando su primera aplicación de Big Data en AWS (20)

Creando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWSCreando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWS
 
Creando su primera aplicación Big Data en AWS
Creando su primera aplicación Big Data en AWSCreando su primera aplicación Big Data en AWS
Creando su primera aplicación Big Data en AWS
 
Laboratorio-03 aws rds-2014
Laboratorio-03 aws rds-2014Laboratorio-03 aws rds-2014
Laboratorio-03 aws rds-2014
 
Amazon EC2 Container Service a Profundidad
Amazon EC2 Container Service a ProfundidadAmazon EC2 Container Service a Profundidad
Amazon EC2 Container Service a Profundidad
 
Mejores prácticas y las difíciles lecciones aprendidas con las aplicaciones S...
Mejores prácticas y las difíciles lecciones aprendidas con las aplicaciones S...Mejores prácticas y las difíciles lecciones aprendidas con las aplicaciones S...
Mejores prácticas y las difíciles lecciones aprendidas con las aplicaciones S...
 
Implementando DRP en AWS
Implementando DRP en AWSImplementando DRP en AWS
Implementando DRP en AWS
 
Clase Maestra EC2
Clase Maestra EC2Clase Maestra EC2
Clase Maestra EC2
 
Meetup Real Time Aggregations Spark Streaming + Spark Sql
Meetup Real Time Aggregations  Spark Streaming + Spark SqlMeetup Real Time Aggregations  Spark Streaming + Spark Sql
Meetup Real Time Aggregations Spark Streaming + Spark Sql
 
Planeando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWSPlaneando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWS
 
Servicios web
Servicios webServicios web
Servicios web
 
Postgresql expo
Postgresql expoPostgresql expo
Postgresql expo
 
Taller desarrollo de apis
Taller desarrollo de apisTaller desarrollo de apis
Taller desarrollo de apis
 
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
Deploy de una app symfony en aws
Deploy de una app symfony en awsDeploy de una app symfony en aws
Deploy de una app symfony en aws
 
Seguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudSeguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloud
 
Sysmana 2017 monitorización de logs con el stack elk
Sysmana 2017   monitorización de logs con el stack elkSysmana 2017   monitorización de logs con el stack elk
Sysmana 2017 monitorización de logs con el stack elk
 
Cloudevel - Microsoft Azure - 101
Cloudevel - Microsoft Azure - 101Cloudevel - Microsoft Azure - 101
Cloudevel - Microsoft Azure - 101
 
Documentacion postgresql
Documentacion postgresqlDocumentacion postgresql
Documentacion postgresql
 
GLUE (1).pdf
GLUE (1).pdfGLUE (1).pdf
GLUE (1).pdf
 

Mais de Amazon Web Services LATAM

Mais de 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
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (12)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

Creando su primera aplicación de Big Data en AWS

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Creando su primera aplicación de Big Data en AWS Damián Traverso, AWS Solutions Architect traverso@amazon.com Mayo 2016 | Santiago de Chile
  • 2. Amazon S3 Amazon Kinesis Amazon DynamoDB Amazon RDS (Aurora) AWS Lambda KCL Apps Amazon EMR Amazon Redshift Amazon Machine Learning Colecta Procesamiento Análisis Almacenamiento Colecta de datos y almacenamiento Procesamiento de datos Procesamiento de eventos Análisis de datos Datos Respuestas
  • 3. Su primera aplicación de Big Data en AWS
  • 8. Amazon Kinesis Creamos un stream de Amazon Kinesis, con un único shard para la data entrante: aws kinesis create-stream --stream-name AccessLogStream --shard-count 1
  • 12. Amazon EMR Lanzamos un cluster de 3 nodos en Amazon EMR con Spark y Hive: m3.xlarge YOUR-AWS-SSH-KEY
  • 16. Su primera aplicación de Big Data en AWS 2. Procesamiento: Procesamos los datos con Amazon EMR usando Spark & Hive STORE 3. Análisis: Analizamos los datos en Amazon Redshift usando SQLSQL 1. Colecta: Envío de datos a Amazon Kinesis usando Log4J
  • 18. Amazon Kinesis Log4J Appender En una ventana de terminal separada en su máquina local, descargamos Log4J Appender: Ahora bajamos y guardamos el ejemplo de archivo log de Apache:
  • 19. Amazon Kinesis Log4J Appender Creamos un archivo llamado AwsCredentials.properties con las credenciales de usuario IAM que tiene permisos para escribir en Amazon Kinesis: accessKey=YOUR-IAM-ACCESS-KEY secretKey=YOUR-SECRET-KEY Luego iniciamos el Log4J Appender para Amazon Kinesis:
  • 20. Formato de log de acceso
  • 21. Spark • Rápido motor de propósito general para procesamiento de datos en larga escala. • Escriba aplicaciones rápidamente en Java, Scala o Python • Combine SQL, streaming y análisis complejas
  • 22. Amazon Kinesis y Spark Streaming Log4J Appender Amazon Kinesis Amazon S3 Amazon DynamoDB Spark-Streaming usa el Kinesis Client Library Amazon EMR
  • 23. Usando Spark Streaming en Amazon EMR Usamos SSH para conectarnos al cluster: -o TCPKeepAlive=yes -o ServerAliveInterval=30 YOUR-AWS-SSH-KEY YOUR-EMR-HOSTNAME En el cluster, descargamos el Amazon Kinesis client para Spark:
  • 24. Eliminando el ruido de la consola: Iniciando el Spark shell: spark-shell --jars /usr/lib/spark/extras/lib/spark-streaming- kinesis-asl.jar,amazon-kinesis-client-1.6.0.jar --driver-java- options "- Dlog4j.configuration=file:///etc/spark/conf/log4j.properties" Usando Spark Streaming en Amazon EMR
  • 25. Usando Spark Streaming en Amazon EMR /* import required libraries */
  • 26. Usando Spark Streaming en Amazon EMR /* Set up the variables as needed */ YOUR-REGION YOUR-S3-BUCKET /* Reconfigure the spark-shell */
  • 27. Leyendo de Amazon Kinesis con Spark Streaming /* Setup the KinesisClient */ val kinesisClient = new AmazonKinesisClient(new DefaultAWSCredentialsProviderChain()) kinesisClient.setEndpoint(endpointUrl) /* Determine the number of shards from the stream */ val numShards = kinesisClient.describeStream(streamName).getStreamDescription().getShard s().size() /* Create one worker per Kinesis shard */ val ssc = new StreamingContext(sc, outputInterval) val kinesisStreams = (0 until numShards).map { i => KinesisUtils.createStream(ssc, streamName, endpointUrl,outputInterval,InitialPositionInStream.TRIM_HORIZON, StorageLevel.MEMORY_ONLY) }
  • 28. Escribiendo en Amazon S3 con Spark Streaming /* Merge the worker Dstreams and translate the byteArray to string */ /* Write each RDD to Amazon S3 */
  • 29. Ver archivos de salida en Amazon S3 YOUR-S3-BUCKET YOUR-S3-BUCKET yyyy mm dd HH
  • 31. Spark SQL Módulo de Spark para trabajar con datos estructurados usando SQL Realizando queries Hive sobre los datos existentes
  • 32. Usando Spark SQL en Amazon EMR Use SSH para conectarse al cluster Amazon EMR: YOUR-AWS-SSH-KEY YOUR-EMR-HOSTNAME Inicie el shell Spark SQL: spark-sql --driver-java-options "- Dlog4j.configuration=file:///etc/spark/conf/log4j.propertie s"
  • 33. Creación de una tabla que apunta a su bucket 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://YOUR-S3-BUCKET/access-log-raw'; msck repair table access_log_raw;
  • 34. Realice Queries de datos con Spark SQL -- return the first row in the stream -- return count all items in the Stream -- find the top 10 hosts
  • 35. Preparación de datos para ser importados a Amazon Redshift Vamos a transformar los datos que son entregados por la query antes de escribirlos en la tabla Hive externa almacenada en Amazon S3 Funciones Hive definidas por el usuario (UDF) en uso para las transformaciones de texto: from_unixtime, unix_timestamp and hour El valor ”hour” es importante: esto es usado para separar y organizar los archivos de salida antes de escribirlos en Amazon S3. Esta separación va a permitirnos más adelante cargar datos a Amazon Redshift más eficientemente usando el comando paralelo ”COPY”.
  • 36. Creación de una tabla externa en Amazon S3 YOUR-S3-BUCKET
  • 37. Configuración de particiones y compresión -- setup Hive's "dynamic partitioning" -- this will split output files when writing to Amazon S3 -- compress output files on Amazon S3 using Gzip
  • 38. Escribir los resultados en Amazon S3 -- convert the Apache log timestamp to a UNIX timestamp -- split files in Amazon S3 by the hour in the log lines 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]'))) as hour FROM access_log_raw;
  • 39. Ver los archivos de salida en Amazon S3 Listar todos los prefijos de las particiones: YOUR-S3-BUCKET Listar una partición de los archivos de salida: YOUR-S3-BUCKET
  • 41. Connect to Amazon Redshift # using the PostgreSQL CLI YOUR-REDSHIFT-ENDPOINT Or use any JDBC or ODBC SQL client with the PostgreSQL 8.x drivers or native Amazon Redshift support • Aginity Workbench for Amazon Redshift • SQL Workbench/J
  • 42. Crear una tabla en Amazon Redshift para poner los datos
  • 43. Cargar los datos a Amazon Redshift “COPY” command loads files in parallel COPY accesslogs FROM 's3://YOUR-S3-BUCKET/access-log-processed' CREDENTIALS 'aws_access_key_id=YOUR-IAM- ACCESS_KEY;aws_secret_access_key=YOUR-IAM-SECRET-KEY' DELIMITER 't' IGNOREHEADER 0 MAXERROR 0 GZIP;
  • 44. Queries de prueba en Amazon Redshift -- find distribution of status codes over days -- find the 404 status codes -- show all requests for status as PAGE NOT FOUND
  • 45. Su primera aplicación de Big Data en AWS Un favicon podría corregir 398 de un total de 977 errores PAGE NOT FOUND (404)
  • 46. …cerca del costo de una taza de buen café Inténtelo usted mismo en la nube de AWS… Service Est. Cost* Amazon Kinesis $1.00 Amazon S3 (free tier) $0 Amazon EMR $0.44 Amazon Redshift $1.00 Est. Total $2.44 *Estimated costs assumes: use of free tier where available, lower cost instances, dataset no bigger than 10MB and instances running for less than 4 hours. Costs may vary depending on options selected, size of dataset, and usage. $3.50
  • 47. Aprenda sobre AWS big data con nuestros expertos blogs.aws.amazon.com/bigdata
  • 48. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Q&A