Está en la página 1de 62

AVANZADO

AVANZADO
SESIÓN N° 6: Data Analytics – Parte 2

1
AVANZADO

Data analytics
2
Data Analysis?
AVANZADO

El análisis es un examen detallado de algo con el fin de


comprender su naturaleza o determinar sus
características esenciales. El análisis de datos es el
proceso de compilar, procesar y analizar datos para que
pueda usarlos para tomar decisiones. La analítica es el
análisis sistemático de datos. El análisis de datos es el
proceso analítico específico que se está aplicando.

3
Data Analysis?
AVANZADO El análisis de datos es vital para las empresas grandes y
pequeñas. Los procesos de análisis de datos se combinan para
crear soluciones de análisis de datos, que ayudan a las
empresas a decidir dónde y cuándo lanzar nuevos productos,
cuándo ofrecer descuentos y cuándo comercializar en nuevas
áreas. Sin los datos proporcionados por el análisis de datos,
muchos tomadores de decisiones basarían sus decisiones en la
intuición y la pura suerte. A medida que las empresas
comienzan a implementar soluciones de análisis de datos,
surgen desafíos. Estos desafíos se basan en las características
de los datos y análisis necesarios para su caso de uso. En el
pasado, estos desafíos se han definido como desafíos de "big
data". Sin embargo, en el entorno actual basado en la nube,
estos desafíos pueden aplicarse a conjuntos de datos pequeños
o lentos casi con la misma frecuencia que a conjuntos de datos
muy grandes y rápidos.

4
AVANZADO

Big data is an industry term that has changed in recent years. Big data
solutions are often part of data analysis solutions.

5
AVANZADO

Organizations spend millions of dollars on data storage.


The problem isn’t finding the data—the problem is
failing to do anything with it.

6
AVANZADO

7
AVANZADO

Effective data analysis solutions require both storage and the


ability to analyze data in near real time, with low latency,
while yielding high-value returns.

8
Big Data?
AVANZADO

9
Big Data?
AVANZADO Los datos se generan de muchas maneras. La gran
pregunta es dónde ponerlo todo y cómo usarlo para crear
valor o generar ventajas competitivas. Los desafíos
identificados en muchas soluciones de análisis de datos
se pueden resumir en cinco desafíos clave: volumen,
velocidad, variedad, veracidad y valor. No todas las
organizaciones experimentan desafíos en todas las áreas.
Algunas organizaciones luchan con la ingestión de
grandes volúmenes de datos rápidamente. Otros luchan
con el procesamiento de volúmenes masivos de datos
para producir nuevos conocimientos predictivos. Otros
tienen usuarios que necesitan realizar análisis de datos
detallados sobre la marcha sobre enormes conjuntos de
datos.

10
Componentes de una solucion de Data Analytics
AVANZADO
Una solución de análisis de datos tiene muchos
componentes. Los análisis realizados en cada uno de
estos componentes pueden requerir diferentes servicios y
diferentes enfoques. Una solución de análisis de datos
incluye los siguientes componentes.

11
Challenges de una solucion de Data Analytics
AVANZADO
Debido al aumento del volumen, la
velocidad, la variedad, la veracidad y el
valor de los datos, algunos desafíos de
administración de datos no se pueden
resolver con soluciones tradicionales de
procesamiento y bases de datos. Ahí es
donde entran en juego las soluciones de
análisis de datos. Una breve definición
de los cinco desafíos te ayudará a
entender cada uno antes de seguir
adelante.

12
Planificacion de una solucion de Data Analytics
AVANZADO

13
Data Analytics: De donde viene la data?
La mayoría de los datos ingeridos por las soluciones de análisis de datos provienen de bases de
datos locales y almacenes de archivos existentes. Estos datos a menudo se encuentran en un
estado en el que el procesamiento requerido dentro de la solución será mínimo.
AVANZADO
La transmisión de datos es una fuente de datos empresariales que está ganando popularidad.
Este origen de datos está menos estructurado. Puede requerir un software especial para recopilar
los datos y aplicaciones de procesamiento específicas para agregarlos y analizarlos
correctamente casi en tiempo real.

Los conjuntos de datos públicos son otra fuente de datos para las empresas. Estos incluyen
datos del censo, datos de salud, datos de población y muchos otros conjuntos de datos que
ayudan a las empresas a comprender los datos que están recopilando sobre sus clientes. Es
posible que estos datos deban transformarse para que contengan solo lo que el negocio necesita.

14
Data Analytics: Como procesamos la data?

