Big Data en AWS: solución inteligente para Big Data



Este artículo le ayuda a comprender cómo AWS maneja inteligentemente Big Data. También muestra cómo AWS puede resolver los desafíos de Big Data con facilidad.

La idea de Big Data simplemente no es nueva, está en todas partes. El efecto de Big Data está en todas partes, desde los negocios hasta la ciencia, desde el gobierno hasta las artes, etc. No hay mejor compañero que para procesar y analizar Big Data. En este artículo, voy a mostrar cómo AWS aborda los desafíos de Big Data y los consejos que voy a cubrir son los siguientes:

¿Qué es Big Data?

características de big data





Puede considerar Big Data como activos de información de gran volumen, alta velocidad y / o gran variedad que exigen formas rentables e innovadoras de procesamiento de información que permitan una mejor comprensión, toma de decisiones y automatización de procesos.

Big Data se compone de 5 V importantes que definen las características de Big Data. Analicemos estos antes de pasar a AWS.



¿Qué es AWS?

se compone de muchos productos y servicios de computación en la nube diferentes. La altamente rentable división de Amazon proporciona servidores, almacenamiento, redes, computación remota, correo electrónico, desarrollo móvil junto con seguridad. Además. AWS consta de dos productos principales: EC2, el servicio de máquina virtual de Amazon, y S3, un sistema de almacenamiento de Amazon. Es tan grande y está tan presente en el mundo de la informática que ahora es al menos 10 veces el tamaño de su competidor más cercano y alberga sitios web populares como Netflix e Instagram.

.

cómo usar el iterador en java

AWS se divide en 12 regiones globales en todo el mundo, cada una de las cuales tiene varias zonas de disponibilidad en las que se encuentran sus servidores.Estas regiones atendidas se dividen para permitir a los usuarios establecer límites geográficos en sus servicios, pero también para brindar seguridad al diversificar las ubicaciones físicas en las que se almacenan los datos.



¿Por qué Big Data en AWS?

Científicos, desarrolladores y otros entusiastas de la tecnología de muchos dominios diferentes están aprovechando AWS para realizar análisis de macrodatos y enfrentar los desafíos críticos de las crecientes V de la información digital. AWS le ofrece una cartera de servicios de computación en la nube para ayudar a administrar big data al reducir significativamente los costos, escalar para satisfacer la demanda y aumentar la velocidad de la innovación.

Amazon Web Services proporciona una cartera totalmente integrada de los servicios de computación en la nube. Además, le ayuda a crear, proteger e implementar sus aplicaciones de big data. Además, con AWS, no necesita hardware para adquirir ni infraestructura para mantener y escalar. Debido a esto, puede enfocar sus recursos en descubrir nuevos conocimientos.Dado que constantemente se agregan nuevas funciones, siempre podrá aprovechar las últimas tecnologías sin tener que hacer compromisos de inversión a largo plazo.

¿Cómo AWS puede resolver los desafíos de Big Data?

Soluciones de AWS para Big Data

AWS tiene numerosas soluciones para todos los propósitos de desarrollo e implementación. Además, en el campo de la ciencia de datos y Big Data, AWS ha presentado desarrollos recientes en diferentes aspectos del manejo de Big Data. Antes de pasar a las herramientas, comprendamos los diferentes aspectos de Big Data para los que AWS puede ofrecer soluciones.

  1. Ingestión de datos
    La recopilación de datos sin procesar (transacciones, registros, dispositivos móviles y más) es el primer desafío al que se enfrentan muchas organizaciones cuando se trata de big data. Una buena plataforma de big data facilita este paso, lo que permite a los desarrolladores ingerir una amplia variedad de datos, desde estructurados a no estructurados, a cualquier velocidad, desde tiempo real hasta lotes.

  2. Almacenamiento de datos
    Cualquier plataforma de big data necesita un repositorio seguro, escalable y duradero para almacenar datos antes o incluso después de las tareas de procesamiento. Dependiendo de sus requisitos específicos, es posible que también necesite almacenes temporales para datos en tránsito.

  3. Procesamiento de datos
    Este es el paso en el que la transformación de datos ocurre desde su estado sin procesar a un formato consumible, generalmente mediante la clasificación, agregación, unión e incluso la realización de funciones y algoritmos más avanzados. Los conjuntos de datos resultantes se almacenan para su posterior procesamiento o se ponen a disposición para el consumo a través de herramientas de visualización de datos e inteligencia empresarial.

  4. Visualización

    Big Data se trata de obtener información valiosa y procesable de sus activos de datos. Idealmente, los datos están disponibles para las partes interesadas a través de inteligencia empresarial de autoservicio y herramientas ágiles de visualización de datos que permiten una exploración rápida y sencilla de conjuntos de datos.

