Your SlideShare is downloading. ×
0
HUG France #1 - 15 Mars 2012                   Cascalog           des MapReduces concisBertrand DECHOUX@BertrandDechoux
Casca... quoi? Map/Reduce : pertinent mais insuffisant Des alternatives : Pig, Hive... et Cascading ! Cascalog : Cascad...
Cascading : les concepts tuple : liste de valeurs nommées tap : source et sink de données     ▶   par défaut : LFS et HF...
Cascading : les opérations        (Cascading 1.2 - User Guide)
Clojure un dialect de Lisp sur la JVM     ▶   environnement connu     ▶   interoperabilité avec Java     ▶   homoiconicit...
Clojure : syntaxe 1/2     (http://lisperati.com/syntax.html)
Clojure : syntaxe 2/2     (http://lisperati.com/syntax.html)
Cascalog : select ... from ... (?<- (stdout) [?person] (person ?person)) (?<- (stdout) [?person ?age] (age ?person ?age)...
Cascalog : select ... from ... where ... (?<- (stdout) [?person ?age]                 (age ?person ?age)                 ...
Cascalog : select ... as ... from ... (?<- (stdout) [?person ?junior]                 (age ?person ?age)                 ...
Cascalog : select count(*) from ... group by ... (?<- (stdout) [?count] (age _ _) (c/count ?count)) (?<- (stdout) [?juni...
Cascalog : select ... from ... join ... (?<- (stdout) [?person ?age ?gender]                 (age ?person ?age)          ...
Cascalog : select ... from ... (select ...) (let [many-follows        (<- [?person] (follows ?person _)                  ...
Cascalog : définir vos fonctions (defn toUpperCase [person] (.toUpperCase person))  (?<- (stdout) [?PERSON]              ...
Plus d’informations? Cascalog  ▶   github  ▶   wiki  ▶   google group               Clojure et cie                     ▶...
#1 HUG France 15 Mars 2012                   Cascalog          Merci pour votre attentionBertrand DECHOUX@BertrandDechoux
Upcoming SlideShare
Loading in...5
×

Cascalog présenté par Bertrand Dechoux

1,510

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,510
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript of "Cascalog présenté par Bertrand Dechoux"

    1. 1. HUG France #1 - 15 Mars 2012 Cascalog des MapReduces concisBertrand DECHOUX@BertrandDechoux
    2. 2. Casca... quoi? Map/Reduce : pertinent mais insuffisant Des alternatives : Pig, Hive... et Cascading ! Cascalog : Cascading + Datalog + Clojure
    3. 3. Cascading : les concepts tuple : liste de valeurs nommées tap : source et sink de données ▶ par défaut : LFS et HFS ▶ par la communauté : Avro, HBase, JDBC, JSON, Kryo, Memcached, Membase, ElasticSearch, SimpleDB, Solr, Thrift... flow : tap(s) source + des opérations + tap(s) sink
    4. 4. Cascading : les opérations (Cascading 1.2 - User Guide)
    5. 5. Clojure un dialect de Lisp sur la JVM ▶ environnement connu ▶ interoperabilité avec Java ▶ homoiconicité ou code-as-data : fait pour les DSLs
    6. 6. Clojure : syntaxe 1/2 (http://lisperati.com/syntax.html)
    7. 7. Clojure : syntaxe 2/2 (http://lisperati.com/syntax.html)
    8. 8. Cascalog : select ... from ... (?<- (stdout) [?person] (person ?person)) (?<- (stdout) [?person ?age] (age ?person ?age)) (?<- (stdout) [?age] (age _ ?age))
    9. 9. Cascalog : select ... from ... where ... (?<- (stdout) [?person ?age] (age ?person ?age) (< ?age 30))
    10. 10. Cascalog : select ... as ... from ... (?<- (stdout) [?person ?junior] (age ?person ?age) (< ?age 30 :> ?junior))
    11. 11. Cascalog : select count(*) from ... group by ... (?<- (stdout) [?count] (age _ _) (c/count ?count)) (?<- (stdout) [?junior ?count] (age _ ?age) (< ?age 30 :> ?junior) (c/count ?count)) disponible : count, sum, min, max
    12. 12. Cascalog : select ... from ... join ... (?<- (stdout) [?person ?age ?gender] (age ?person ?age) (gender ?person ?gender))
    13. 13. Cascalog : select ... from ... (select ...) (let [many-follows (<- [?person] (follows ?person _) (c/count ?count) (> ?count 2))] (?<- (stdout) [?personA ?personB] (many-follows ?personA) (many-follows ?personB) (follows ?personA ?personB)))
    14. 14. Cascalog : définir vos fonctions (defn toUpperCase [person] (.toUpperCase person)) (?<- (stdout) [?PERSON] (person ?person) (toUpperCase ?person :> ?PERSON))
    15. 15. Plus d’informations? Cascalog ▶ github ▶ wiki ▶ google group  Clojure et cie ▶ midje, framework de test ▶ Pallet, DevOps pour la JVM
    16. 16. #1 HUG France 15 Mars 2012 Cascalog Merci pour votre attentionBertrand DECHOUX@BertrandDechoux
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×