Hay muchas soluciones diferentes disponibles para


procesar sus datos. No existe un enfoque único para
AVANZADO
todos. Debe evaluar cuidadosamente las necesidades de
su negocio y hacerlas coincidir con los servicios que se
combinarán para proporcionarle los resultados
requeridos.

Existe una variedad de servicios que AWS ofrece para


cada uno de los componentes que se muestran a
continuación.

15
Data Analytics: Como aprendemos de la data?

Debe estar preparado para aprender de sus datos,


AVANZADO trabajar con equipos internos para optimizar los esfuerzos
y estar dispuesto a experimentar.

Es vital detectar tendencias, hacer correlaciones y


administrar negocios más eficientes y rentables. Es hora
de poner sus datos a trabajar.

16
AVANZADO

17
AVANZADO

When businesses have more data than they


are able to process and analyze, they have
a volume problem.

18
Volume: Crecimiento exponencial de la data

Las empresas han estado almacenando datos durante décadas, eso no es


nada nuevo. Lo que ha cambiado en los últimos años es la capacidad de
AVANZADO
analizar ciertos tipos de datos. Hay tres clasificaciones amplias de tipos de
orígenes de datos:

Los datos estructurados se organizan y almacenan en forma de valores


que se agrupan en filas y columnas de una tabla.
Los datos semiestructurados a menudo se almacenan en una serie de
pares clave-valor que se agrupan en elementos dentro de un archivo.
Los datos no estructurados no están estructurados de manera
consistente. Algunos datos pueden tener una estructura similar a los datos
semiestructurados, pero otros solo pueden contener metadatos.

Muchos artículos de Internet promocionan la gran cantidad de información


que se encuentra dentro de los datos no estructurados. Se están lanzando
nuevas aplicaciones que ahora pueden catalogar y proporcionar información
increíble sobre este recurso sin explotar.

19
Pero, ¿qué son los datos no estructurados? Está en cada
AVANZADO
archivo que almacenamos, cada foto que tomamos y el
correo electrónico que enviamos.

20
Las plataformas modernas de gestión de datos deben
capturar datos de diversas fuentes a velocidad y escala.
Los datos deben reunirse en repositorios centrales y
manejables, rompiendo los silos tradicionales. Los
AVANZADO beneficios de la recopilación y el análisis de todos los
datos empresariales deben superar los costos.

21
AVANZADO

22
AVANZADO

23
AVANZADO

24
AVANZADO

25
S3: Ventajas

AVANZADO

26
Un lago de datos es un repositorio centralizado que le
permite almacenar datos estructurados,
semiestructurados y no estructurados a cualquier escala.
AVANZADO

27
Los lagos de datos prometen la capacidad de almacenar todos los datos de
una empresa en un único repositorio. Puede aprovechar los lagos de datos
para almacenar grandes volúmenes de datos en lugar de conservar esos
datos en almacenes de datos. Los lagos de datos, como los integrados en
Amazon S3, suelen ser menos costosos que las soluciones especializadas
de almacenamiento de big data. De esa manera, solo paga por las
AVANZADO
soluciones especializadas cuando las usa para procesamiento y análisis y
no para almacenamiento a largo plazo. Su proceso de extracción,
transformación y carga (ETL) y análisis aún puede acceder a estos datos
para su análisis.

A continuación se presentan algunos de los beneficios de los lagos de


datos. Haga clic en cada tarjeta para ver las precauciones para asegurarse
de implementar el mejor lago de datos para su situación.

28
•Son una solución de almacenamiento de datos rentable. Puede
almacenar de forma duradera una cantidad casi ilimitada de datos con
Amazon S3. Implemente seguridad y cumplimiento líderes en la
industria. AWS utiliza estrictos mecanismos de seguridad, conformidad,
privacidad y protección de datos.
AVANZADO
•Le permite aprovechar muchas herramientas diferentes de
recopilación e ingesta de datos para ingerir datos en su lago de datos.
Estos servicios incluyen Amazon Kinesis para la transmisión de datos y
dispositivos AWS Snowball para grandes volúmenes de datos locales.
Ayudarle a categorizar y gestionar sus datos de forma sencilla y
eficiente.

•Utilice AWS Glue para comprender los datos de su lago de datos,


prepararlos y cargarlos de forma fiable en almacenes de datos. Una
vez que AWS Glue cataloga sus datos, se pueden buscar
inmediatamente, se pueden consultar y están disponibles para el
procesamiento ETL.

•Ayudarle a convertir los datos en información significativa. Aproveche