Herramientas de AWS para Big Data

En las secciones anteriores, analizamos los campos de Big Data donde AWS puede brindar soluciones. Además, AWS tiene múltiples herramientas y servicios en su arsenal para permitir a los clientes las capacidades de Big Data.

Veamos las diversas soluciones proporcionadas por AWS para manejar las diferentes etapas involucradas en el manejo de Big Data

Ingestión

  1. Kinesis

    Amazon Kinesis Firehose es un servicio totalmente administrado para entregar datos de transmisión en tiempo real directamente a Amazon S3. Kinesis Firehose escala automáticamente para igualar el volumen y el rendimiento de los datos de transmisión y no requiere una administración continua. Puede configurar Kinesis Firehose para transformar los datos de transmisión antes de almacenarlos en Amazon S3.

  2. Bola de nieve
    Puedes usar AWS Snowball para migrar datos masivos de forma segura y eficiente desde plataformas de almacenamiento locales y clústeres de Hadoop a buckets S3. Después de crear un trabajo en la Consola de administración de AWS, automáticamente obtiene un dispositivo Snowball. Después de que llegue un Snowball, conéctelo a su red local, instale el cliente Snowball en su fuente de datos local y luego use el cliente Snowball para seleccionar y transferir los directorios de archivos al dispositivo Snowball.

Almacenamiento

  1. Amazon S3

Amazon S3 es un almacenamiento de objetos seguro, altamente escalable y duradero con una latencia de milisegundos para el acceso a los datos. S3 puede almacenar cualquier tipo de datos desde cualquier lugar: sitios web y aplicaciones móviles, aplicaciones corporativas y datos de sensores o dispositivos de IoT. También puede almacenar y recuperar cualquier cantidad de datos, con una disponibilidad inigualable, y construido desde cero para ofrecer un 99,999999999% (11 nueves) de durabilidad.

2. AWS Glue

Glue es un servicio completamente administrado que proporciona un catálogo de datos para hacer que los datos en el lago de datos sean detectables. Además, tiene la capacidad de extraer, transformar y cargar (ETL) para preparar datos para el análisis. Además, el catálogo de datos incorporado es como un almacén de metadatos persistente para todos los activos de datos, lo que hace que todos los datos se puedan buscar y consultar en una sola vista.

Procesando

  1. EMR
    Para el procesamiento de macrodatos con Spark y Hadoop, Amazon EMR proporciona un servicio administrado que hace que procesar grandes cantidades de datos sea fácil, rápido y rentable. Además, EMR admite 19 proyectos de código abierto diferentes, incluidos Hadoop , Chispa - chispear y También viene con Notebooks EMR administrados para ingeniería de datos, desarrollo de ciencia de datos y colaboración.

  2. Redshift
    Para el almacenamiento de datos, Amazonas Redshift brinda la capacidad de ejecutar consultas analíticas complejas en petabytes de datos estructurados. Además, incluye Espectro de corrimiento al rojo que ejecuta consultas SQL directamente contra Exabytes de datos estructurados o no estructurados en S3 sin la necesidad de un movimiento de datos innecesario.

Visualizaciones

  1. Amazon QuickSight

    Para tableros y visualizaciones, Amazon Quicksight le brinda un servicio de análisis empresarial rápido y basado en la nube. Facilita la creación de impresionantes visualizaciones y cuadros de mando enriquecidos. Además, puede acceder a ellos desde cualquier navegador o dispositivo móvil.

Demostración: análisis de datos de especies de plantas y animales en peligro de extinción en Australia.

En esta demostración, usaremos datos de muestra de especies de plantas y animales en peligro de extinción de los estados y territorios de Australia. Aquí crearemos un clúster de EMR y lo configuraremos para ejecutar trabajos de Apache Hive de varios pasos. El clúster EMR tendrá instalado Apache Hive. Este clúster utilizará EMRFS como sistema de archivos, de modo que sus ubicaciones de entrada y salida de datos se asignen a un depósito S3. El clúster también utilizará el mismo depósito de S3 para almacenar archivos de registro.

Ahora crearemos una serie de pasos de EMR en el clúster para procesar un conjunto de datos de muestra. Aquí, cada uno de estos pasos ejecutará un script de Hive y la salida final se guardará en el depósito de S3. Estos pasos generarán registros de MapReduce y eso se debe a que los comandos de Hive se traducen a trabajos de MapReduce en tiempo de ejecución. Los archivos de registro de cada paso se agregan de los contenedores que genera.

Data de muestra

