Presentación de HDInsight donde la nube y Big Data se encuentran. HDInsight es basado en Hadoop para proveer capacidades de almacenamiento y análisis de grandes volúmenes de datos en la nube (Azure)
4. Hadoop
• Framework
• Procesamiento distribuido
• Modelo de programación simple
• Diseñado para escalabilidad
• Cada Nodo ofrece computación y
almacenamiento
• Diseñada para ser tolerante a fallos
6. Esquema de Datos Tecnología de Consumo
Relacionales SQL
No relacionales NoSql (Not Only SQL)
Hadoop MapReduce
Consumo de información
7. MapReduce
• Consumo de Datos mediante trabajos
(normalmente Java)
• Alta Flexibilidad – Alta complejidad
• Ha aumentado su adopción pero como DW
• Opciones
• Hive – query en MapReduce
8. Distribuido en el clúster
• Los datos y el procesamiento se hospeda en
cada máquina
• Agrega redundancia y tolerancia a fallos
• El procesamiento ocurre localmente
10. HDFS
• Replica los datos en otros nodos (128M)
• NameNode: Dónde están los datos
• DataNodes: Almacenamiento de la
información
• Cada máquina: más procesamiento, más
almacenamiento
14. HIVE
• Consultas en paralelo usando MapReduce
• Lenguaje parecido a SQL – HiveQL
• Ideal para procesar grandes volúmenes de datos
inmutables
• No se recomienda para almacenamiento transaccional
• Optimizado para
• Escalabilidad
• Extensibilidad
• Tolerancia a Fallos
• No se considera mucho la latencia
17. • Alternativa para escribir MapReduce
• Pasos
• Carga: lee la información a usar
• Transformación: Manipulación de los datos
• Volcar o almacenar: Salida a pantalla o a almacenamiento
PIG
Entrar al portalhttp://www.azure.com/#crearcuenta de almacenamiento:azurebootcampmed#CrearHDInsight 4 Nodos: azurebootcampmed
http://www.windowsazure.com/en-us/documentation/articles/hdinsight-get-started/#Conectarse a la cuentaAdd-AzureAccount#Nombre de la suscripciónGet-AzureSubscription#Establecer variables base $subscriptionName = "Visual Studio Ultimate with MSDN" $clusterName = "azurebootcamp20140329"# Definición del job MapReduce$wordCountJobDefinition = New-AzureHDInsightMapReduceJobDefinition -JarFile "wasb:///example/jars/hadoop-examples.jar" -ClassName "wordcount" -Arguments "wasb:///example/data/gutenberg/davinci.txt", "wasb:///example/data/WordCountOutput"# Enviar el trabajoSelect-AzureSubscription $subscriptionName$wordCountJob = Start-AzureHDInsightJob -Cluster $clusterName -JobDefinition $wordCountJobDefinition# Revisarsi el trabajo ha sidofinalizadoWait-AzureHDInsightJob -Job $wordCountJob -WaitTimeoutInSeconds 3600 # Obtener la salida del trabajoGet-AzureHDInsightJobOutput -Cluster $clusterName -JobId $wordCountJob.JobId -StandardError
#Creardirectoriod:mkdir \PruebasAzurecd \PruebasAzure#Establecerlas variables para los siguientescomandos$subscriptionName = "Visual Studio Ultimate with MSDN" $storageAccountName = "azurebootcamp20140329"$containerName = "azurebootcamp20140329"# Establece el objeto de contexto de la cuentadealmacenamiento (Storage Account)Select-AzureSubscription $subscriptionName$storageAccountKey = Get-AzureStorageKey $storageAccountName | %{ $_.Primary }$storageContext = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey# Descarga el resultado del Job a la estación de trabajoGet-AzureStorageBlobContent -Container $ContainerName -Blob example/data/WordCountOutput/part-r-00000 -Context $storageContext -Force# Visualizacion de Resultados (usandofindstr para laspalabras q tiene "there")cat ./example/data/WordCountOutput/part-r-00000 | findstr "there"
#BajarPowerQuery#abrir Excel#Conectar a Otrasfuentes#Pegar en addres: azurebootcamp20140329#En el portal: Administrar claves de acceso#Copiar clave deaccesoprimaria#Seleccionarsegundo item#Buscar part-r-00000
#AgregarcuentaAdd-AzureAccount#Configuración Variables$subscriptionName = "Visual Studio Ultimate with MSDN" $storageAccountName = "azurebootcamp20140329"$containerName = "azurebootcamp20140329"$clusterName = "azurebootcamp20140329"# HiveQL# TablaInterna$queryString = "DROP TABLE log4jLogs;" + "CREATE TABLE log4jLogs(t1 string, t2 string, t3 string, t4 string, t5 string, t6 string, t7 string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ';" + "LOAD DATA INPATH 'wasb://$containerName@$storageAccountName.blob.core.windows.net/example/data/sample.log' OVERWRITE INTO TABLE log4jLogs;" + "SELECT t4 AS sev, COUNT(*) AS cnt FROM log4jLogs WHERE t4 = '[ERROR]' GROUP BY t4;"# Crear Job Hive$hiveJobDefinition = New-AzureHDInsightHiveJobDefinition -Query $queryString# Submit the job to the cluster Select-AzureSubscription $subscriptionName$hiveJob = Start-AzureHDInsightJob -Cluster $clusterName -JobDefinition $hiveJobDefinition# Wait for the Hive job to completeWait-AzureHDInsightJob -Job $hiveJob -WaitTimeoutInSeconds 3600# Print the standard error and the standard output of the Hive job.Get-AzureHDInsightJobOutput -Cluster $clusterName -JobId $hiveJob.JobId -StandardOutput
#Configuración Variables$subscriptionName = "Visual Studio Ultimate with MSDN" $storageAccountName = "azurebootcamp20140329"$containerName = "azurebootcamp20140329"$clusterName = "azurebootcamp20140329"Use-AzureHDInsightCluster $clusterName$response = Invoke-Hive -Query @" SELECT * FROM hivesampletable WHERE devicemake LIKE "HTC%" LIMIT 10; "@Write-Host $response