Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hadoop at AdRoll

Hadoop at AdRoll

Avatar for Wesley Chow

Wesley Chow

June 11, 2014

Other Decks in Technology

Transcript

  1. Big Data !   50 billion bid requests/day !  

    2 PB total compressed data !   15 TB/day compressed, ~50 TB uncompressed !   2 TB/day per engineer !   2.5 engineers actively managing (including interns)
  2. Batch Layer !   Once a day (high latency) !

      Exactly once semantics (high accuracy)
  3. Speed Layer !   Real-time computation (low latency) !  

    At-least-once semantics (low accuracy)
  4. Serving Layer !   Merge batch results with real-time results

    !   Gets us soft real-time analytics with hard end-of-day numbers !   Directly powers our dashboard, billing, reports, etc.
  5. Example !   Storm sees a stream of events –

    order not guaranteed ! Hadoop sees the same events – order guaranteed !   Disorder leads to different conclusions !   Same conversion attributed to different ads
  6. HBase Column Families ! row_key : column_family : qualifier =>

    value ! Hadoop writes into the “hadoop” column family !   Storm writes into the “storm” column family
  7. HBase Column Families Example: !   20140611_adroll : storm :

    attribution => 8 !   20140611_adroll : hadoop : attribution => 10 When reading: !   “storm” is used when hadoop data is unavailable !   “hadoop” is the source of truth
  8. HBase Bulk Loading ! MapReduce outputs region-aligned HFiles (StoreFiles) !

    HFiles are then ingested by HBase, skipping the WAL !   Minimize latency between HFile generation and load
  9. Extra Benefits ! HFiles are great for keeping a secondary

    cluster up to date !   Cluster in another region !   Hot backup !   On catastrophic failure, just point everything to the secondary
  10. Extra Benefits !   One event (pixel, impression, click, etc.)

    may generate a write into multiple tables !   Fairly easy to generate HFiles for each multiple tables in one pass ! Denormalize aggressively with little cost