Asakusa Enterprise Batch Processing Framework for Hadoop

Asakusa ~ Enterprise Batch Framework for Hadoop Hadoop Japan Conference 2011/2/22
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
目的 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
実際どんなものか? ,[object Object],仕入データ 取り込み 残高 更新 照合 処理 仕入明細 データ 仕入返品 データ 費用振替 データ 売価変更 データ 出力データ 中間 TRN 入力データ 未払 計上 在庫 計測 仕入 TRN 在庫振替 TRN 在庫移動 TRN 未収収益 TRN 売価変更 在庫変更 TRN 修正 在庫振替 TRN 修正 在庫移動 TRN 修正 未収収益 TRN 未払計上 TRN 4 種類のデータ In 9 種類のデータ In 5 種類のデータ In 5 種類のデータ Out 4 種類のデータ Out 7 種類のデータ In 計上済 仕入 TRN 計上済 未収収益 TRN 計上済 未払費用 TRN 更新済 買掛残高 TRN 請求 TRN 支払不可 消込 TRN 支払可 消込 TRN 照合済 未払費用 TRN 請求エラー TRN 照合済 未収収益 TRN 照合済 仕入 TRN 照合済 請求 TRN
さらにブレイクダウンする ,[object Object],仕入データ 取り込み 仕入明細 データ 仕入返品 データ 費用振替 データ 売価変更 データ 仕入 TRN 在庫振替 TRN 在庫移動 TRN 未収収益 TRN 売価変更 在庫変更 TRN 4 種類のデータ In 5 種類のデータ Out データ 取り込み クレンジング データ 分割 Level-0 Level-1 Level-2 Level-3 階層が深くなるの普通 大抵の規模で 4-5 階層 データ 整形 日付 チェック マスター チェック 付随 データ 生成 附番 データ 一次出力
基幹バッチの特徴 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
基幹バッチの特徴からみると・・・ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Hadoop の何がたらないか? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
なので・・・ ,[object Object],[object Object],[object Object],[object Object]
そこで ,[object Object],Powered by @kis まだ案ですが!
位置づけ ,[object Object],Hadoop   Core Core ・ HDFS ・ MapReduce Pig Hive Asakusa Oozie MonkeyMagic : Ruby ベース運用環境 MonkeyMagic は ( 株 )EC-ONE さんの製品でございます。
Asakusa の構成 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],上位の開発方法論から、実装フレームワーク・コンパイラ・データモデリング・テストツール・運用連携 まで含む 「フル・スタック」 の フレームワーク
DAG ベースの多層 DSL 構造 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DAG の開発方法論と表裏一体 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],BatchDSL 最上のバッチフローを記述する FlowDSL ビルディングブロックの記述 多層的な構成 演算子 DSL データ操作の最小単位
DSL の記述例 ,[object Object],[object Object],[object Object],バッチクラスを作成して 内部で、下位の DSL で作成した job フローを連結して、記述する。
DSL の記述例 ,[object Object],・・・・・・・・・・・・・・・・・・・・・・・・ @Override protected void describe() { //  まずは明細と商品マスタを結合 Join join = op.join(itemIn, orderIn); //  結合に失敗したものはエラーフラグを立てて終了させておく SetStatus missing = op.setStatus(join.missed, " 商品不明 "); orderOut.add(missing.out); //  結合に成功したものは注文ごとに集計 Sum sum = op.sum(join.joined); //  そのままでは使えないので、テーブルモデルに変換して出力 ToAmount result = op.toAmount(sum.out); resultOut.add(result.out); //  不要な出力を除去 core.stop(result.original); } フローを記述していく Java での記述 DAG の実装に近い 頂点: Operator 辺:結線 Obj
DSL の記述例 ,[object Object],@Override protected void describe() { NewTxApMachingOperatorFactory f = new NewTxApMachingOperatorFactory(); UpdateTxOperatorFactory f1 = new UpdateTxOperatorFactory(); CoreOperatorFactory core = new CoreOperatorFactory(); //  伝票 No 設定未設定で振り分ける BranchSlipWithoutNo branch1 = f.branchSlipWithoutNo(inApMached); //  伝票 No 設定済に対して、前回までの突合結果区分より「計上ずれ」「不一致」とそれ以外を振り分ける BranchGapAndUnmatch branch2 = f.branchGapAndUnmatch(branch1.out2); //  伝票情報の初期化 InitSlipInfo update1 = f.initSlipInfo(branch2.out1); //  請求情報の初期化 InitBillInfo update2 = f.initBillInfo(branch2.out1); //  伝票 No 設定済で前回までの突合結果区分が「計上ずれ」「不一致」以外と請求情報初期化したファイルを一つにまとめる Confluent<TxApMaching> confuent1 = core.confluent(branch2.out2, update2.out); //  伝票情報が入っているデータに対して、支払消込トランから赤黒ペアの未照合を抜き出す GroupSortBranchDeficitSurplusDiv grs11 = f1.groupSortBranchDeficitSurplusDiv(confuent1.out); Operator 生成 入力 edge Ope 固有処理 出力 edge 出力 edge から入力結線 出力 edge 二つから入力結線
DSL の記述 ,[object Object],[object Object],[object Object],[object Object],[object Object],/** *  注文商品の情報と明細を結合する。 *  @param info  注文商品の情報  *  @param order  明細 *  @return  結合した結果 */ @MasterJoin public abstract JoinOrder join(ItemInfo info, OrderDetail order); /** *  明細の価格を、注文ごとに集計する。 *  @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; } Asakusa で準備されている演算子の アノテーションを利用して、演算子を記述する。 演算子クラスの記述で必要な要件はアノテーションごとに異なる。間違うとコンパイラに怒られる。
DSL の記述 ,[object Object],[object Object],[object Object],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 = &quot;selectItemMst&quot;)  public void updateWithMaster(  @Key(group = &quot;id&quot;) ItemMst master,  @Key(group = &quot;itemId&quot;) HogeTrn tx) {  tx.setPrice(master.getPrice());  }  }  条件の記述 結合の記述
Default で準備されている DSL データ編成 CoGroup  グループ結合演算子  Confluent  合流演算子  Convert  変換演算子  Duplicate  複製演算子  GroupSort  グループ整列演算子  Split  分割演算子  業務系 MasterBranch  マスタ分岐演算子  MasterCheck  マスタ確認演算子  MasterJoin  マスタ結合演算子  MasterJoinUpdate  マスタつき更新演算子  Summarize  単純集計演算子  フロー制御 Branch  分岐演算子  Checkpoint  チェックポイント演算子  Empty  空演算子  Identity  恒等演算子  Logging  ロギング演算子 Stop  停止演算子  割と一般的な「アルゴリズム」や 処理を実装している。 ソート・マージ・分割 業務系の演算子の実装 拡張して業務フレームワークになっている 「マスターとの突合」処理 フロー制御のための演算子 DAG の記述をしていると発生する
MR コンパイラ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],データモデルと連動 コンパイルで 最適化 わりといろんな黒魔術を使っています。( by@ashigeru)
Asakusa の構成 ,[object Object],最上位でのバッチ実行・監視 Job ネットが複数の job に展開される TRX 制御 バウンダリー管理 HadoopJob の 実行管理 Hadoop との IO 管理 MapReduce 実体 JarFile
TX 管理 ,[object Object],@JobFlow(name = &quot;stock&quot;)  public class StockJob extends FlowDescription {  private In<Shipment> shipmentIn;  private In<Stock> stockIn;  private Out<Shipment> shipmentOut;  private Out<Stock> stockOut;  /**  *  コンストラクタ。  * @param shipmentIn  処理対象の注文情報  * @param stockIn  処理対象の在庫情報  * @param shipmentOut  処理結果の注文情報  * @param stockOut  処理結果の在庫情報  */  public StockJob(  @Import(name = &quot;shipment&quot;, description = ShipmentFromDb.class)  In<Shipment> shipmentIn,  @Import(name = &quot;stock&quot;, description = StockFromDb.class)  In<Stock> stockIn,  @Export(name = &quot;shipment&quot;, description = ShipmentToDb.class)  Out<Shipment> shipmentOut,  @Export(name = &quot;stock&quot;, description = StockToDb.class)  Out<Stock> stockOut) {  this.shipmentIn = shipmentIn;  this.stockIn = stockIn;  this.shipmentOut = shipmentOut;  this.stockOut = stockOut;  }  フロー部品の In と Out の結線を外につなぐことにより、外部での永続化をサポートする。 この記述をフロー部品に組み込むことで、処理の外部接続と業務 TX のバウンダリー管理を行う
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],データモデルについても ぬかりはありません・・・
こんな感じで sql ファイルをつくればおk ,[object Object],CREATE   TABLE  ITEM_INFO ( -- Application columns CODE  BIGINT  NOT   NULL , NAME  VARCHAR (255)  NOT   NULL , PRICE  INT  NOT   NULL )  type =InnoDB; CREATE   TABLE  ORDER_DETAIL ( -- System columns for BulkLoader SID  BIGINT  PRIMARY   KEY  AUTO_INCREMENT, VERSION_NO BIGINT  NULL , RGST_DATETIME DATETIME  NULL , UPDT_DATETIME DATETIME  NULL , -- Application columns ORDER_ID  BIGINT  NOT   NULL , ITEM_CODE  BIGINT  NOT   NULL , STATUS  VARCHAR (255)  NULL )  type =InnoDB; CREATE   VIEW  JOIN_ORDER  AS SELECT ORDER_ID, ITEM_CODE, PRICE FROM ORDER_DETAIL, ITEM_INFO WHERE ORDER_DETAIL.ITEM_CODE = ITEM_INFO.CODE; CREATE   VIEW  SUM_ORDER  AS SELECT ORDER_ID, SUM (PRICE)  AS  AMOUNT FROM JOIN_ORDER GROUP   BY ORDER_ID; 普通に TBL をつくる こっちは IO も一緒に 書いてあるケース VIEW とかもできる View まで書くと 演算子まで勝手につくる。
テスト ,[object Object]
テスト ,[object Object],[object Object],[object Object]
テストモジュールは各 DSL 単位で自動生成される ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],BatchDSL FlowDSL OperatorDSL でそれぞれテストツールが提供される すべて JUnit から実行可能
外部との一体連携 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],開発的には Hadoop は 全く意識しない
運用 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
運用ツール ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OSS 化について ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],β 版利用したい人は 募集中ですので 連絡ください。
[object Object],[object Object],[object Object],[object Object],[object Object],そんなあなたに ポイントだけ
Hadoop つかって、よかですか? ,[object Object],[object Object],[object Object],[object Object]
ようするに ,[object Object],[object Object]
Asakusa で何がうれしいのか? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Asakusa のターゲット ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
技術屋の人であれば ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ashigel コンパイラの勉強会 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Asakusa Scala DSL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1 of 42