el poder de los servicios analíticos especialmente diseñados para una
amplia gama de casos de uso, como el análisis interactivo, el
procesamiento de datos utilizando Apache Spark y Apache Hadoop, ...
29
El proyecto Apache™ Hadoop® desarrolla software de código abierto para computación confiable,
escalable y distribuida. La biblioteca de software Apache Hadoop es un marco que permite el
procesamiento distribuido de grandes conjuntos de datos a través de clústeres de computadoras
AVANZADO utilizando modelos de programación simples. Está diseñado para escalar desde servidores
individuales a miles de máquinas, cada una de las cuales ofrece computación y almacenamiento
locales. En lugar de depender del hardware para ofrecer alta disponibilidad, la biblioteca en sí está
diseñada para detectar y manejar fallas en la capa de aplicación, por lo que ofrece un servicio de alta
disponibilidad sobre un clúster de computadoras, cada una de las cuales puede ser propensa a
fallas.

La programación MapReduce no es una opción adecuada para todos los problemas. stepEs
adecuada para simples solicitudes de información y problemas que se pueden dividir en unidades
independientes, pero no es eficiente para realizar tareas analíticas iterativas e interactivas.
MapReduce trabaja con muchos archivos. Como los nodos no se intercomunican salvo a través de
procesos de clasificación y mezcla, los algoritmos iterativos requieren múltiples fases de mapeo-
mezcla/clasificación-reducción para completarse. Esto da origen a múltiples archivos entre fases
de MapReduce y no es eficiente para el cómputo analítico avanzado.

30
Apache Spark es un framework de computación (entorno
AVANZADO de trabajo) en clúster open-source. Fue desarrollada
originariamente en la Universidad de California, en el
AMPLab de Berkeley. El código base del proyecto Spark
fue donado más tarde a la Apache Software
Foundation que se encarga de su mantenimiento desde
entonces. Spark proporciona una interfaz para la
programación de clusters completos con Paralelismo de
Datos implícito y tolerancia a fallos.
Apache Spark se puede considerar un sistema de
computación en clúster de propósito general y orientado a
la velocidad. Proporciona APIs en Java, Scala, Python y
R. También proporciona un motor optimizado que soporta
la ejecución de graficos en general. También soporta un
conjunto extenso y rico de herramientas de alto nivel
entre las que se incluyen Spark SQL (para el
procesamiento de datos estructurados basada en SQL),
MLlib para implementar machine learning, GraphX para el
procesamiento de graficos y Spark Streaming.
31
Apache Spark es un motor de computación distribuida de código abierto y propósito general
utilizado para procesar y analizar una gran cantidad de datos. Al igual que Hadoop MapReduce,
también trabaja con el sistema para distribuir datos a través del clúster y procesar los datos en
paralelo. Spark utiliza la arquitectura maestro/esclavo, es decir, un coordinador central y
muchos trabajadores distribuidos. Aquí, el coordinador central se llama el conductor.

SparkContext es el corazón de Spark Application. Establece una conexión con el


AVANZADO entorno de ejecución de Spark. Se utiliza para crear RDD, acumuladores y variables de
difusión de Spark, acceder a los servicios de Spark y ejecutar trabajos. SparkContext es
un cliente del entorno de ejecución de Spark y actúa como el maestro de la aplicación
Spark. Los principales trabajos de Spark Context son: Obtener el estado actual de la
aplicación spark Cancelar el trabajo Cancelar el trabajo de ejecución de la etapa de
forma sincrónica Ejecutar el trabajo de forma asincrónica Acceder a RDD persistente
Sin asistencia RDD Asignación dinámica programable

Spark Shell es una aplicación de Spark escrita en Scala. Ofrece un entorno de línea de
comandos con autocompletado. Nos ayuda a familiarizarnos con las características de
Spark, que ayudan a desarrollar nuestra propia aplicación Spark independiente. Por lo
tanto, esta herramienta ayuda a explorar Spark y también es la razón por la que Spark es
tan útil en el procesamiento de conjuntos de datos de todos los tamaños.

The Spark application is a self-contained computation that runs user-supplied code


to compute a result. A Spark application can have processes running on its behalf even
when it’s not running a job.
Una tarea es una unidad de trabajo que se envía al albacea. Cada etapa tiene alguna
tarea, una tarea por partición. La misma tarea se realiza en diferentes particiones de
RDD.

El trabajo es un cálculo paralelo que consiste en múltiples tareas que se generan en


respuesta a acciones en Apache Spark.
32
Amazon EMR y Data Lakes

