SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Hadoop
                                  Asakusa
                                                                                                	

                                                                                     Rev. 1.0


                                                                        2011/7/1

                                             OSS                                                	


110701	
            Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved
Asakusa             	
                   Hadoop
     Hadoop
      →


        

        




           13           100
        



        
 	
              Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
   2
     Hadoop                         BI

           4-5                                  20-30

        

        



        
        



        
                IF
             



        
 	
                   Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
   3
Hadoop                                                           	


              BI


      

      

         MapReduce
      

      

      




	
                    Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
   4
Asakusa                           	
                               Hadoop                                            	
                                                                                       BI/

                                             MonkeyMagic
                                                                             	
          Oozie	


                                                                                       Pig	
 Hive	
MapReduce


      Java

                                                          Core HDFS MapReduce	


 	
             Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
                        5
Hadoop                                                    Asakusa	

       Hadoop          	
                                           Asakusa            	

                                                           DAG


                                                              DSL       Ashigel
                                                             ModelGenarator

    MapReduce                                         

                                                            Ashigel
 

                                                           MonkeMagic


                                                           ThunderGate          MySQL
                                                                                      	
	
               Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
             6
Asakusa                                                                                	
                                                                                                                                  	
                                                                                            	
                  DSL	
     	
              I/F	
                               	




DB                                                                                Ashigel
                             	
                                                             	
                                  ThunderGate	

                                    Importer/                                                                                Asakusa
                                    Exporter/                                         MapReduce                MonkeyMagic
                                    Recoverer	
                                          JOB	
                   JOB    	
                                                                    	
                      	


                                     Model
                                    Generator	

                	
                                       Hadoop                     Hadoop                    MonkeyMagic
                                                          HDFS	
                   MapReduce
                                            	

          MySQL	
                                     Template
                                    Generator                                	
                                    Test Driver	



	
                                           Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
                            7
Asakusa                          	
                                                                   
              ModelGenerator                                             
                
                   Writable      DSL                               
                                                                              ThunderGate
                
              Ashigel                                                              Import/Export
                                                                               
                                                                                   API
                       DSL      MapReduce                                

           

 
              DAG              DSL
                                     DSL
                


                


                
     	
                           Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
     8
Asakusa                                  	
                          Java                          Eclipse/Maven
         MapReduce                                                                         Model Generator
              DSL Domain Specific Language                                       Ashigel Compiler
                     Rumtime Library
                                       ThunderGate                                                           	




     	
                           Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
                   9
ModelGenerator	
     MapReduce

          Java       writable
       

      ModelGenerator
          MySQL   DDL SQL) Table View

          HadoopIO
                     Eclipse                                                    DSL
          Table  Hadoop
          Hadoop   Table

 	
                        Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
   10
Ashigel                        	
         Hadoop                                                                                       DSL
                               	
BatchDSL
                      	
            	
                            	
                            	
                                                                                                                              	




               	
                   	
                            	
                           	
                      	



FlowDSL                                              	
                                                                            DSL
                                                                                                                             	


                          	
                    	
                            	
                           	



OperatorDSL                    Map/Reduce                              	
                                       Map/Reduce
                                                                                                                             	

                    Map                  Reduce                         Map                           Reduce
                          	
                  	
                              	
                           	


     	
                              Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
                                      11
DAG                                     DSL                            	
                                        DSL
              3      DSL
                   BatchDSL
                   FlowDSL
                   OperatorDSL

 
           
                   Replace
                
                
                


 
              TX DSL                                          DB
                
                        MR
                




     	
                           Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
   12
BatchDSL         	
                   BatchDSL
       

       




                                                                                  DSL
                                                                       job
                                                                          	




 	
              Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
         13
FlowDSL                         	
     Flowpart                                 FlowDSL	
      @Override
        protected void describe() {

             //                           	
            Join join = op.join(itemIn, orderIn);

             //                                                                 	
            SetStatus missing = op.setStatus(join.missed, "                               ");
             orderOut.add(missing.out);                                                              Java

                                                                                                     DAG
             //                                      	
            Sum sum = op.sum(join.joined);                                                                  Operator
                                                                                                             Obj
             //                                                                      	
            ToAmount result = op.toAmount(sum.out);
             resultOut.add(result.out);

             //                	
            core.stop(result.original);

        }


 	
                                 Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
                     14
