SlideShare una empresa de Scribd logo
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Henry Alvarado, Solutions Architect
Abril 2016
Creando su primera aplicación de
Big Data en AWS
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
Gracias

Más contenido relacionado

PDF
Escalando a sus primeros 10 millones de usuarios
PPTX
Ahorre hasta un 90% en ambientes productivos con instancias Spot
PDF
Escalando para sus primeros 10 millones de usuarios
PDF
Creando su primera aplicación de Big Data en AWS
PPTX
Construyendo aplicaciones para IoT con AWS
PDF
Servicios de storage de AWS
PPTX
EC2: Cómputo en la nube a profundidad
PDF
Creando su primera aplicación Big Data en AWS
Escalando a sus primeros 10 millones de usuarios
Ahorre hasta un 90% en ambientes productivos con instancias Spot
Escalando para sus primeros 10 millones de usuarios
Creando su primera aplicación de Big Data en AWS
Construyendo aplicaciones para IoT con AWS
Servicios de storage de AWS
EC2: Cómputo en la nube a profundidad
Creando su primera aplicación Big Data en AWS

La actualidad más candente (18)

PDF
Construya APIs seguras y escalables
PDF
Servicios de Storage en AWS
PPTX
Creando su datacenter virtual
PPTX
Servicios de Bases de Datos administradas en AWS
PPTX
Implementando DRP en AWS
PDF
Comenzando con los servicios móviles en AWS
PPTX
Servicios de Storage en AWS
PDF
Como reducir costos en AWS
PDF
Webinar: Comenzando con los servicios de AWS
PPTX
Cómputo y Almacenamiento en la nube
PPTX
Sistema de Bases de Datos AWS
PPTX
Comenzando con Arquitecturas sin servidores
PDF
Docker ECS en AWS
PPTX
Servicios de Bases de Datos de AWS
PDF
Optimizacion de costos a gran escala
PDF
Servicios de bases de datos administradas en AWS
PDF
Extendiendo su centro de datos a la nube de AWS
PDF
EC2 Cómputo en la nube a profundidad
Construya APIs seguras y escalables
Servicios de Storage en AWS
Creando su datacenter virtual
Servicios de Bases de Datos administradas en AWS
Implementando DRP en AWS
Comenzando con los servicios móviles en AWS
Servicios de Storage en AWS
Como reducir costos en AWS
Webinar: Comenzando con los servicios de AWS
Cómputo y Almacenamiento en la nube
Sistema de Bases de Datos AWS
Comenzando con Arquitecturas sin servidores
Docker ECS en AWS
Servicios de Bases de Datos de AWS
Optimizacion de costos a gran escala
Servicios de bases de datos administradas en AWS
Extendiendo su centro de datos a la nube de AWS
EC2 Cómputo en la nube a profundidad
Publicidad

Destacado (18)

PDF
PDF
Comenzando com la nube hibrida
PDF
¿Por que cambiar de Apache Hadoop a Apache Spark?
PDF
Programa de formacion
PPTX
Orientación Química en 21 segundos
PPSX
Trabajo segunda guerra mundial terminado
PPTX
Angela tellez
PPTX
Presentacion turista
DOCX
Brief programa internacional directivo coach marzo abril 2015
DOC
Taller de toxicomanìas
PPTX
Herramientas web 2
DOC
Experimento
PPTX
Musica y baile_en_los_afrocolombianos_grupo 2
PDF
Brief seminario internacional cierre de ventas enero 2015
PPTX
Tecnología educativa
PPTX
DOCX
Historia de una maestra
Comenzando com la nube hibrida
¿Por que cambiar de Apache Hadoop a Apache Spark?
Programa de formacion
Orientación Química en 21 segundos
Trabajo segunda guerra mundial terminado
Angela tellez
Presentacion turista
Brief programa internacional directivo coach marzo abril 2015
Taller de toxicomanìas
Herramientas web 2
Experimento
Musica y baile_en_los_afrocolombianos_grupo 2
Brief seminario internacional cierre de ventas enero 2015
Tecnología educativa
Historia de una maestra
Publicidad

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