El conjunto de datos de muestra para este caso de uso está disponible públicamente en el Sitio web de datos abiertos del gobierno australiano . Este conjunto de datos trata sobre especies de animales y plantas amenazadas de diferentes estados y territorios de Australia. Se puede ver y descargar una descripción de los campos de este conjunto de datos y el archivo CSV Aquí .

Pasos de procesamiento

El primer paso del trabajo EMR aquí implica la creación de una tabla de Hive como un esquema para el archivo de origen subyacente en S3. En el segundo paso del trabajo, ahora ejecutaremos una consulta exitosa contra los datos. Del mismo modo, ejecutaremos una tercera y cuarta consulta.

Repetiremos estos cuatro pasos varias veces en una hora, simulando ejecuciones sucesivas de un trabajo por lotes de varios pasos. Sin embargo, en un escenario de la vida real, la diferencia de tiempo entre cada ejecución de lote normalmente podría ser mucho mayor. El pequeño intervalo de tiempo entre ejecuciones sucesivas tiene como objetivo acelerar nuestras pruebas.

Carpetas y depósito S3

Antes de crear nuestro clúster de EMR, aquí tuvimos que crear un bucket de S3 para alojar sus archivos. En nuestro ejemplo, llamamos a este depósito 'arvind1-depósito'. Las carpetas de este depósito se muestran a continuación en la Consola de AWS para S3:

c ++ que es un espacio de nombres

  • La carpeta de entrada contiene los datos de muestra

  • La carpeta de scripts contiene los archivos de script de Hive para los pasos del trabajo EMR

  • La carpeta de salida obviamente contendrá la salida del programa Hive

  • El clúster de EMR usa la carpeta de registros para guardar sus archivos de registro.

Scripts de Hive para pasos de trabajo de EMR

1. Este paso de trabajo ejecuta una secuencia de comandos de Hive.para crear una tabla de Hive externa. Esta tabla describe el esquema tabular del archivo de datos CSV subyacente. El guión para esto es el siguiente:

CREAR TABLA EXTERNA `especies_amenazadas` (cadena` nombre científico`, cadena `nombre común`, cadena` nombre científico actual`, cadena `estado amenazado`, cadena` act`, cadena `nsw`, cadena` nt`, `qld` cadena, cadena `sa`, cadena` tas`, cadena `vic`, cadena` wa`, cadena `aci`, cadena` cki`, cadena `ci`, cadena` csi`, cadena `jbt`,` nfi` cadena, cadena `hmi`, cadena` aat`, cadena `cma`,` taxónido de espadín listado` bigint, `taxónido actual de espadín` bigint, cadena de` reino`, cadena de `clase`, cadena de` perfil`, `fecha de extracción` cadena, cadena `nsl name`, cadena` familia`, cadena `género`, cadena` especie`, cadena `rango infraespecífico`, cadena` infraespecies`, cadena `autor de especie`, cadena` autor infraespecie`) FORMATO DE FILA CAMPOS DELIMITADOS TERMINADO POR ',' ALMACENADO COMO INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3: // arvind1-bucket / script /'

2. Este paso de trabajo ejecuta una consulta para calcular las cinco especies en peligro principales en el estado de Nueva Gales del Sur (NSW). El nombre del archivo de consulta de Hive es endangeredSpeciesNSW.q y se muestra a continuación:

SELECCIONE especies, CUENTA (nsw) AS número_de_especies_en peligro de extinción DESDE especies_amenazadas DONDE (nsw = 'Sí' O nsw = 'En peligro') Y 'estado de amenaza' = 'En peligro' GRUPO POR especies QUE TIENEN CUENTA (nsw)> 1 ORDEN POR número_de_especies_en peligro de extinción 5

3.Este paso de trabajo ejecuta una consulta para calcular el número total de especies de plantas en peligro de extinción para cada familia de plantas en Australia. El nombre del archivo de consulta de Hive esendangeredPlantSpecies.qy se muestra a continuación

SELECCIONE familia, CUENTA (especies) COMO número_de_especies_en peligro_de_especies_amenazadas2 DONDE reino = 'Plantae' Y 'estado de amenaza' = 'En peligro' GRUPO POR familia

4. Este paso enumera los nombres científicos de especies animales extintas en el estado de Queensland de Australia. El archivo de script se llama extinctAnimalsQLD.q y se muestra a continuación:

SELECCIONE 'nombre común', 'nombre científico' DE especies_amenazadas DONDE reino = 'Animalia' Y (qld = 'Sí' O qld = 'Extinto') Y 'estado amenazado' = 'Extinto'

Agregación de registros

