Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Asakusa fwはじめの一歩 0.7.0

1,540 views

Published on

Asakusa Framework はじめの一歩( ver 0.7.0 )

Published in: Technology
  • Be the first to comment

Asakusa fwはじめの一歩 0.7.0

  1. 1. Asakusa Framework はじめの一歩( v e r 0 . 7 . 0 ) 13% ボリュームダウン!
  2. 2. 前提 • Jinrikishaダウンロードページを参考に、Jinrikisha、 Shahu、DmdlEditorX、ToadEditorをインストールして ください http://asakusafw.s3.amazonaws.com/documents/ jinrikisha/ja/html/index.html • Mac OS X 10.9.5、Java 1.7.0_25 • Asakusa Framework 0.7.0 2
  3. 3. 注意 • Gradleの問題でShafu(Gradle Tool API)が正しく動作しな いという問題があります。 • 以下のパッチファイルを、 https://bugs.eclipse.org/bugs/attachment.cgi?id=247605 Jinrikishaのインストールディレクトリ配下の eclipse/dropins に配置することで回避します。 Jinrikishaとしての解決状況は下記Issueを参照してください https://github.com/asakusafw/asakusafw-starter/issues/3 3
  4. 4. 注意 • Gradleの問題でShafu(Gradle Tool API)が正しく動作しな いという問題があります。 • 以下のパッチファイルを、 https://bugs.eclipse.org/bugs/attachment.cgi?id=247605 Jinrikishaのインストールディレクトリ配下の eclipse/dropins に配置することで回避します。 Jinrikishaとしての解決状況は下記Issueを参照してください https://github.com/asakusafw/asakusafw-starter/issues/3 3 最新版Shafuで 対応済み!
  5. 5. 本件で作成するジョブ 4
  6. 6. Asakusa Application HDFS 5
  7. 7. Asakusa Application Model HDFS 5
  8. 8. Asakusa Application HDFS 5 Importer Model
  9. 9. Asakusa Application HDFS 5 Importer Exporter Model
  10. 10. Asakusa Application JobFlow HDFS 5 Importer Exporter Model
  11. 11. Asakusa Application JobFlow Operator HDFS 5 Importer Exporter Model
  12. 12. Asakusa Application JobFlow Operator 演算子 HDFS 5 Importer Exporter Model
  13. 13. Asakusa Application JobFlow Operator 演算子 HDFS 5 Importer Exporter Model
  14. 14. Asakusa Application Batch JobFlow Operator 演算子 HDFS 5 Importer Exporter Model
  15. 15. まずはプロジェク ト作成です。 6
  16. 16. 7
  17. 17. 8
  18. 18. 「選択」ボタンを押下 9
  19. 19. 10
  20. 20. 11
  21. 21. 空のプロジェクトが 作成されました 12
  22. 22. Asakusa Application Batch JobFlow Operator 演算子 HDFS 13 Importer Exporter Model
  23. 23. 次にデータモデルを定義します。 このヒシダマ印のアイコンを クリックしてください。 14
  24. 24. 最初に商品マスタのモデルを定義します 15
  25. 25. プロパティを追加していくので、 ADDボタンを押下してください 16
  26. 26. まずは商品ID 17
  27. 27. 続いて同じように商品名 18
  28. 28. プロパティ追加後、previewボタン を押下すると生成されるモデル定義 を事前に確認することができます 19
  29. 29. F i n i s h ボタンで DMDL定義が生成されます 20
  30. 30. 続いて売上明細の モデル定義を作ります 21
  31. 31. このように3 つのプロパティを 登録します 22
  32. 32. DMDLファイルに追記されました 23
  33. 33. JOIN結果用の モデル定義を作ります。 モデル種類として「j o i n e d 」 を選択します 24
  34. 34. COPYボタン押下でJOIN元のプロパティ をそのまま取り込むことができます 25
  35. 35. Nextでこのダイアログに進むと、結合キーを選択します。 item_masterと、s a l e s _ d e t a i l のそれぞれから item_idを選択してcopyを押下するとキーを選択できます 26
  36. 36. DMDLファイルに 結合モデル定義が追加されました 27
  37. 37. モデル定義の最後に、出力用の売上 明細モデルを作ります 28
  38. 38. 結合用モデルのを選択して、 re ferenceボタンを押下します 29
  39. 39. そこに、f l g プロパティを追加します 30
  40. 40. DMDLファイルに出力用モデルの 定義が追加されました 31
  41. 41. 各モデルの頭に 属性情報を付加します。 ※DMDL EditorXにはGUIで設定でき る機能がありますが、現状正しく稼働 しません i s s u e h t t p s : / / g i t h u b . c o m / h i s h i d a m a / x t e x t - d m d l - e d i t o r / i s s u e s / 4 2 32
  42. 42. DMDL定義から、 実際のモデル用JAVAソースを生成します 33
  43. 43. ソース生成されました。 34
  44. 44. Asakusa Application Batch JobFlow Operator 演算子 HDFS 35 Importer Exporter Model
  45. 45. 各Modelの importer/exporterを 作成します 36
  46. 46. まずはImporterを作成します。 入力データ用のデータモデルを 選択してください。 37
  47. 47. どういうimporterにするか 選択します 38
  48. 48. 入力ファイルのファイルパスと ファイル名を入力します。 ここではモデル名と同じファイル名のため、 ${modelName}.csvとしています。 39
  49. 49. Importerクラスが 作成されました 40
  50. 50. 次に出力明細用の Exporterを作成します 41
  51. 51. exporterの種類を 選択します 42
  52. 52. 入力ファイルのファイルパスと ファイル名を入力します。 ここでもモデル名と同じファイル名のため、 ${modelName}.csvとしています。 43
  53. 53. o u t p u t _ s a l e sのExporterが 作成されました 44
  54. 54. Asakusa Application Batch JobFlow Operator 演算子 HDFS 45 Importer Exporter Model
  55. 55. 続いてJOBFLOWを 作って行きます 46
  56. 56. 47
  57. 57. 48
  58. 58. インポータークラスを選択して… このあたりにドラッグアンドドロップ してください 49
  59. 59. インポーターアイコンがセットされました 50
  60. 60. 同様に売上明細のインポータクラスも ドラッグアンドドロップします 51
  61. 61. 同様に出力明細の エクスポータークラスも ドラッグアンドドロップします 52
  62. 62. インポーターとエクスポーター の配置が完了しました このアイコンを ダブルクリックしてください 53
  63. 63. i n の行を選択して… e d i t を押下してください 54
  64. 64. この2 カ所だけ値を入れます 55
  65. 65. addを押下します 56
  66. 66. 57 この2 カ所だけ値を入れます
  67. 67. 58
  68. 68. outの行を選択して… e d i t を押下してください 59
  69. 69. 60 この2 カ所だけ値を入れます
  70. 70. portの登録が完了しました 61
  71. 71. portの登録結果が 3 つのアイコンに反映されました 62
  72. 72. コネクタを選択して… 63
  73. 73. 赤矢印のようにアイコン間を ドラッグアンドドロップして 接続させます 64
  74. 74. Asakusa Application Batch JobFlow Operator 演算子 HDFS 65 Importer Exporter Model
  75. 75. マスタ結合演算子を選択して… この辺りをクリックして MasterJoinのアイコンを配置します 66
  76. 76. Connectionを選択して… i n - p o r t とMasterJoinを結びつけます 67
  77. 77. まず停止演算子を配置し… MasterJoinでマッチしなかった明細 を無視するという登録をします 68 次にConnectionで…
  78. 78. MasterJoinアイコンを ダブルクリックします 69
  79. 79. MasterJoin処理を割り当てるOperator クラスとメソッドを登録します ( 直入力です) 70
  80. 80. 拡張演算子を選択して… この辺りに配置します 71
  81. 81. Connectionを選択して… j o i n 結果をextendに渡す 登録をします 72
  82. 82. 73 更新演算子を選択して… この辺りに配置します 配置後、ダブルクリックしてください
  83. 83. Update処理を割り当てる Operatorクラスとメソッドを登録します 74 ( 直入力です)
  84. 84. 75 Connectionを選択して… extend結果をUpdateに渡すところと、 Update結果を出力につなげる登録をします
  85. 85. MasterJoinの出口を ダブルクリックしてください 76
  86. 86. 出力の型を定義します ( 直入力です) 77
  87. 87. Asakusa Application Batch JobFlow Operator 演算子 HDFS 78 Importer Exporter Model
  88. 88. 79 MasterJoinアイコンを 右クリックして Generate DSLを実行します
  89. 89. 80 Operatorクラスが 生成されました
  90. 90. 81 Updateアイコンを 右クリックして Generate DSLを実行します
  91. 91. 82 Operatorクラスに メソッドが追加されました
  92. 92. 83 処理を実装します
  93. 93. 84 JobFlowアイコンを 右クリックして Generate DSLを実行します
  94. 94. 85 JobFlowクラスが 生成されました
  95. 95. Asakusa Application Batch JobFlow Operator 演算子 HDFS 86 Importer Exporter Model
  96. 96. 87 Batchの作成に入ります
  97. 97. 88
  98. 98. 89
  99. 99. JobFlowクラスを選択して、 中央にドラッグアンドドロップします 90
  100. 100. 91 画面のどこかを 右クリックして Generate DSLを実行します
  101. 101. 92 ソース生成されました
  102. 102. 93 JobFlowのテストに入ります
  103. 103. 94 Model定義を基に エクセルが生成されます
  104. 104. 必要なファイルを s rc / t e s t / j a v a 配下にコピーします 95
  105. 105. 各ファイルのi n p u t シート、 outputシートにテストデータを登録します 96
  106. 106. outputシートを登録したファイルは r u l e シートも登録します 97
  107. 107. テストクラスを実装します ※本当はDMDL EditorXで自動生成できるはず… h t t p s : / / g i t h u b . c o m / h i s h i d a m a / x t e x t - d m d l - e d i t o r / i s s u e s / 4 3 98
  108. 108. テストクラスを実装します ※本当はDMDL EditorXで自動生成できるはず… h t t p s : / / g i t h u b . c o m / h i s h i d a m a / x t e x t - d m d l - e d i t o r / i s s u e s / 4 3 98 最新版で 対応済み!
  109. 109. U n i t テストとして実装します 99
  110. 110. 100 成功しました
  111. 111. バッチアプリケーションの実行方法 • cp asakusa-develop/workspace/DemoSample/build/ DemoSample-batchapps.jar $ASAKUSA_HOME/ batchapps/ 生成されたビルドファイルをコピー • cd $ASAKUSA_HOME/batchapps/ • ll ~/target/testing/directio/sample/in/ 入力ファイルを確認 • $ASAKUSA_HOME/yaess/bin/yaess-batch.sh DemoBatch バッチを実行

×