Recommended

Asakusaの今後の方向性 by
Asakusaの今後の方向性Asakusaの今後の方向性
Asakusaの今後の方向性Takashi Kambayashi
1.6K views9 slides
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall by
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallAmazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallShinpei Ohtani
6.2K views47 slides
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) by
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) hamaken
100.1K views34 slides
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014) by
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)Hadoop / Spark Conference Japan
2.7K views35 slides
SASとHadoopとの連携 by
SASとHadoopとの連携SASとHadoopとの連携
SASとHadoopとの連携SAS Institute Japan
3.7K views20 slides
IBM版Hadoop - BigInsights/Big SQL (2013/07/26 CLUB DB2発表資料) by
IBM版Hadoop - BigInsights/Big SQL (2013/07/26 CLUB DB2発表資料)IBM版Hadoop - BigInsights/Big SQL (2013/07/26 CLUB DB2発表資料)
IBM版Hadoop - BigInsights/Big SQL (2013/07/26 CLUB DB2発表資料)Akira Shimosako
18.6K views120 slides

More Related Content

What's hot

PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント by
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントNTT DATA OSS Professional Services
7.6K views40 slides
HBaseとSparkでセンサーデータを有効活用 #hbasejp by
HBaseとSparkでセンサーデータを有効活用 #hbasejpHBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpFwardNetwork
4.4K views25 slides
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~ by
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~Developers Summit
5.9K views27 slides
日々進化するHadoopの 「いま」 by
日々進化するHadoopの 「いま」日々進化するHadoopの 「いま」
日々進化するHadoopの 「いま」NTT DATA OSS Professional Services
26.6K views19 slides
Hadoop -ResourceManager HAの仕組み- by
Hadoop -ResourceManager HAの仕組み-Hadoop -ResourceManager HAの仕組み-
Hadoop -ResourceManager HAの仕組み-Yuki Gonda
1.6K views41 slides
はやわかりHadoop by
はやわかりHadoopはやわかりHadoop
はやわかりHadoopShinpei Ohtani
5.6K views152 slides