AVANZADO

Las empresas han comenzado a darse cuenta del poder


de los lagos de datos. Las empresas pueden colocar
datos dentro de un lago de datos y utilizar su elección
de marcos de procesamiento distribuido de código
abierto, como los compatibles con Amazon EMR. Apache
Hadoop y Spark son compatibles con Amazon EMR, que
tiene la capacidad de ayudar a las empresas a
implementar soluciones de procesamiento de datos de
forma fácil, rápida y rentable basadas en lagos de datos
de Amazon S3.

33
Preparacion de Data Lakes

La preparación de datos es una gran empresa. No hay


respuestas fáciles cuando se trata de limpiar, transformar
AVANZADO
y recopilar datos para su lago de datos. Sin embargo, hay
servicios que pueden automatizar muchos de estos
procesos que consumen mucho tiempo. Configurar y
administrar lagos de datos hoy en día puede implicar
muchas tareas manuales, complicadas y que consumen
mucho tiempo. Este trabajo incluye la carga de los datos,
la supervisión de los flujos de datos, la configuración de
particiones para los datos y el ajuste del cifrado. Es
posible que también deba reorganizar los datos,
deduplicarlos, hacer coincidir los registros vinculados y
auditar los datos a lo largo del tiempo.

Data scientists spend 60% of their time cleaning and


organizing data and 19% collecting data sets.

34
Preparacion de Data Lakes

AWS Lake Formation facilita la ingesta, limpieza, catalogación,


transformación y protección de sus datos y los pone a disposición
AVANZADO para el análisis y el aprendizaje automático. Lake Formation le
proporciona una consola central donde puede descubrir orígenes de
datos, configurar trabajos de transformación para mover datos a un
lago de datos de Amazon S3, eliminar duplicados y registros
coincidentes, catalogar datos para el acceso mediante herramientas
analíticas, configurar políticas de seguridad y acceso a datos, y
auditar y controlar el acceso desde los servicios de análisis y
aprendizaje automático de AWS.

Lake Formation configura automáticamente los servicios de AWS


subyacentes para garantizar el cumplimiento de las políticas
definidas. Si ha configurado trabajos de transformación que abarcan
los servicios de AWS, Lake Formation configura los flujos, centraliza
su orquestación y le permite supervisar la ejecución de los trabajos.

35
DataWareHouse
Un almacén de datos es un repositorio central de datos
estructurados de muchas fuentes de datos. Estos datos
AVANZADO se transforman, agregan y preparan para informes y
análisis comerciales.

36
DataWareHouse

AVANZADO Un almacén de datos es un repositorio central de información procedente de una o más fuentes de
datos. Los datos fluyen a un almacén de datos desde sistemas transaccionales, bases de datos
relacionales y otras fuentes. Estas fuentes de datos pueden incluir datos estructurados,
semiestructurados y no estructurados. Estas fuentes de datos se transforman en datos
estructurados antes de almacenarse en el almacén de datos.

Los datos se almacenan dentro del almacén de datos mediante un esquema. Un esquema define
cómo se almacenan los datos en tablas, columnas y filas. El esquema impone restricciones en los
datos para garantizar la integridad de los datos. El proceso de transformación a menudo implica los
pasos necesarios para que los datos de origen se ajusten al esquema. Después de la primera
ingesta exitosa de datos en el almacén de datos, el proceso de ingestión y transformación de los
datos puede continuar a una cadencia regular.

Los analistas de negocios, científicos de datos y tomadores de decisiones acceden a los datos a
través de herramientas de inteligencia de negocios (BI), clientes SQL y otros análisis ...

37
DataMarts
Los almacenes de datos pueden ser masivos. Analizar estos enormes almacenes de datos puede
ser confuso. Muchas organizaciones necesitan una forma de limitar las tablas a aquellas que son
AVANZADO más relevantes para el análisis que los usuarios realizarán.

Un subconjunto de datos de un almacén de datos se denomina data mart. Los data marts solo se
centran en un tema o área funcional. Un almacén puede contener todas las fuentes relevantes
para una empresa, pero un data mart puede almacenar solo las fuentes de un solo departamento.
Debido a que los data marts son generalmente una copia de los datos ya contenidos en un
almacén de datos, a menudo son rápidos y fáciles de implementar.

38
Traditional Datawarehouse & RedShift

AVANZADO

