http://hadoop-scr13th.eventbrite.com/
- github repository
- No SpringSource!
- For low latency compared to MapReduce
- Mainly data analytics
- Join and Sort are the bomb!
- Java Frontend and C++ Backend
http://hadoop-scr13th.eventbrite.com/
| import System.Random | |
| ------------------------------------------------------------------------------ | |
| -- RANDOM Stream | |
| ------------------------------------------------------------------------------ | |
| randomX x = randomR (0,x -1) | |
| type RandomF = StdGen -> (Int, StdGen) | |
| ranStImpl :: StdGen -> RandomF -> [Int] |
| {-# LANGUAGE RankNTypes #-} | |
| module Main where | |
| import Control.Monad | |
| import Control.Monad.Identity | |
| import Data.Functor.Compose | |
| natComp :: (Functor m1, Functor m2, Functor m3, Functor m4) => | |
| (forall a.m1 a -> m2 a) -> (forall a.m3 a -> m4 a) | |
| -> (forall a.m3 (m1 a) -> m4 (m2 a)) | |
| s `natComp` t = (fmap s) . t |
| module Main where | |
| import Control.Monad | |
| import Control.Monad.Free | |
| import Prelude hiding (putChar, getChar) | |
| import qualified System.IO as IO | |
| import Test.QuickCheck | |
| ---------------------------------------------------------------- | |
| -- Our DSL |
本文章は,Impala のメモ の TODO のうち,BackEnd の特にクエリの実行部を読み,文章化したものである.
BackEnd(BE) は単体のデーモンとして動作し,FE 側でパースした結果(Job ID/Plan)に基づいて処理を実行する.FE と BE のやりとりには Thrift が用いられている.
|FE| - パース結果(Job ID/実行Planなど) thrift -> |BE|
| import Control.Lens | |
| import Control.Monad | |
| import Control.Monad.State | |
| import Data.List | |
| import qualified Data.Map as M | |
| paint :: M.Map (Int, Int) Char -> (Int, Int) -> Int | |
| paint mm pos = evalState (go pos) mm where | |
| go (i, j) = do | |
| b <- use $ at (i, j) |
| {-# LANGUAGE ExtendedDefaultRules, OverloadedStrings #-} | |
| {-# OPTIONS_GHC -fno-warn-type-defaults #-} | |
| module Main where | |
| import Control.Monad | |
| import qualified Data.List as List | |
| import Data.Monoid | |
| import qualified Data.Text.Lazy as LT | |
| import Filesystem.Path.CurrentOS hiding (fromText, (<.>)) | |
| import Shelly | |
| import System.Environment |
| {-# OPTIONS_GHC -fwarn-incomplete-patterns #-} | |
| module TuringMachine where | |
| import Control.Applicative | |
| import Control.Arrow hiding (left, right) | |
| import Control.Lens hiding (Tape, Zipper, left, right) | |
| import Data.List.Lens | |
| import qualified Data.Map as M | |
| import Data.Maybe | |
| data Instruction s = GoLeft |