What's hot(20)

PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント by NTT DATA OSS Professional Services
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
HBaseとSparkでセンサーデータを有効活用 #hbasejp by FwardNetwork
HBaseとSparkでセンサーデータを有効活用 #hbasejpHBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejp
FwardNetwork4.4K views
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~ by Developers Summit
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
Developers Summit5.9K views
Hadoop -ResourceManager HAの仕組み- by Yuki Gonda
Hadoop -ResourceManager HAの仕組み-Hadoop -ResourceManager HAの仕組み-
Hadoop -ResourceManager HAの仕組み-
Yuki Gonda1.6K views
Hadoop -NameNode HAの仕組み- by Yuki Gonda
Hadoop -NameNode HAの仕組み-Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-
Yuki Gonda4.1K views
[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を... by Insight Technology, Inc.
[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...
[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...
Hadoopによる大規模分散データ処理 by Yoji Kiyota
Hadoopによる大規模分散データ処理Hadoopによる大規模分散データ処理
Hadoopによる大規模分散データ処理
Yoji Kiyota3.3K views
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料) by NTT DATA OSS Professional Services
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料) by NTT DATA OSS Professional Services
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは? by 日本ヒューレット・パッ... by Insight Technology, Inc.
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは?  by 日本ヒューレット・パッ...[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは?  by 日本ヒューレット・パッ...
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは? by 日本ヒューレット・パッ...
Hadoopことはじめ by 均 津田
HadoopことはじめHadoopことはじめ
Hadoopことはじめ
均 津田1.6K views
今さら聞けない HANAのハナシの基本のほ by Koji Shinkubo
今さら聞けない HANAのハナシの基本のほ今さら聞けない HANAのハナシの基本のほ
今さら聞けない HANAのハナシの基本のほ
Koji Shinkubo11K views
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機... by Insight Technology, Inc.
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
SparkとCassandraの美味しい関係 by datastaxjp
SparkとCassandraの美味しい関係SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係
datastaxjp8.9K views
Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」 by オラクルエンジニア通信
Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」
Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~ by Sotaro Kimura
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Sotaro Kimura1.6K views

Viewers also liked

Hadoop入門とクラウド利用 by
Hadoop入門とクラウド利用Hadoop入門とクラウド利用
Hadoop入門とクラウド利用Naoki Yanai
3.9K views52 slides
Asakusa Framework 演算子の処方箋 by
Asakusa Framework 演算子の処方箋Asakusa Framework 演算子の処方箋
Asakusa Framework 演算子の処方箋hmasa
1.9K views49 slides
110701 asakusa説明資料 by
110701 asakusa説明資料110701 asakusa説明資料
110701 asakusa説明資料OSSラボ株式会社
901 views28 slides
Inside of Asakusa DSL by
Inside of Asakusa DSLInside of Asakusa DSL
Inside of Asakusa DSLSuguru ARAKAWA
3.4K views142 slides
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011 by
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011Yusuke Suzuki
6.1K views45 slides
お見合いで趣味を聞かれたときに 「IoTとビッグデータを少々」と答えたいSEが読む資料 by
お見合いで趣味を聞かれたときに 「IoTとビッグデータを少々」と答えたいSEが読む資料お見合いで趣味を聞かれたときに 「IoTとビッグデータを少々」と答えたいSEが読む資料
お見合いで趣味を聞かれたときに 「IoTとビッグデータを少々」と答えたいSEが読む資料Monta Yashi
958 views48 slides

Viewers also liked(20)

Hadoop入門とクラウド利用 by Naoki Yanai
Hadoop入門とクラウド利用Hadoop入門とクラウド利用
Hadoop入門とクラウド利用
Naoki Yanai3.9K views
Asakusa Framework 演算子の処方箋 by hmasa
Asakusa Framework 演算子の処方箋Asakusa Framework 演算子の処方箋
Asakusa Framework 演算子の処方箋
hmasa1.9K views
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011 by Yusuke Suzuki
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
Yusuke Suzuki6.1K views
お見合いで趣味を聞かれたときに 「IoTとビッグデータを少々」と答えたいSEが読む資料 by Monta Yashi
お見合いで趣味を聞かれたときに 「IoTとビッグデータを少々」と答えたいSEが読む資料お見合いで趣味を聞かれたときに 「IoTとビッグデータを少々」と答えたいSEが読む資料
お見合いで趣味を聞かれたときに 「IoTとビッグデータを少々」と答えたいSEが読む資料
Monta Yashi958 views
OpenStack, Hadoop -- OSSクラウドの最新動向 by Masanori Itoh
OpenStack, Hadoop -- OSSクラウドの最新動向OpenStack, Hadoop -- OSSクラウドの最新動向
OpenStack, Hadoop -- OSSクラウドの最新動向
Masanori Itoh3.3K views
八子クラウド_IDCFrontier_20161217 by IDC Frontier
八子クラウド_IDCFrontier_20161217八子クラウド_IDCFrontier_20161217
八子クラウド_IDCFrontier_20161217
IDC Frontier947 views
ソフトバンク通信3社向けHadoop研修資料 by Preferred Networks
ソフトバンク通信3社向けHadoop研修資料ソフトバンク通信3社向けHadoop研修資料
ソフトバンク通信3社向けHadoop研修資料
Preferred Networks5.2K views
Scrum Gathering 2008 Stockholm - Salesforce.com by Steve Greene
Scrum Gathering 2008 Stockholm - Salesforce.comScrum Gathering 2008 Stockholm - Salesforce.com
Scrum Gathering 2008 Stockholm - Salesforce.com
Steve Greene37.8K views
[Azure Deep Dive] Spark と Azure HDInsight によるビッグ データ分析入門 (2017/03/27) by Naoki (Neo) SATO
[Azure Deep Dive] Spark と Azure HDInsight によるビッグ データ分析入門 (2017/03/27)[Azure Deep Dive] Spark と Azure HDInsight によるビッグ データ分析入門 (2017/03/27)
[Azure Deep Dive] Spark と Azure HDInsight によるビッグ データ分析入門 (2017/03/27)
Naoki (Neo) SATO1K views
Windows Server 2016でコンテナを動かしてみた by Takashi Kanai
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみた
Takashi Kanai6.2K views
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」 by オラクルエンジニア通信
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoopを用いた大規模ログ解析 by shuichi iida
Hadoopを用いた大規模ログ解析Hadoopを用いた大規模ログ解析
Hadoopを用いた大規模ログ解析
shuichi iida8K views
Struggle against cross-domain data complexity in Recruit group by Recruit Technologies
Struggle against cross-domain data complexity in Recruit groupStruggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit group
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014... by MapR Technologies Japan
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...

Similar to Asakusa Enterprise Batch Processing Framework for Hadoop

[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto by
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[D33] そのデータベース 5年後大丈夫ですか by Hiromu GotoInsight Technology, Inc.
1.4K views46 slides
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥 by
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう  by SRA OSS, Inc. 日本支社 高塚遥[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう  by SRA OSS, Inc. 日本支社 高塚遥
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥Insight Technology, Inc.
2.4K views28 slides
Data-Intensive Text Processing with MapReduce(Ch1,Ch2) by
Data-Intensive Text Processing with MapReduce(Ch1,Ch2)Data-Intensive Text Processing with MapReduce(Ch1,Ch2)
Data-Intensive Text Processing with MapReduce(Ch1,Ch2)Sho Shimauchi
1.3K views50 slides
BPStudy32 CouchDB 再入門 by
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門Yohei Sasaki
2.3K views55 slides
Googleの基盤クローン Hadoopについて by
Googleの基盤クローン HadoopについてGoogleの基盤クローン Hadoopについて
Googleの基盤クローン HadoopについてKazuki Ohta
2.8K views64 slides
Hadoop事始め by
Hadoop事始めHadoop事始め
Hadoop事始めYou&I
1K views36 slides

Similar to Asakusa Enterprise Batch Processing Framework for Hadoop(20)

[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto by Insight Technology, Inc.
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥 by Insight Technology, Inc.
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう  by SRA OSS, Inc. 日本支社 高塚遥[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう  by SRA OSS, Inc. 日本支社 高塚遥
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
Data-Intensive Text Processing with MapReduce(Ch1,Ch2) by Sho Shimauchi
Data-Intensive Text Processing with MapReduce(Ch1,Ch2)Data-Intensive Text Processing with MapReduce(Ch1,Ch2)
Data-Intensive Text Processing with MapReduce(Ch1,Ch2)
Sho Shimauchi1.3K views
BPStudy32 CouchDB 再入門 by Yohei Sasaki
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
Yohei Sasaki2.3K views
Googleの基盤クローン Hadoopについて by Kazuki Ohta
Googleの基盤クローン HadoopについてGoogleの基盤クローン Hadoopについて
Googleの基盤クローン Hadoopについて
Kazuki Ohta2.8K views
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編 by Kotaro Tsukui
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編
Kotaro Tsukui952 views
クラウド時代の並列分散処理技術 by Koichi Fujikawa
クラウド時代の並列分散処理技術クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
Koichi Fujikawa3.1K views
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - by Tetsutaro Watanabe
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
TokyoWebminig カジュアルなHadoop by Teruo Kawasaki
TokyoWebminig カジュアルなHadoopTokyoWebminig カジュアルなHadoop
TokyoWebminig カジュアルなHadoop
Teruo Kawasaki4.3K views
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL by Ryusuke Kajiyama
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQLMySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
Ryusuke Kajiyama2.5K views
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標 by Tomoharu ASAMI
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Tomoharu ASAMI3.2K views
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) - by 歩 柴田
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
歩 柴田5.4K views
WTM53 phpフレームワーク いまさらcodeigniter by Masanori Oobayashi
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi3.9K views
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力 by ThinReports
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports6.6K views

Recently uploaded

今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
104 views42 slides
定例会スライド_キャチs 公開用.pdf by
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdfKeio Robotics Association
97 views64 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
41 views26 slides
SSH応用編_20231129.pdf by
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdficebreaker4
287 views13 slides
Windows 11 information that can be used at the development site by
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development siteAtomu Hidaka
80 views41 slides
The Things Stack説明資料 by The Things Industries by
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things IndustriesCRI Japan, Inc.
51 views29 slides

Recently uploaded(11)

今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4287 views
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka80 views
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.51 views
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda301 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之94 views

Asakusa Enterprise Batch Processing Framework for Hadoop

  • 1. Asakusa ~ Enterprise Batch Framework for Hadoop Hadoop Japan Conference 2011/2/22
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. Default で準備されている DSL データ編成 CoGroup グループ結合演算子 Confluent 合流演算子 Convert 変換演算子 Duplicate 複製演算子 GroupSort グループ整列演算子 Split 分割演算子 業務系 MasterBranch マスタ分岐演算子 MasterCheck マスタ確認演算子 MasterJoin マスタ結合演算子 MasterJoinUpdate マスタつき更新演算子 Summarize 単純集計演算子 フロー制御 Branch 分岐演算子 Checkpoint チェックポイント演算子 Empty 空演算子 Identity 恒等演算子 Logging ロギング演算子 Stop 停止演算子 割と一般的な「アルゴリズム」や 処理を実装している。 ソート・マージ・分割 業務系の演算子の実装 拡張して業務フレームワークになっている 「マスターとの突合」処理 フロー制御のための演算子 DAG の記述をしていると発生する
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.