39
Desde el DW al DL: Analizando un DataWareHouse
Para que el análisis sea más efectivo, debe realizarse
sobre los datos que se han procesado y limpiado. Esto a
menudo significa implementar una operación ETL para
AVANZADO recopilar, limpiar y transformar los datos. Estos datos se
colocan en un almacén de datos. Es muy común que los
datos de muchas partes diferentes de la organización se
combinen en un solo almacén de datos. Amazon
Redshift es una solución de almacenamiento de datos
especialmente diseñada para cargas de trabajo de todos
los tamaños. Amazon Redshift Spectrum incluso
proporciona la capacidad de consultar datos alojados en
un lago de datos de Amazon S3.

40
Desde el DW al DL: Analizando un DataWareHouse
Los lagos de datos proporcionan a los clientes un medio para incluir datos no
estructurados y semiestructurados en sus análisis. Las consultas analíticas se
pueden ejecutar sobre datos catalogados dentro de un lago de datos. Esto amplía
el alcance de la analítica más allá de los confines de un único almacén de datos.
AVANZADO
Las empresas pueden almacenar de forma segura los datos procedentes de
aplicaciones y dispositivos en su formato nativo, con alta disponibilidad, durabilidad,
a bajo costo y a cualquier escala.

Las empresas pueden acceder y analizar fácilmente los datos de diversas maneras
utilizando las herramientas y marcos de su elección de una manera rentable y de
alto rendimiento sin tener que mover grandes cantidades de datos entre los
sistemas de almacenamiento y análisis.

41
Desde el DW al DL: DL & Analytics
AWS proporciona una cartera completa de servicios que
permiten a los clientes crear sus lagos de datos en la
nube y analizar todos sus datos con el conjunto más
AVANZADO
amplio de enfoques analíticos, incluido el aprendizaje
automático.

Como resultado, hay más organizaciones que ejecutan


sus lagos de datos y análisis en AWS que en cualquier
otro lugar.

42
AVANZADO

Data storage on a BIG scale


Hemos analizado varias recomendaciones para almacenar datos:
• Al almacenar objetos o archivos individuales, recomendamos Amazon S3.
• Al almacenar volúmenes masivos de datos, tanto semiestructurados como no
estructurados, se recomienda crear un lago de datos en Amazon S3.
• Al almacenar cantidades masivas de datos estructurados para análisis
complejos, se recomienda almacenar los datos en Amazon Redshift.
43
Cuando muchas personas piensan en trabajar con un volumen masivo de datos de rápido
movimiento, lo primero que viene a la mente es Hadoop. Dentro de AWS, los marcos de Hadoop
se implementan mediante Amazon EMR y AWS Glue. Estos servicios implementan el marco de
Hadoop para ingerir, transformar, analizar y mover resultados a almacenes de datos analíticos.
Apache Hadoop
AVANZADO

Hadoop utiliza una arquitectura de


procesamiento distribuido, en la que
una tarea se asigna a un clúster de
servidores básicos para su
procesamiento. Cada pieza de trabajo
distribuida a los servidores de clúster se
puede ejecutar o volver a ejecutar en
cualquiera de los servidores. Los
servidores de clúster utilizan con
frecuencia el sistema de archivos
distribuido de Hadoop (HDFS) para
almacenar datos localmente para su
procesamiento. Los resultados del cálculo
realizado por esos servidores se reducen
a un solo conjunto de salida. Un nodo,
designado como nodo maestro, controla
la distribución de tareas y puede manejar
automáticamente los errores del servidor.
44
Beneficios de utilizar Apache Hadoop (1/4)

Hadoop facilita la navegación de datos, el descubrimiento


AVANZADO
y el análisis de datos de una sola vez. Con Hadoop,
puede compensar los sucesos inesperados analizando
grandes cantidades de datos rápidamente para formar
una respuesta.

45
Beneficios de utilizar Apache Hadoop (2/4)
A diferencia de los sistemas de bases de datos tradicionales, Hadoop puede
procesar datos estructurados, semiestructurados o no estructurados. Esto
incluye prácticamente cualquier formato de datos disponible actualmente.
AVANZADO
Además de manejar de forma nativa muchos tipos de datos (como XML,
CSV, texto, archivos de registro, objetos, SQL, JSON y binarios), puede usar
Haddop para transformar datos en formatos que permitan una mejor
integración en sus conjuntos de datos existentes. Además, puede almacenar
datos con o sin un esquema y realizar operaciones ETL a gran escala para
transformar sus datos.