PDF
Big Data: Arquitecturas y mejores prácticas en AWS
PDF
Big Data: Arquitectura y mejores prácticas en AWS
PDF
Big Data: Arquitectura y mejores prácticas en AWS
PPTX
AnalyticZ - De la A a la Z con Amazon Web Services
PDF
AnalyticZ … De la A a la Z con Amazon Web Servic
PPTX
AWS Summits América Latina 2015 Arquitecturas y mejores practicas de Big Dat...
PPTX
Introducción a Big Data en AWS
PPTX
Construyendo aplicaciones de Big Data en AWS
PPTX
Construyendo aplicaciones de Big Data en AWS
PDF
Construyendo aplicaciones de Big Data en AWS
PPTX
Construyendo aplicaciones de Big Data en AWS
PPTX
AWS Initiate Day Mexico City | Building Data Lakes & Analytics on AWS
PPTX
Patrones de Arquitectura para Big Data en AWS
PDF
AWS Analytics Experience Argentina
PPTX
AWS Initiate Day Mexico City | Big Data y AI - Impulsando la información y ag...
PDF
Webinar: Ask the Experts - Big Data (Español)
PPTX
Escalando para sus primeros 10 millones de usuarios
PDF
BrainSINS and AWS meetup Keynote
PPTX
Los beneficios de migrar sus cargas de trabajo de big data a AWS
PDF
Deploying Bigdata from Zero to Million of records in Amazon Web Services
Big Data: Arquitecturas y mejores prácticas en AWS
Big Data: Arquitectura y mejores prácticas en AWS
Big Data: Arquitectura y mejores prácticas en AWS
AnalyticZ - De la A a la Z con Amazon Web Services
AnalyticZ … De la A a la Z con Amazon Web Servic
AWS Summits América Latina 2015 Arquitecturas y mejores practicas de Big Dat...
Introducción a Big Data en AWS
Construyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWS
AWS Initiate Day Mexico City | Building Data Lakes & Analytics on AWS
Patrones de Arquitectura para Big Data en AWS
AWS Analytics Experience Argentina
AWS Initiate Day Mexico City | Big Data y AI - Impulsando la información y ag...
Webinar: Ask the Experts - Big Data (Español)
Escalando para sus primeros 10 millones de usuarios
BrainSINS and AWS meetup Keynote
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Deploying Bigdata from Zero to Million of records in Amazon Web Services

Más de Amazon Web Services LATAM (20)

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

Último (20)

PDF
Diapositiva proyecto de vida, materia catedra
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PDF
clase auditoria informatica 2025.........
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PDF
capacitación de aire acondicionado Bgh r 410
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
MANUAL de recursos humanos para ODOO.pdf
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PPTX
modulo seguimiento 1 para iniciantes del
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PDF
Influencia-del-uso-de-redes-sociales.pdf
PPTX
Presentación de Redes de Datos modelo osi
Diapositiva proyecto de vida, materia catedra
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
la-historia-de-la-medicina Edna Silva.pptx
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
Documental Beyond the Code (Dossier Presentación - 2.0)
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
Power Point Nicolás Carrasco (disertación Roblox).pptx
historia_web de la creacion de un navegador_presentacion.pptx
Historia Inteligencia Artificial Ana Romero.pptx
Presentacion de Alba Curso Auditores Internos ISO 19011
clase auditoria informatica 2025.........
El-Gobierno-Electrónico-En-El-Estado-Bolivia
capacitación de aire acondicionado Bgh r 410
Presentación PASANTIAS AuditorioOO..pptx
MANUAL de recursos humanos para ODOO.pdf
TRABAJO DE TECNOLOGIA.pdf...........................
modulo seguimiento 1 para iniciantes del
informe_fichas1y2_corregido.docx (2) (1).pdf
Influencia-del-uso-de-redes-sociales.pdf
Presentación de Redes de Datos modelo osi

Creando su primera aplicación de Big Data en AWS

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Henry Alvarado, Solutions Architect Abril 2016 Creando su primera aplicación de Big Data en AWS
  • 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