FlowDSL                             	
     Flowpart                                     FlowDSL                                         2	
@Override                                                              Operator      	
  protected void describe() {
     ReNewTxApMachingOperatorFactory f = new ReNewTxApMachingOperatorFactory();
     UpdateTransactionsOperatorFactory f1 = new UpdateTransactionsOperatorFactory();
     CoreOperatorFactory core = new CoreOperatorFactory();

       //   No                    	
                       Ope                                                  edge
      BranchSlipNoWithWithout bra11 = f.branchSlipNoWithWithout(inApMaching);
                            edge
       //   No                                                                                             	
      BranchRecGapAndUnmatch bra12 = f.branchRecGapAndUnmatch(bra11.out2);

       //                	
                                                                              edge
      InitSlipInfo upd11 = f.initSlipInfo(bra12.out1);

       //                 	
      InitBillInfo upd12 = f.initBillInfo(bra12.out1);

       //    No                                                                                                        	
      Confluent<TxApMaching> cfl11 = core.confluent(bra12.out2, upd12.out);
                                                                                                                edge
      //                                                                       	
      GroupSortBranchDeficitSurplusDiv grs11 = f1.groupSortBranchDeficitSurplusDiv(cfl11.out);




 	
                                     Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
                      15
OperatorDSL                                             	
                       DSL
              DAG
              Operator                                          Operator
                                                                                             MapReduce
                 /**
                                               	
                   * @param info               	
                   * @param order       	
                    @return            	
                   /
                  @MasterJoin
                  public abstract JoinOrder join(ItemInfo info, OrderDetail order);
                                                                                                 Asakusa
                  /**
                                                	
                    @param each              	
                    @return          	
                   /
                  @Summarize
                  public abstract SumOrder sum(JoinOrder each);

                /**
                                                    	
                   * @param total          	
                   * @return      	
                   /
                  @Convert
                  public OrderAmount toAmount(SumOrder total) {
                     amount.setAmount(total.getAmount());
                     amount.setOrderId(total.getOrderId());
                     return amount;
     	
           }                                                                                             16
                                               Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved
OperatorDSL                                   	
 public abstract class ExampleOperator {
 /**
                         	
    @param masters                          	
    @param tx                     	
    @return                                               null                            
   /
 @MasterSelection
 public ItemMst selectItemMst(List<ItemMst> masters, HogeTrn
 tx) {
 for (ItemMst mst : masters) {
 if (mst.getStart() <= tx.getDate() &&                                                    
 tx.getDate() <= mst.getEnd()) {
 return mst;                                            	
 }
 }
 return null;
 }                                                                                        
 /**
                                           	
    @param master              	
    @param tx                           	
   /
 @MasterJoinUpdate(selection = "selectItemMst")
 public void updateWithMaster(
                                                                                   	
 @Key(group = "id") ItemMst master,
 @Key(group = "itemId") HogeTrn tx) {
 tx.setPrice(master.getPrice());
 }
 }
	
                                Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
   17
OperatorDSL	
     CoGroup                                               	
	
     Confluent                  	
     Convert                               	
	
     Duplicate                             	
	
                                          	
     GroupSort                                             	
	
     Split                                 	
	


     MasterBranch                                          	
	
     MasterCheck                                           	
	
     MasterJoin                                            	
	
     MasterJoinUpdate                                                      	
	
                    	
     Summarize                                             	
	


     Branch                                	
     Checkpoint
     Empty                                 	
	
     Identity                              	
	
                           DAG                 	
     Logging
     Stop                                  	
	

	
                      Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
                  18
Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
   19
DSL                                                     	
                        Excel
       

       
                                                                                          BatchDSL
                                                                                          FlowDSL
                                                                                          OperatorDSL


                                                                                              JUnit          	




 
           JUnit   	




 	
                      Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
                           20
 

 

         DAG
      
              STS
           

         SPF
              Shortest Path First –



         GRASP
              General Responsibility Assignment Software Principle

 

      
              TX
         Join
                                                 No_SQL
           

	
                                     Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
   21
                                                                     	

                                                                                                                     TRN
                              TRN	

      	
                        TRN                                             TRN
           4        In	
                                                                                                               TRN

      	
                      TRN             9              In	
                            5         In	
               	
                                                             TRN                              TRN

      	
   5        Out	
     TRN
                                                                              TRN                              TRN

      	
                      TRN             4              Out	
                           7          In	
                                                                              TRN                              TRN


                                                                              TRN	
                            TRN
                              TRN


                                                                                                               TRN
                              TRN


                              TRN

                                                                                                 TRN
                              TRN



 	
                         Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
                                 22
                                                               	
4             In	
                                                                       5                  Out	
                               Level-0	

         	
                                          	
                                                                                                    TRN	

         	
                                                                                          TRN


         	
                    Level-1	
                                                            TRN

         	
                                                                                                    TRN
                          	


                                                                                                    TRN

                         Level-2	



                                                                                               	



                     Level-3	


                                                                                             4-5       	


    	
                  Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
                              23
     Asakusa                                          	
                        MapReduce

                                                                                                JarFile
                                              HadoopJob




           	
   Job                                TRX                                Hadoop
                job                	
                                     	
          IO   	
 	
             Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
                            24
     TX
 @JobFlow(name = "stock")
 public class StockJob extends FlowDescription {
 private In<Shipment> shipmentIn;
 private In<Stock> stockIn;
 private Out<Shipment> shipmentOut;
 private Out<Stock> stockOut;
 /**                                                                                              In Out
                	
 * @param shipmentIn                       	
 * @param stockIn                    	
 * @param shipmentOut                         	
 * @param stockOut                      	
  /
 public StockJob(
 @Import(name = "shipment", description = ShipmentFromDb.class)
 In<Shipment> shipmentIn,
 @Import(name = "stock", description = StockFromDb.class)
 In<Stock> stockIn,
 @Export(name = "shipment", description = ShipmentToDb.class)                                      TX
 Out<Shipment> shipmentOut,
 @Export(name = "stock", description = StockToDb.class)
 Out<Stock> stockOut) {
 this.shipmentIn = shipmentIn;
 this.stockIn = stockIn;
 this.shipmentOut = shipmentOut;
 this.stockOut = stockOut;
 }

 	
                              Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
            25
ThunderGate	
 

         RDBMS Hadoop                                                                       DB
              HDFS
               RDBMS MySQL                               Oracle                     RDBMS        	




     	
                 Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
            26
 
                                                   MonkeyMagic
               1. Hadoop
               2.
                    Ruby
          Asakusa                  experimental shell script
            

               OSS
                           job
                                                                              	




 	
                               Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
   27
 
     Ashigel
          –                     MonkeyMagic                          rb                	

# workflow
jobnet("#{BATCH_ID_QUALIFIER}.tutorial", :instance_name => "master", :credential_name => "asakusa") do
    boot_jobs("order")
   # jobflow – order
   jobnet("order", :to => []) do
      auto_sequence
      jobnet("__IMPORT__") do
         boot_jobs("bulkloader")
         jobnet("bulkloader") do
            auto_sequence
            job("bulkloader.asakusa", ""$ASAKUSA_HOME/"bulkloader/bin/importer.sh primary asakusa tutorial order "$($ASAKUSA_HOME/monkeymagic/bin/execution_id.sh)"
        20380101000000 "#{BATCH_ARGUMENTS}"", :instance_name => "asakusa", :credential_name => "asakusa")
         end
      end
      jobnet("__STAGE_GRAPH__") do
         boot_jobs("stage0001")
         # stage - tutorial / order / stage0001
         hadoop_job_run("stage0001", "$ASAKUSA_HOME/monkeymagic/bin/hadoop_job_run.sh com.example.tutorial.batch.tutorial.order.stage0001.StageClient
        "$ASAKUSA_HOME/batchapps/tutorial/lib/jobflow-order.jar" -D "com.asakusafw.executionId=$($ASAKUSA_HOME/monkeymagic/bin/execution_id.sh)" -D
        "com.asakusafw.user=$USER" -D "com.asakusafw.batchArgs=#{BATCH_ARGUMENTS}"", :to => ["stage0002"]) do
            hadoop_job("tutorial.order.stage0001")
         end
         # stage - tutorial / order / stage0002
         hadoop_job_run(“stage0002”, “$ASAKUSA_HOME/monkeymagic/bin/hadoop_job_run.sh                         	




     	
                                               Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 	
                                                      28

Más contenido relacionado

Similar a 110701 asakusa説明資料

OpenStack meetup, March2013 keynote
OpenStack meetup, March2013 keynoteOpenStack meetup, March2013 keynote
OpenStack meetup, March2013 keynote
openstackindia
 
Hadoop in three use cases
Hadoop in three use casesHadoop in three use cases
Hadoop in three use cases
Joey Echeverria
 
New Data Transfer Tools for Hadoop: Sqoop 2
New Data Transfer Tools for Hadoop: Sqoop 2New Data Transfer Tools for Hadoop: Sqoop 2
New Data Transfer Tools for Hadoop: Sqoop 2
DataWorks Summit
 
Greenplum Database on HDFS
Greenplum Database on HDFSGreenplum Database on HDFS
Greenplum Database on HDFS
DataWorks Summit
 

Similar a 110701 asakusa説明資料 (20)

hadoop 101 aug 21 2012 tohug
 hadoop 101 aug 21 2012 tohug hadoop 101 aug 21 2012 tohug
hadoop 101 aug 21 2012 tohug
 
Improving MySQL performance with Hadoop
Improving MySQL performance with HadoopImproving MySQL performance with Hadoop
Improving MySQL performance with Hadoop
 
Cloud computing era
Cloud computing eraCloud computing era
Cloud computing era
 
Impala: Real-time Queries in Hadoop
Impala: Real-time Queries in HadoopImpala: Real-time Queries in Hadoop
Impala: Real-time Queries in Hadoop
 
Hadoop 101
Hadoop 101Hadoop 101
Hadoop 101
 
OpenStack meetup, March2013 keynote
OpenStack meetup, March2013 keynoteOpenStack meetup, March2013 keynote
OpenStack meetup, March2013 keynote
 
Hadoop in three use cases
Hadoop in three use casesHadoop in three use cases
Hadoop in three use cases
 
HDP-1 introduction for HUG France
HDP-1 introduction for HUG FranceHDP-1 introduction for HUG France
HDP-1 introduction for HUG France
 
Zh tw cloud computing era
Zh tw cloud computing eraZh tw cloud computing era
Zh tw cloud computing era
 
hadoop事例紹介
hadoop事例紹介hadoop事例紹介
hadoop事例紹介
 
Big data ppt
Big data pptBig data ppt
Big data ppt
 
10 big data analytics tools to watch out for in 2019
10 big data analytics tools to watch out for in 201910 big data analytics tools to watch out for in 2019
10 big data analytics tools to watch out for in 2019
 
New Data Transfer Tools for Hadoop: Sqoop 2
New Data Transfer Tools for Hadoop: Sqoop 2New Data Transfer Tools for Hadoop: Sqoop 2
New Data Transfer Tools for Hadoop: Sqoop 2
 
Apache Spark Introduction @ University College London
Apache Spark Introduction @ University College LondonApache Spark Introduction @ University College London
Apache Spark Introduction @ University College London
 
Spark forplainoldjavageeks svforum_20140724
Spark forplainoldjavageeks svforum_20140724Spark forplainoldjavageeks svforum_20140724
Spark forplainoldjavageeks svforum_20140724
 
PROSA - Eclipse Is Just What?
PROSA - Eclipse Is Just What?PROSA - Eclipse Is Just What?
PROSA - Eclipse Is Just What?
 
Analytics on Hadoop
Analytics on HadoopAnalytics on Hadoop
Analytics on Hadoop
 
Greenplum Database on HDFS
Greenplum Database on HDFSGreenplum Database on HDFS
Greenplum Database on HDFS
 
Cloudera - Amr Awadallah - Hadoop World 2010
Cloudera - Amr Awadallah - Hadoop World 2010Cloudera - Amr Awadallah - Hadoop World 2010
Cloudera - Amr Awadallah - Hadoop World 2010
 
Big Data Cloud Meetup - Jan 24 2013 - Zettaset
Big Data Cloud Meetup - Jan 24 2013 - ZettasetBig Data Cloud Meetup - Jan 24 2013 - Zettaset
Big Data Cloud Meetup - Jan 24 2013 - Zettaset
 

Más de OSSラボ株式会社

CMDBuildを中心とした運用管理自動化基盤OpenPIEの事例紹介
CMDBuildを中心とした運用管理自動化基盤OpenPIEの事例紹介CMDBuildを中心とした運用管理自動化基盤OpenPIEの事例紹介
CMDBuildを中心とした運用管理自動化基盤OpenPIEの事例紹介
OSSラボ株式会社
 

Más de OSSラボ株式会社 (20)

220523JS7.pdf
220523JS7.pdf220523JS7.pdf
220523JS7.pdf
 
JS7 JobScheduler プレビュー
JS7 JobScheduler プレビューJS7 JobScheduler プレビュー
JS7 JobScheduler プレビュー
 
201023 jobscheduler os_cfall
201023 jobscheduler os_cfall201023 jobscheduler os_cfall
201023 jobscheduler os_cfall
 
ジョブストリーム紹介資料
ジョブストリーム紹介資料ジョブストリーム紹介資料
ジョブストリーム紹介資料
 
191010 opie2
191010 opie2191010 opie2
191010 opie2
 
CMDBuild V.3 update [Japanese]
CMDBuild V.3 update [Japanese]CMDBuild V.3 update [Japanese]
CMDBuild V.3 update [Japanese]
 
180729 jtf open-audit
180729 jtf open-audit180729 jtf open-audit
180729 jtf open-audit
 
170827 jtf garafana
170827 jtf garafana170827 jtf garafana
170827 jtf garafana
 
NMIS overview
NMIS overviewNMIS overview
NMIS overview
 
JobSchedulerアップデート2016
JobSchedulerアップデート2016JobSchedulerアップデート2016
JobSchedulerアップデート2016
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
 
160901 osce2016sre
160901 osce2016sre160901 osce2016sre
160901 osce2016sre
 
160724 jtf2016sre
160724 jtf2016sre160724 jtf2016sre
160724 jtf2016sre
 
オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介
 
Ansible2.0と実用例
Ansible2.0と実用例Ansible2.0と実用例
Ansible2.0と実用例
 
CMDBuildを中心とした運用管理自動化基盤OpenPIEの事例紹介
CMDBuildを中心とした運用管理自動化基盤OpenPIEの事例紹介CMDBuildを中心とした運用管理自動化基盤OpenPIEの事例紹介
CMDBuildを中心とした運用管理自動化基盤OpenPIEの事例紹介
 
「今、ヨーロッパのオープンソースがアツい!」 クラウドの構成管理を自動化する基盤CMDBuild
「今、ヨーロッパのオープンソースがアツい!」クラウドの構成管理を自動化する基盤CMDBuild「今、ヨーロッパのオープンソースがアツい!」クラウドの構成管理を自動化する基盤CMDBuild
「今、ヨーロッパのオープンソースがアツい!」 クラウドの構成管理を自動化する基盤CMDBuild
 
150726cmdbuild jtf2015
150726cmdbuild jtf2015150726cmdbuild jtf2015
150726cmdbuild jtf2015
 
CMDBuild Ready2Use紹介資料
CMDBuild Ready2Use紹介資料CMDBuild Ready2Use紹介資料
CMDBuild Ready2Use紹介資料
 
Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

110701 asakusa説明資料

  • 1. Hadoop Asakusa Rev. 1.0 2011/7/1 OSS 110701 Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved
  • 2. Asakusa   Hadoop   Hadoop →       13 100     Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 2
  • 3.   Hadoop BI   4-5 20-30             IF     Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 3
  • 4. Hadoop BI       MapReduce       Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 4
  • 5. Asakusa   Hadoop BI/ MonkeyMagic Oozie Pig Hive MapReduce Java Core HDFS MapReduce Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 5
  • 6. Hadoop Asakusa Hadoop Asakusa     DAG     DSL Ashigel ModelGenarator   MapReduce     Ashigel       MonkeMagic     ThunderGate MySQL Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 6
  • 7. Asakusa DSL I/F DB Ashigel ThunderGate Importer/ Asakusa Exporter/ MapReduce MonkeyMagic Recoverer JOB JOB Model Generator Hadoop Hadoop MonkeyMagic HDFS MapReduce MySQL Template Generator Test Driver Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 7
  • 8. Asakusa       ModelGenerator       Writable DSL     ThunderGate     Ashigel   Import/Export         API   DSL MapReduce         DAG DSL   DSL       Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 8
  • 9. Asakusa   Java Eclipse/Maven   MapReduce Model Generator   DSL Domain Specific Language Ashigel Compiler   Rumtime Library   ThunderGate Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 9
  • 10. ModelGenerator   MapReduce   Java writable     ModelGenerator   MySQL DDL SQL) Table View   HadoopIO   Eclipse DSL   Table Hadoop   Hadoop Table Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 10
  • 11. Ashigel   Hadoop DSL BatchDSL FlowDSL DSL OperatorDSL Map/Reduce Map/Reduce Map Reduce Map Reduce Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 11
  • 12. DAG DSL   DSL   3 DSL   BatchDSL   FlowDSL   OperatorDSL       Replace           TX DSL DB     MR   Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 12
  • 13. BatchDSL   BatchDSL     DSL job Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 13
  • 14. FlowDSL   Flowpart FlowDSL @Override protected void describe() { // Join join = op.join(itemIn, orderIn); // SetStatus missing = op.setStatus(join.missed, " "); orderOut.add(missing.out); Java DAG // Sum sum = op.sum(join.joined); Operator Obj // ToAmount result = op.toAmount(sum.out); resultOut.add(result.out); // core.stop(result.original); } Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 14
  • 15. FlowDSL   Flowpart FlowDSL 2 @Override Operator protected void describe() { ReNewTxApMachingOperatorFactory f = new ReNewTxApMachingOperatorFactory(); UpdateTransactionsOperatorFactory f1 = new UpdateTransactionsOperatorFactory(); CoreOperatorFactory core = new CoreOperatorFactory(); // No Ope edge BranchSlipNoWithWithout bra11 = f.branchSlipNoWithWithout(inApMaching); edge // No BranchRecGapAndUnmatch bra12 = f.branchRecGapAndUnmatch(bra11.out2); // edge InitSlipInfo upd11 = f.initSlipInfo(bra12.out1); // InitBillInfo upd12 = f.initBillInfo(bra12.out1); // No Confluent<TxApMaching> cfl11 = core.confluent(bra12.out2, upd12.out); edge // GroupSortBranchDeficitSurplusDiv grs11 = f1.groupSortBranchDeficitSurplusDiv(cfl11.out); Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 15
  • 16. OperatorDSL   DSL   DAG   Operator Operator   MapReduce /** * @param info * @param order @return / @MasterJoin public abstract JoinOrder join(ItemInfo info, OrderDetail order); Asakusa /** @param each @return / @Summarize public abstract SumOrder sum(JoinOrder each); /** * @param total * @return / @Convert public OrderAmount toAmount(SumOrder total) { amount.setAmount(total.getAmount()); amount.setOrderId(total.getOrderId()); return amount; } 16 Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved
  • 17. OperatorDSL public abstract class ExampleOperator { /** @param masters @param tx @return null   / @MasterSelection public ItemMst selectItemMst(List<ItemMst> masters, HogeTrn tx) { for (ItemMst mst : masters) { if (mst.getStart() <= tx.getDate() &&   tx.getDate() <= mst.getEnd()) { return mst; } } return null; }   /** @param master @param tx / @MasterJoinUpdate(selection = "selectItemMst") public void updateWithMaster( @Key(group = "id") ItemMst master, @Key(group = "itemId") HogeTrn tx) { tx.setPrice(master.getPrice()); } } Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 17
  • 18. OperatorDSL CoGroup Confluent Convert Duplicate GroupSort Split MasterBranch MasterCheck MasterJoin MasterJoinUpdate Summarize Branch Checkpoint Empty Identity DAG Logging Stop Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 18
  • 19. Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 19
  • 20. DSL   Excel     BatchDSL FlowDSL OperatorDSL JUnit     JUnit Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 20
  • 21.       DAG     STS     SPF   Shortest Path First –   GRASP   General Responsibility Assignment Software Principle       TX   Join   No_SQL   Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 21
  • 22.   TRN TRN TRN TRN 4 In TRN TRN 9 In 5 In TRN TRN 5 Out TRN TRN TRN TRN 4 Out 7 In TRN TRN TRN TRN TRN TRN TRN TRN TRN TRN Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 22
  • 23.   4 In 5 Out Level-0 TRN TRN Level-1 TRN TRN TRN Level-2 Level-3 4-5 Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 23
  • 24.   Asakusa MapReduce JarFile HadoopJob Job TRX Hadoop job IO Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 24
  • 25.   TX @JobFlow(name = "stock") public class StockJob extends FlowDescription { private In<Shipment> shipmentIn; private In<Stock> stockIn; private Out<Shipment> shipmentOut; private Out<Stock> stockOut; /** In Out * @param shipmentIn * @param stockIn * @param shipmentOut * @param stockOut / public StockJob( @Import(name = "shipment", description = ShipmentFromDb.class) In<Shipment> shipmentIn, @Import(name = "stock", description = StockFromDb.class) In<Stock> stockIn, @Export(name = "shipment", description = ShipmentToDb.class) TX Out<Shipment> shipmentOut, @Export(name = "stock", description = StockToDb.class) Out<Stock> stockOut) { this.shipmentIn = shipmentIn; this.stockIn = stockIn; this.shipmentOut = shipmentOut; this.stockOut = stockOut; } Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 25
  • 26. ThunderGate     RDBMS Hadoop DB HDFS   RDBMS MySQL Oracle RDBMS Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 26
  • 27.     MonkeyMagic   1. Hadoop   2.   Ruby   Asakusa experimental shell script     OSS   job   Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 27
  • 28.     Ashigel –  MonkeyMagic rb # workflow jobnet("#{BATCH_ID_QUALIFIER}.tutorial", :instance_name => "master", :credential_name => "asakusa") do boot_jobs("order") # jobflow – order jobnet("order", :to => []) do auto_sequence jobnet("__IMPORT__") do boot_jobs("bulkloader") jobnet("bulkloader") do auto_sequence job("bulkloader.asakusa", ""$ASAKUSA_HOME/"bulkloader/bin/importer.sh primary asakusa tutorial order "$($ASAKUSA_HOME/monkeymagic/bin/execution_id.sh)" 20380101000000 "#{BATCH_ARGUMENTS}"", :instance_name => "asakusa", :credential_name => "asakusa") end end jobnet("__STAGE_GRAPH__") do boot_jobs("stage0001") # stage - tutorial / order / stage0001 hadoop_job_run("stage0001", "$ASAKUSA_HOME/monkeymagic/bin/hadoop_job_run.sh com.example.tutorial.batch.tutorial.order.stage0001.StageClient "$ASAKUSA_HOME/batchapps/tutorial/lib/jobflow-order.jar" -D "com.asakusafw.executionId=$($ASAKUSA_HOME/monkeymagic/bin/execution_id.sh)" -D "com.asakusafw.user=$USER" -D "com.asakusafw.batchArgs=#{BATCH_ARGUMENTS}"", :to => ["stage0002"]) do hadoop_job("tutorial.order.stage0001") end # stage - tutorial / order / stage0002 hadoop_job_run(“stage0002”, “$ASAKUSA_HOME/monkeymagic/bin/hadoop_job_run.sh Copyright 2011(C) OSS Laboratories Inc. All Rights Reserved 28