Professional Documents
Culture Documents
Parte 3 (I)
Integrao ao nvel dos Dados Instituto Politcnico do Cvado do Ave
INF 2010/11
lufer
ISI
ISI
Front-Ends
Regras
Dados
ISI
ISI
Load Extract
1
INF 2010/11
lufer
Transform
2
3
ISI
ISI
Aces
Extract: tudo ou parte Transform: mltiplas
INF 2010/11
lufer
ISI
ISI
Transformao:
Normalizao Eliminao Correco Pesquisa ---------------------- seleco traduo ordenao codificao clculo agregao separao etc.
5
INF 2010/11
lufer
ISI
ISI
ETL: Ferramentas
(ER) Expresses Regulares Ling. Script (perl, python, Javascript, etc.) Ling. Convenc. (C#, Java, etc.) Tools:
Testadores grep, sed, etc. IDE (Kettle - http://kettle.pentaho.com/) Microsoft SSIS (http://msdn.microsoft.com/en-us/library/ms141026.aspx)
INF 2010/11
lufer
ISI
ISI
Perl
PERL - Practical Extraction and Report Language Referncias
Perl Cookbook http://www.perltutorial.org/ http://www.tizag.com/perlT/
Guio:
INF 2010/11
lufer
ISI
ISI
Perl
$x @x %x # Operadores: - Variveis literais atipadas! ( not strings, inteiros, etc.) - Array - Hash - comentrios - equivalentes a C#,/JAVA
++, --, !=, &&, ||, /,%, +, *, -, >, <, >=, <=, =, ==, eq, cmp, eq, cmp,
Controlo:
INF 2010/11
lufer
- equivalentes a C#/JAVA
Executar:
perl file.pl
8
ISI
ISI
Perl
Variveis
$x=2*$y; print (X= $x\n); $x *= 2; $y = $x++; for($i=0; $i<=$#array;$i++){...}
INF 2010/11
lufer
ISI
ISI
Perl
Estruturas de controlo
#if(cond) aco1 else aco2 if ($x > 10) { print "$x maior que10!"; } else { print "$x mais pequeno que10!"; }
INF 2010/11
lufer
10
ISI
ISI
Perl
Estruturas de controlo
#foreach $x (array_valores){} @myClubes = (BENFICA', Portinho', Braguinha'); foreach (@myClubes) { print $_; } #while (exp) {} $count = 10; while ($count >= 1) { print "$count "; $count--; }
11
INF 2010/11
lufer
ISI
ISI
Perl
Estruturas de controlo
#do {} while (exp); $count = 10; do { print "$count "; $count--; } while ($count >= 1); #do {} until (exp); do{ $x++; } until($x<20);
12
INF 2010/11
lufer
ISI
ISI
Perl
Estruturas de controlo
#while(condition){ #statements;} $count = 0; while($count < 5){ print "$count\n"; $count++; } #for( ; ; ;)
INF 2010/11
lufer
ISI
ISI
Perl
Arrays
@valores = (); @letras= (a..z); $valores[2]++; @aux = @letras[1,7,12]; for($i=0; $i<=$#valores;$i++){ print(valores[$i]=$valores[$i]\n;
INF 2010/11
lufer
#declarao/inicializao
14
ISI
ISI
Perl
Arrays
$i=0; while($i<$#array){ print "\$array[$i] = $array[$i]\n"; $i++; } push (@array,"Novo"); pop(@array); sort (@array)
INF 2010/11
lufer
#adicionar mais um elemento #remove ltima posio do array #ordena array #tamanho do array #?
15
$#array ($a,$b,$c)=(a..z)[2,7,12];
ISI
ISI
Perl
HASH
%valores = (); #declarao/inicializao
16
ISI
ISI
Perl
Funes
#invocao show_nl ("Benfica"); show_nl ((1..9)); #definio sub show_nl{ print "@_\n"; }
INF 2010/11
lufer
17
ISI
ISI
Perl
Funes
#invocao max (2,3); #definio sub max{ ($a,$b)=@_; print "Argumentos=".@_."\n"; print (($a>$b) ? $a : $b);
INF 2010/11
lufer
18
ISI
ISI
Perl
Ficheiros
#$f=<> $f = "exe6.pl"; open(f); @array = <f>; close(f); foreach (@array) { print();
INF 2010/11
lufer
19
ISI
ISI
Perl
Ficheiros
#$f=<> opendir(DIR, "."); @files = sort(grep(/pl$/, readdir(DIR))); closedir(DIR); foreach (@files) { print("$_\n") unless -d; }
INF 2010/11
lufer
20
ISI
ISI
Perl
Ficheiros
#Percorre ficheiro para leitura (I)
INF 2010/11
lufer
21
ISI
ISI
Perl
Ficheiros
#Criar e escrever num ficheiro
INF 2010/11
lufer
22
ISI
ISI
Perl
Expresses Regulares
INF 2010/11
lufer
23