46
Beneficios de utilizar Apache Hadoop (3/4)
Debido a que Hadoop es de código abierto, hay varios proyectos de
ecosistema disponibles para ayudarlo a analizar los múltiples tipos de
datos que Hadoop puede procesar y analizar.
AVANZADO
Estos proyectos le brindan una gran flexibilidad cuando desarrolla
soluciones de análisis de datos. Los marcos de programación de
Hadoop (como Hive y Pig) pueden admitir casi cualquier caso de uso
de análisis de datos para sus aplicaciones.

47
Beneficios de utilizar Apache Hadoop (4/4)
Debido a que Hadoop es de código abierto, hay varios
proyectos de ecosistema disponibles para ayudarlo a
AVANZADO analizar los múltiples tipos de datos que Hadoop puede
procesar y analizar. Estos proyectos le brindan una gran
flexibilidad cuando desarrolla soluciones de análisis de
datos. Los marcos de programación de Hadoop (como
Hive y Pig) pueden admitir casi cualquier caso de uso de
análisis de datos para sus aplicaciones.

48
Implementación de Hadoop con Amazon EMR
AVANZADO
Amazon EMR es el servicio de AWS que implementa los marcos de Hadoop. ¡El servicio ingerirá
datos de casi cualquier tipo de fuente de datos a casi cualquier velocidad! Amazon EMR tiene la
capacidad de implementar dos sistemas de archivos diferentes: HDFS o Elastic MapReduce File
System (EMRFS). Un sistema de archivos es un conjunto de reglas organizativas que rigen cómo
se almacenan los archivos.

HDFS

Para manejar volúmenes masivos de datos rápidamente, el sistema de procesamiento requería una
forma de distribuir la carga de archivos de lectura y escritura en decenas o incluso cientos de
servidores de alta potencia. HDFS es un almacenamiento distribuido que permite leer y escribir
archivos en clústeres de servidores en paralelo. Esto reduce drásticamente la duración total de
todas y cada una de las operaciones. Es útil comprender el funcionamiento interno de un clúster
HDFS. Un clúster de HDFS consta principalmente de un NameNode, que administra los metadatos
del sistema de archivos, y DataNodes, que almacena los datos reales.

49
Componentes estructurales de HDFS (1/6)

AVANZADO

50
Componentes estructurales de HDFS (2/6)

AVANZADO

51
Componentes estructurales de HDFS (3/6)

AVANZADO

52
Componentes estructurales de HDFS (4/6)

AVANZADO

53
Componentes estructurales de HDFS (5/6)

AVANZADO

54
Componentes estructurales de HDFS (6/6)

AVANZADO

55
AVANZADO

Lab
Consumer Cluster for Kinesis
56
Vision General

AVANZADO

57
Vision General – Linea consume y almacenamiento

AVANZADO

58
Creacion de Cluster en AWS EMR

AVANZADO

• Cluster por defecto


• Opciones avanzadas: Hadoop, agregar Spark
• Revisar logging
• Dejar JupyterHub, JupyterEnterpriseGateway

59
import sys
from pyspark import SparkContext
from pyspark.streaming import StreamingContext
from pyspark.streaming.kinesis import KinesisUtils,
InitialPositionInStream
Ejecutar trabajo en Cluster de Spark
AVANZADO Demo-spark1.py if __name__ == "__main__":
if len(sys.argv) != 5:
print("Usage: demo-spark.py <app-name>
<stream-name> <endpoint-url> <region-name>",
file=sys.stderr)
sys.exit(-1)
sc = SparkContext(appName="Demo-Spark")
ssc = StreamingContext(sc, 1) appName,
streamName, endpointUrl, regionName = sys.argv[1:]
lines = KinesisUtils.createStream( ssc,
appName, streamName, endpointUrl, regionName,
InitialPositionInStream.LATEST, 2) counts =
lines.flatMap(lambda line: line.split(" ")) \
.map(lambda word: (word, 1)) \
.reduceByKey(lambda a, b: a+b)

counts.pprint()
ssc.start()
ssc.awaitTermination()

60
Ejecutar JOB en SPARK

AVANZADO

• Demo-spark1.py <app-name> <stream-name> <endpoint-url> <region-name>

• <app-name> is the name of the consumer app, used to track the read data in DynamoDB
• <stream-name> name of the Kinesis stream (i.e. mySparkStream)
• <endpoint-url> endpoint of the Kinesis service (e.g. https://kinesis.us-east-
1.amazonaws.com)
• <region-name> region name of the Kinesis endpoint (e.g. us-east-1)

61
AVANZADO

AVANZADO
GRACIAS
SESIÓN N° 6: Data Analytics – Parte 2
62

También podría gustarte