Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Olá pessoal, tudo certo?
Um super artigo que vale como Leitura Obrigatória, segue abaixo:
Parsing Log Files with F#, MapReduce and Windows Azure
Ref.: https://msdn.microsoft.com/en-us/magazine/gg983490.aspx
O artigo é do autor Noah Gift da MSDN Magazine, que conseguiu fazer uma bela combinação com os componentes F# Worker Role e o pattern de Map Reduce para a plataforma Windows Azure. Já falamos aqui sobre F#, um tempo atrás.
Para quem não se lembra, o F# é uma das linguagens suportadas no Windows Azure, com templates para Worker Roles disponíveis no Visual Studio com o SDK do Azure, veja:
Ao selecionar uma Worker Role com a linguagem Visual F#, o template básico oferecido aparece abaixo:
1: namespace WorkerRole1
2:
3: open System
4: open System.Collections.Generic
5: open System.Diagnostics
6: open System.Linq
7: open System.Net
8: open System.Threading
9: open Microsoft.WindowsAzure
10: open Microsoft.WindowsAzure.Diagnostics
11: open Microsoft.WindowsAzure.ServiceRuntime
12: open Microsoft.WindowsAzure.StorageClient
13:
14: type WorkerRole() =
15: inherit RoleEntryPoint()
16:
17: // This is a sample worker implementation. Replace with your logic.
18:
19: let log message kind = Trace.WriteLine(message, kind)
20:
21: override wr.Run() =
22:
23: log "WorkerRole1 entry point called" "Information"
24: while(true) do
25: Thread.Sleep(10000)
26: log "Working" "Information"
27:
28: override wr.OnStart() =
29:
30: // Set the maximum number of concurrent connections
31: ServicePointManager.DefaultConnectionLimit <- 12
32:
33: // For information on handling configuration changes
34: // see the MSDN topic at https://go.microsoft.com/fwlink/?LinkId=166357.
35:
36: base.OnStart()
O código acima é do arquivo WorkerRole.fs, do template WorkerRoke1.
Um exemplo clássico para iniciantes em F# são as funções de recursão para o cálculo da Sequência de Fibonacci, aquela que usamos na determinação da “espiral dourada” (Golden spiral), com quadrados de tamanhos 1, 1, 2, 3, 5, 8, 13, 21 e 34, veja:
Bem interessante! Não deixe de conferir o artigo acima sobre Map Reduce e F# no Azure.
Se ficou interessado sobre F#, veja também os links:
F# at Microsoft Research
Ref.: https://research.microsoft.com/en-us/um/cambridge/projects/fsharp/default.aspx
Microsoft F# Developer Center
Ref.: https://msdn.microsoft.com/en-us/fsharp
Por enquanto é só! Até o próximo post :)
Waldemir.
Comments
Anonymous
April 27, 2011
Grande Mestre, seu poder de síntese continua me impressionando. Parabéns. Abraços!Anonymous
April 27, 2011
Mestre Ivan! Obrigado pelo comentário e por aparecer por aqui! Mantenha-se no radar! :) []s Waldemir.