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

Customer Journey

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Customer Journey

Avatar for Burak IŞIKLI

Burak IŞIKLI

December 22, 2014

More Decks by Burak IŞIKLI

Other Decks in Technology

Transcript

  1. Hello… Burak IŞIKLI MSc (Computer Science, 2014), Gebze Technical University

    Developer, BIS, Turkcell Technology since 2009 burak.isikli at {gmail.com}, {turkcell.com.tr} http://tr.linkedin.com/in/burakkk @burakisikli burakisikli.wordpress.com
  2. Customer Journey • Use of products, services, and mobile applications

    • Receiving advertisements • Contacting call centers • Visiting retail stores and Web pages
  3. Requirements-1  Automatizing the extraction and loading layer  Depedency

    and impact analysis  Create an external Hive table from extracted table  Parallel extraction via SQL query
  4. Speed May 2014 July 2014 Nov. 2014 1 TB 1.5

    TB 2 TB The amount of data to be processed is rapidly increasing. Data Time
  5. Requirements-1  Automatizing the extraction and loading layer  Depedency

    and impact analysis  Create an external Hive table from extracted table  Parallel extraction via SQL query X No Hcatalog X No external table support on Sqoop X No parallel extraction via SQL query
  6. Tuna  Automatizing the extraction and loading layer  Depedency

    and impact analysis  Create an external Hive table  Parallel extraction via SQL query TUNA
  7. Real World Use Case: Dependency • Which file is the

    table X loading from?  SVN  Sqoop
  8. Real World Use Case: Dependency • Which file is the

    table X loading from?  SVN  Sqoop What about you?
  9. Real World Use Case: Dependency • Which file is the

    table X loading from?  Unix commands(locate, find)  No hcatalog..etc
  10. Real World Use Case: Dependency • Which file is the

    table X loading from?  Solution: Tuna
  11. Tuna Flow 1. Get the metadata 2. Validate the data

    and if necessary change it 3. Create and execute the sqoop query 4. Create and execute the hcatalog query
  12. Tuna Features • Independent of database type (Oracle, Teradata...etc) 

    Store source on a different table with properties
  13. Tuna Features • Depedency and impact analysis  Using RDBMS

    tables for metadata management  Using GUI
  14. Tuna Features • Create an external Hive table  Getting

    metadata from source RDBMS table and map to Hive table  Create a view when source query is given.  No Hcatalog support for external table
  15. Tuna Features • Parallel extraction via SQL query  Create

    a temporary table using the source query  If it’s not allowed, extract serially
  16. Tuna Features • Delta extraction  Look up the maximum

    delta value  Extract using that value  Find out and store the new maximum delta value
  17. Dolphin Features • Validate a hive query Possible solutions: 

    SQL parser such as ANTLR..etc.  Hive command line like EXPLAIN
  18. Dolphin Features Validate a hive query Possible solutions: • SQL

    parser such as ANTLR... etc.  Short execution time X Long development time • Hive command line like EXPLAIN  Easy to understand&short development time X Longer execution time
  19. Open source • To be released soon on Github repository

    • Check out our github repository github.com/Turkcell github.com/Turkcell/Shrimp -> Our pig library • If you like this presentation, vote on at Hadoop Summit 2015 Europe