Aquí también hemos subido un archivo JSON llamado logAggregation.json en la carpeta de scripts del depósito S3. Usamos este archivo para agregar los archivos de registro de YARN. La agregación de registros se configura en el archivo de configuración yarn-site.xml cuando se inicia el clúster. El contenido del archivo logAggregation.json es el siguiente:

[{'Clasificación': 'yarn-site', 'Propiedades': {'yarn.log-aggregation-enable': 'true', 'yarn.log-aggregation.retain-seconds': '-1', 'yarn .nodemanager.remote-app-log-dir ”:“ s3: // arvind1-bucket / logs ”}}]

Después de crear el depósito de S3 y copiar los archivos de script y de datos en sus respectivas carpetas, ahora es el momento de configurar un clúster de EMR. Las siguientes instantáneas describen el proceso a medida que creamos el clúster con la configuración en su mayoría predeterminada.

Configuración del clúster de EMR

En la primera imagen, para configurar el clúster en la consola de AWS, hemos mantenido todas las aplicaciones recomendadas por EMR, incluido Hive. No necesitamos usar AWS Glue para almacenar metadatos de Hive, ni estamos agregando ningún paso de trabajo en este momento. Sin embargo, necesitamos agregar una configuración de software para Hive. Aquí debe observar detenidamente cómo estamos especificando la ruta al archivo JSON de agregación de registros en este campo.

En el siguiente paso, hemos mantenido todas las configuraciones predeterminadas. Por el bien de nuestra prueba, el clúster tendrá un nodo principal y dos nodos centrales. Cada nodo aquí es una instancia m3.xlarge y tiene un volumen raíz de 10 GB. En el siguiente paso, nombraremos el clúster arvind1-cluster y especificaremos la ubicación personalizada de s3 para sus archivos de registro.

Finalmente, especificamos un par de claves EC2 con el propósito de acceder al nodo maestro del clúster. No hay cambios en las funciones de IAM predeterminadas para EMR, el perfil de instancia EC2 y las opciones de escala automática. Además, los nodos principal y principal utilizan grupos de seguridad disponibles de forma predeterminada. Normalmente, esta es una configuración predeterminada para un clúster de EMR. Una vez que todo está listo, el clúster está en estado de 'espera', como se muestra a continuación:

cómo inicializar un objeto en Python

Enviar pasos de trabajo de Hive

Después de esto, debemos permitir el acceso SSH.

  1. Abra la consola de Amazon EMR en https://console.aws.amazon.com/elasticmapreduce/ .
  2. Escoger Clusters .
  3. Elegir el Nombre del clúster.
  4. Debajo Seguridad y acceso elegir el Grupos de seguridad para Master enlace.
  5. Escoger ElasticMapReduce-maestro de la lista.
  6. Escoger Entrante , Editar .
  7. Busque la regla con la siguiente configuración y elija la x icono para eliminarlo:
    • Tipo SSH
    • Puerto 22
    • Fuente Personalizado 0.0.0.0/0
  8. Desplácese hasta el final de la lista de reglas y elija Agregar regla .
  9. Xa Tipo , Seleccione SSH .Esto entra automáticamente TCP para Protocolo y 22 para rango de puertos .
  10. Para fuente, seleccione Mi IP Esto agrega automáticamente la dirección IP de su computadora cliente como la dirección de origen. Alternativamente, puede agregar un rango de Personalizado direcciones IP de cliente de confianza y elija agrega la regla para crear reglas adicionales para otros clientes. En muchos entornos de red, las direcciones IP se asignan de forma dinámica, por lo que es posible que deba editar periódicamente las reglas del grupo de seguridad para actualizar la dirección IP de los clientes de confianza.
  11. Escoger Salvar .
  12. Opcionalmente, elija ElasticMapReduce-esclavo de la lista y repita los pasos anteriores para permitir que el cliente SSH acceda a los nodos centrales y de tareas de los clientes de confianza.

Dado que el clúster de EMR está en funcionamiento, hemos agregado cuatro pasos de trabajo. Estos son los pasos que EMR ejecutaría uno tras otro. La siguiente imagen muestra los pasos de la consola de AWS EMR:

Una vez que agregamos los cuatro pasos, podemos verificar el estado de estos pasos como completado. Incluso si hay algún problema con la ejecución de estos pasos, en tales casos se puede resolver utilizando los archivos de registro de estos pasos.

Así que esto es de mi parte en este artículo sobre Big Data en AWS. Espero que hayas entendido todo lo que te he explicado aquí.

Si consideró relevante este Big Data en AWS, puede consultar el curso en vivo y dirigido por un instructor de Edureka sobre , co-creado por profesionales de la industria.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este Cómo implementar la aplicación web Java en AWS y nos comunicaremos con usted.