Enviar pesquisa
Carregar
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
•
29 gostaram
•
12,851 visualizações
Keigo Suda
Seguir
Hadoop/Sparkカンファレンス2016講演資料
Leia menos
Leia mais
Internet
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 71
Baixar agora
Baixar para ler offline
Recomendados
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
Vacuum徹底解説
Vacuum徹底解説
Masahiko Sawada
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
NTT DATA Technology & Innovation
S13 Oracle Database を Microsoft Azure 上で運用する為に~基本事項とベストプラクティス
S13 Oracle Database を Microsoft Azure 上で運用する為に~基本事項とベストプラクティス
Microsoft Azure Japan
Keycloak入門
Keycloak入門
Hiroyuki Wada
Dapr on Kubernetes
Dapr on Kubernetes
Shiho ASA
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
NetApp XCP データ移行ツールインストールと設定
NetApp XCP データ移行ツールインストールと設定
Kan Itani
Mais conteúdo relacionado
Mais procurados
CloudFront経由でのCORS利用
CloudFront経由でのCORS利用
Yuta Imai
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Cloudera Japan
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
NTT DATA Technology & Innovation
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
ShuheiUda
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
Masahiko Sawada
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
貴志 上坂
Oracle Database Applianceのご紹介(詳細)
Oracle Database Applianceのご紹介(詳細)
オラクルエンジニア通信
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
オラクルエンジニア通信
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
Tetsutaro Watanabe
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
kazuki kumagai
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)
オラクルエンジニア通信
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
Yoshiyasu SAEKI
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
貴志 上坂
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
オラクルエンジニア通信
Presto on YARNの導入・運用
Presto on YARNの導入・運用
cyberagent
Azure Cosmos DB のキホンと使いドコロ
Azure Cosmos DB のキホンと使いドコロ
Kazuyuki Miyake
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
Mais procurados
(20)
CloudFront経由でのCORS利用
CloudFront経由でのCORS利用
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
Oracle Database Applianceのご紹介(詳細)
Oracle Database Applianceのご紹介(詳細)
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Presto on YARNの導入・運用
Presto on YARNの導入・運用
Azure Cosmos DB のキホンと使いドコロ
Azure Cosmos DB のキホンと使いドコロ
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
Destaque
スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話
Keigo Suda
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
Yu Ishikawa
AWSマネージドサービスをフル活用したヘルスケアIoTプラットフォーム
AWSマネージドサービスをフル活用したヘルスケアIoTプラットフォーム
Hiroki Takeda
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16
Yifeng Jiang
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
Makoto SHIMURA
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Hadoop / Spark Conference Japan
Maintainable cloud architecture_of_hadoop
Maintainable cloud architecture_of_hadoop
Kai Sasaki
20161119 lt
20161119 lt
aiko sato
未来太郎と未来花子
未来太郎と未来花子
ming li
Spark CL
Spark CL
力世 山本
AI(強化学習)でロボットに学習させてみた
AI(強化学習)でロボットに学習させてみた
akmtt
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
オラクルエンジニア通信
Future_Lt20160810
Future_Lt20160810
Yosuke Tanaka
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
hamaken
ログモニタリングツールを自作した話
ログモニタリングツールを自作した話
Hiroki Takeda
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
Yahoo!デベロッパーネットワーク
Hadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tk
NTT DATA OSS Professional Services
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
NTT DATA OSS Professional Services
Awsでつくるapache kafkaといろんな悩み
Awsでつくるapache kafkaといろんな悩み
Keigo Suda
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Nagato Kasaki
Destaque
(20)
スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
AWSマネージドサービスをフル活用したヘルスケアIoTプラットフォーム
AWSマネージドサービスをフル活用したヘルスケアIoTプラットフォーム
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Maintainable cloud architecture_of_hadoop
Maintainable cloud architecture_of_hadoop
20161119 lt
20161119 lt
未来太郎と未来花子
未来太郎と未来花子
Spark CL
Spark CL
AI(強化学習)でロボットに学習させてみた
AI(強化学習)でロボットに学習させてみた
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Future_Lt20160810
Future_Lt20160810
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
ログモニタリングツールを自作した話
ログモニタリングツールを自作した話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
Hadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tk
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
Awsでつくるapache kafkaといろんな悩み
Awsでつくるapache kafkaといろんな悩み
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Semelhante a 基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
Apache drillを業務利用してみる(までの道のり)
Apache drillを業務利用してみる(までの道のり)
Keigo Suda
Drupal business consortiam in Japan:DBCJ 20140909
Drupal business consortiam in Japan:DBCJ 20140909
Hidekazu Ikeda
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
Yuji Otani
Red Hat の日本でできるグローバルな働き方
Red Hat の日本でできるグローバルな働き方
Tadayoshi Sato
DXと名の付くプロジェクトで忘れてはならないこと
DXと名の付くプロジェクトで忘れてはならないこと
Hagimoto Junzo
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方
Recruit Technologies
鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料
Takashi Aoe
Drupal Market in Japan @ 「DrupalCon 2016 New Orleans」情報交換会
Drupal Market in Japan @ 「DrupalCon 2016 New Orleans」情報交換会
Hidekazu Ikeda
ヘッドレスCMS調査 Strapiを試してみた
ヘッドレスCMS調査 Strapiを試してみた
SosukeYamada
Drupal si 20160704
Drupal si 20160704
Hidekazu Ikeda
ライトプランで利用可能な分析基盤「IBM Analytics Engine (IAE)」とは
ライトプランで利用可能な分析基盤「IBM Analytics Engine (IAE)」とは
Kimihiko Kitase
B 6-3 jsls15-startup-shibata
B 6-3 jsls15-startup-shibata
chenree3
B 6-3 jsls15-startup-shibata
B 6-3 jsls15-startup-shibata
softlayerjp
Bussiness man drupal_20160704
Bussiness man drupal_20160704
Hidekazu Ikeda
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
Insight Technology, Inc.
現場の”今”を知る、これからのビッグデータ分析・活用のすすめ
現場の”今”を知る、これからのビッグデータ分析・活用のすすめ
yuji suzuki
ソフトウェアエンジニアと高位合成
ソフトウェアエンジニアと高位合成
Kenichiro MITSUDA
BASEのアーキテクチャを育てる - 20221213 BASE Tech Talk
BASEのアーキテクチャを育てる - 20221213 BASE Tech Talk
Tadashi Matsuda
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
Hitachi, Ltd. OSS Solution Center.
I love SQL の僕がkintone のデータにSQLアクセスできる 製品をリリースするまでの道のり
I love SQL の僕がkintone のデータにSQLアクセスできる 製品をリリースするまでの道のり
CData Software Japan
Semelhante a 基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
(20)
Apache drillを業務利用してみる(までの道のり)
Apache drillを業務利用してみる(までの道のり)
Drupal business consortiam in Japan:DBCJ 20140909
Drupal business consortiam in Japan:DBCJ 20140909
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
Red Hat の日本でできるグローバルな働き方
Red Hat の日本でできるグローバルな働き方
DXと名の付くプロジェクトで忘れてはならないこと
DXと名の付くプロジェクトで忘れてはならないこと
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方
鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料
Drupal Market in Japan @ 「DrupalCon 2016 New Orleans」情報交換会
Drupal Market in Japan @ 「DrupalCon 2016 New Orleans」情報交換会
ヘッドレスCMS調査 Strapiを試してみた
ヘッドレスCMS調査 Strapiを試してみた
Drupal si 20160704
Drupal si 20160704
ライトプランで利用可能な分析基盤「IBM Analytics Engine (IAE)」とは
ライトプランで利用可能な分析基盤「IBM Analytics Engine (IAE)」とは
B 6-3 jsls15-startup-shibata
B 6-3 jsls15-startup-shibata
B 6-3 jsls15-startup-shibata
B 6-3 jsls15-startup-shibata
Bussiness man drupal_20160704
Bussiness man drupal_20160704
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
現場の”今”を知る、これからのビッグデータ分析・活用のすすめ
現場の”今”を知る、これからのビッグデータ分析・活用のすすめ
ソフトウェアエンジニアと高位合成
ソフトウェアエンジニアと高位合成
BASEのアーキテクチャを育てる - 20221213 BASE Tech Talk
BASEのアーキテクチャを育てる - 20221213 BASE Tech Talk
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
I love SQL の僕がkintone のデータにSQLアクセスできる 製品をリリースするまでの道のり
I love SQL の僕がkintone のデータにSQLアクセスできる 製品をリリースするまでの道のり
Mais de Keigo Suda
20171105 go con2017_lt
20171105 go con2017_lt
Keigo Suda
ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術
Keigo Suda
Kafka logをオブジェクトストレージに連携する方法まとめ
Kafka logをオブジェクトストレージに連携する方法まとめ
Keigo Suda
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Keigo Suda
基幹業務もHadoop(EMR)で!!のその後
基幹業務もHadoop(EMR)で!!のその後
Keigo Suda
Lt 私の○○遍歴教えるね これまで愛したキーボードたち
Lt 私の○○遍歴教えるね これまで愛したキーボードたち
Keigo Suda
Mais de Keigo Suda
(6)
20171105 go con2017_lt
20171105 go con2017_lt
ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術
Kafka logをオブジェクトストレージに連携する方法まとめ
Kafka logをオブジェクトストレージに連携する方法まとめ
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
基幹業務もHadoop(EMR)で!!のその後
基幹業務もHadoop(EMR)で!!のその後
Lt 私の○○遍歴教えるね これまで愛したキーボードたち
Lt 私の○○遍歴教えるね これまで愛したキーボードたち
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
1.
基幹業務もHadoopで!! Hadoop / Spark
Conference 2016 Future Architect Keigo Suda ローソンにおける店舗発注業務への Hadoop + Hive導入と その取り組みについて
2.
本発表を通してお伝えしたいこと Enterprise 基幹領域でのHadoop活用シーンへのヒント どういった課題をクリアするために? どんなことを検討/対応する必要がある? ※資料は後ほど公開致します
3.
目に焼き付けておきなさい。 Hadoopを使うってそういうことよ (綺麗なことばかりじゃないのよ)
4.
自己紹介 * 須田 桂伍(2012年入社) *
Technology Innovation Group シニアコンサルタント * インフラエンジニア~ソフトウェアアーキテクト * 最近はビッグデータ領域(情報系~基幹系)どっぷり 最近はQiita記事に技術ネタ投稿してます 直近の生きる目標(人生のマイルストン)
5.
Outline Introduction Architecture Team Development Conclusion
6.
Our Company
7.
フューチャーアーキテクト株式会社 (英文表記:Future Architect, Inc.) 設
立 上 場 資 本 金 代 表 者 売 上 高 社 員 数 オフィス : 1989年11月28日 : 2002年6月 東証1部 : 14億21百万円 : 代表取締役会長 CEO 金丸 恭文 : 連結344億24百万円、単体197億27百万円 (2014年12月期) : 連結1,587名、単体783名 (2014年12月末日現在) : 大崎 (本社)、大阪、鹿児島、福岡
11.
Introduction
12.
店舗発注業務のセンター化 発注時に利用するマスタ作成をセンタ集約 店舗毎に行われていたマスタデータ作成処理を集約 店舗からはAPI経由でマスタデータを参照
13.
店舗発注業務の裏側 ローソン全業務で利用されるマスタデータを 日次バッチで最新化 1 最新化された全業務マスタデータの更新差分を 各店舗へファイル連携 店舗へ更新分データのファイル連携 2 本部センター ファイル 連携基盤 ストアコンピュータ データ反映 発注端末 商品を発注 しますね 更新データ 全業務マスタデータ 日次バッチ処理 最新化 1 2
3 4 全業務マスタデータの最新化処理 連携されたファイルデータを各店舗にある ストコン内のDBへ反映する。 3 最新化されたマスタデータをもとに発注業務を実施 発注時の商品データ参照4 更新分データのDB反映処理
14.
店舗発注業務の裏側 ローソン全業務で利用されるマスタデータを 日次バッチで最新化 1 最新化された全業務マスタデータの更新差分を 各店舗へファイル連携 店舗へ更新分データのファイル連携 2 本部センター ファイル 連携基盤 ストアコンピュータ データ反映 発注端末 商品を発注 しますね 更新データ 全業務マスタデータ 日次バッチ処理 最新化 1 2
3 4 全業務マスタデータの最新化処理 連携されたファイルデータを各店舗にある ストコン内のDBへ反映する。 3 最新化されたマスタデータをもとに発注業務を実施 発注時の商品データ参照4 更新分データのDB反映処理 これまでは処理負荷を 各店舗に分散していたイメージ
15.
機能のセンター集約 店舗DB 発注業務 データ参照 加工処理 加工処理取込処理 取込処理 発注 端末 発注 端末 発注 端末 発注 端末 発注 端末 発注 端末 発注 端末 API API
API API API API API 全店舗分の発注業務に利用する マスタデータをバッチ処理(日次)で作成 全業務マスタDBから店舗毎に必要な マスタデータの更新差分をファイルで連携 これまで店舗毎に配信されていた 全店舗分の更新差分ファイルを連携 受信用DB 公開用DB 1. 全業務マスタDBから各店舗へ更新差分ファイルを配信 2. 店舗毎にDBへ差分反映後、発注利用マスタデータを作成 3. 作成されたマスタデータは発注業務時に発注端末から参照 1. 全業務マスタDBから全店舗分の更新差分ファイルを配信 2. 受信用DBへ差分反映後、全店舗分の発注利用マスタデータを作成 3. 作成されたマスタデータはREST APIで公開し、発注端末より参照 データ参照 発注業務 Before After
16.
しかしその壁も高い・・・ 店舗数増加への考慮 ピーク時の処理多重度 限られたバッチウィンドウ膨大なレコード件数
18.
18 20% 80% 全店舗分の処理ピークが重なる
19.
19 発注商品マスタ ~10億レコード PLUマスタ ~7億レコード 商品マスタ ~5億 約70マスタテーブル(数十億レコード)
20.
~1.5時間 店舗へのデータ公開バッチ処理開始 約4時間 リラン
23.
Distributed Architecture?
24.
Get Really Excited @
Midnight
26.
Volume Complexity Small Medium ~ Specially Complex Simple Complex ~ Enterprise Web Complex
Business Logic データ観点でざくっと考えてみる(私見) Very Large
27.
Contains Business Logic… Much Various
28.
データ観点でざくっと考えてみる(私見) Volume Complexity Very Large Specially Complex Simple Complex ~Complex
Business Logic Large Web
29.
機能のセンター集約 店舗DB 発注業務 データ参照 加工処理 加工処理取込処理 取込処理 発注 端末 発注 端末 発注 端末 発注 端末 発注 端末 発注 端末 発注 端末 API API
API API API API API 全店舗分の発注業務に利用する マスタデータをバッチ処理(日次)で作成 全業務マスタDBから店舗毎に必要な マスタデータの更新差分をファイルで連携 これまで店舗毎に配信されていた 全店舗分の更新差分ファイルを連携 受信用DB 公開用DB 1. 全業務マスタDBから各店舗へ更新差分ファイルを配信 2. 店舗毎にDBへ差分反映後、発注利用マスタデータを作成 3. 作成されたマスタデータは発注業務時に発注端末から参照 1. 全業務マスタDBから全店舗分の更新差分ファイルを配信 2. 受信用DBへ差分反映後、全店舗分の発注利用マスタデータを作成 3. 作成されたマスタデータはREST APIで公開し、発注端末より参照 データ参照 発注業務 Before After
31.
候補サービス EMR Redshift RDS (AmazonEMR)
32.
アーキテクチャ案 WITH EMR WITH Redshift WITH
RDS 取込フェーズ 加工フェーズ 参照フェーズ Data Imort Data Export SQL Batch MapReduce Storede Procedure & SQL Batch Data Imort Data Export
33.
ざっと比較してみる EMR 分散処理による高スループット アーキテクチャ Redshift RDS(MySQL) ノード追加によるリソース拡張 豊富なHadoopエコシステム システム拡張性 耐障害性 (ノード障害時) 処理特性 費用調整 コアノード障害ならば処理継続可能 分散処理による高スループット アーキテクチャ ノード追加によるリソース拡張 同時実行クエリ数の制約 コスト面で大量ノードで組めないので 1台失った時のインパクトでかい 更新処理がマスタサーバに集中 リードレプリカにより参照処理のみ スケール可能 マスター障害時はスレーブのマス タ昇格まで処理受付不可 コアノードのインスタンスタイプが 豊富&台数による微調整が可能 インスタンスタイプが少ない&台数に よる微調整が難しい そもそも参照しかスケールしないし な・・・
34.
ざっと比較してみる EMR 分散処理による高スループット アーキテクチャ Redshift RDS(MySQL) ノード追加によるリソース拡張 豊富なHadoopエコシステム システム拡張性 耐障害性 (ノード障害時) 処理特性 費用調整 コアノード障害ならば処理継続可能 分散処理による高スループット アーキテクチャ ノード追加によるリソース拡張 同時実行クエリ数の制約 更新処理がマスタサーバに集中 リードレプリカにより参照処理のみ スケール可能 マスター障害時はスレーブのマス タ昇格まで処理受付不可 コアノードのインスタンスタイプが 豊富&台数による微調整が可能 インスタンスタイプが少ない&台数に よる微調整が難しい そもそも参照しかスケールしないし な・・・ コスト面で大量ノードで組めないので 1台失った時のインパクトでかい
35.
やってみた
36.
36 20% 80% 全店舗分の処理ピークが重なる
37.
37 発注商品マスタ ~10億レコード PLUマスタ ~7億レコード 商品マスタ ~5億 約70マスタテーブル(数十億レコード)
38.
やってみた クラスタへのデータロード マスタデータ作成 インポート (全件) SQLバッチ(HiveQL) クラスタからのデータオフロード 平均:約60分 平均:約16分平均:約16分 平均:約90分 コアノード:~30台 エクスポート (全件)
39.
やってみた
40.
Architecture Overview
41.
アーキテクチャ全体像 全業務 マスタDB EMRクラスタ受信用DB ファイル連携用 バケット ファイル取込 サーバ SQLバッチ(HiveQL) 公開用DB APIサーバ 過去データ蓄積用 バケット アップロード 画像データ REST API ・・・ バイナリ配置用 バケット バイナリデータはS3パスを 返却し直接取得させる 発注端末 発注端末
42.
3フェーズアーキテクチャ EMRはあくまで処理エンジン!! 得意な処理に専念させるための役割分担と機能配置 データ永続化層 データ整合性の担保 前処理の実施 データは永続化させない データ加工に専念 データ永続化層 データ公開/参照 受信用DB 公開用DBEMRクラスタ
43.
Processing
44.
アーキテクチャ全体像 全業務 マスタDB EMRクラスタ受信用DB ファイル連携用 バケット ファイル取込 サーバ SQLバッチ(HiveQL) 公開用DB APIサーバ 過去データ蓄積用 バケット アップロード 画像データ REST API ・・・ バイナリ配置用 バケット バイナリデータはS3パスを 返却し直接取得させる 発注端末 発注端末
45.
加工処理の設計ポイント クラスタ構成 様々な更新処理 処理の分散設計 処理リラン ワークフロー
46.
46 20% 80% 全店舗分の処理ピークが重なる クラスタ構成 様々な更新処理 処理の分散設計
処理リラン ワークフロー
47.
47 20% 80% 全店舗分の処理ピークが重なる ピーク時用クラスタ 常時用クラスタ クラスタ構成 様々な更新処理 処理の分散設計
処理リラン ワークフロー
48.
クラスタ構成 常時処理 ピーク時処理 UPSERT INSERT クラスタ起動 クラスタ停止 対象テーブルを 差分更新 対象テーブルを 洗い替え(日付断面) クラスタ構成 様々な更新処理
処理の分散設計 処理リラン ワークフロー 受信用DB 公開用DBEMRクラスタ受信用DB 公開用DB EMRクラスタ
49.
49 20% 80% 全店舗分の処理ピークが重なる ピーク時用クラスタ 常時用クラスタ クラスタ構成 様々な更新処理 処理の分散設計
処理リラン ワークフロー
50.
様々な更新処理 更新サーバ 常時用クラスタ テーブル全体の部分 更新が必要な処理を担当 ピンポイントな 更新処理を担当 対象データ種の ファイルが到着/反映 クラスタ構成 様々な更新処理 処理の分散設計
処理リラン ワークフロー 公開用DB 受信用DB より速い反映が必要なデータ更新を担当
51.
処理の分散設計 マスタ作成の処理粒度をどう調整するか どの粒度でマスタ作成処理(HiveQL)を並列に走らせるか 店舗毎に いっぺんにドーン 複数店舗をまとまりにして いっぺんにドーン 全店舗分を いっぺんにドーン ・・・ ・・・ クラスタ構成 様々な更新処理
処理の分散設計 処理リラン ワークフロー
52.
処理の分散設計 店舗毎に いっぺんにドーン 複数店舗をまとまりにして いっぺんにドーン 全店舗分を いっぺんにドーン ・・・ ・・・ リソース不足 リソース不足
スループット抜群 クラスタ構成 様々な更新処理 処理の分散設計 処理リラン ワークフロー マスタ作成の処理粒度をどう調整するか どの粒度でマスタ作成処理(HiveQL)を並列に走らせるか
53.
処理の分散設計 マスタA 分割後 マスタA 分割後 マスタA 分割後 マスタA ・・・ マスタB 分割後 マスタB 分割後 マスタB 分割後 マスタB 発注商品 マスタ 発注商品 マスタ 発注商品 マスタ 発注商品 マスタ マスタA マスタB ・・・・・・ SQL SQL SQL SQL SQL SQL 発注商品 マスタ 発注商品 マスタ 店舗コードを もとにハッシュ分散 500店舗単位で 分割され後続に続く クラスタ構成 様々な更新処理 処理の分散設計
処理リラン ワークフロー ・・・ ・・・ 全店舗分 500店舗単位 公開用DBEMRクラスタ受信用DB
54.
店舗コードによる振分&パーティショニング ・・・ 500店舗毎に36分割 ハッシュ分散UDF クラスタ構成 様々な更新処理 処理の分散設計
処理リラン ワークフロー
55.
店舗コードによる振分&パーティショニング ・・・ ハッシュ分散UDF 店舗コードでのパーティショニング (Dynamic Partitioning) クラスタ構成
様々な更新処理 処理の分散設計 処理リラン ワークフロー 500店舗毎に36分割 1つのテーブルにハッシュで散った 複数店舗分のデータが入っている 結合時には必ず店舗コードが必要
56.
処理リラン インポート (全件) SQLバッチ(HiveQL) エクスポート (全件) リトライ/リカバリ リトライ/リカバリ リトライ/リカバリ ・・・ ワーク1
ワークN アウトプットインプット HiveQL 各処理単位で冪等にさせる マスタ作成処理も割り切って頭からリカバリできる設計 リトライ/リカバリ クラスタ構成 様々な更新処理 処理の分散設計 処理リラン ワークフロー 公開用DB受信用DB 1マスタ作成処理=1SQLファイル 中間ワークの状態管理はしない
57.
ワークフロー 処理命令はSDK経由で実行 EMRのStepではあくまでクラスタのプロビジョニング(Chefで実行)にのみに特化 コア マスター ・・・ 処理実行 スクリプト HiveQL 実行スクリプト HiveQL ワークフローサーバ コア コア コア SDK
hive -f ${HIVEQL_FILE} ¥ --hivevar PG_ID=${PG_ID} ¥ --hivevar VERSION_YMD=${VERSION_YMD} ¥ --hivevar TEMPO_GROUP_CD=${TEMPO_GROUP_CD} ¥ >> ${LOG_FILE} 2>1 クラスタ構成 様々な更新処理 処理の分散設計 処理リラン ワークフロー
58.
おまけ:Sqoopではまった話 MySQLへのダイレクトエクスポートで日本語が文字化け クラスタ構成 様々な更新処理 処理の分散設計
処理リラン ワークフロー こらっ(^ ^)
59.
Team Development
60.
いつも通りの開発を!! 開発者にミドルウェア(Hadoop)の存在を意識させない仕組みづくり チーム開発ですっごく考えたこと どう品質をどう担保するか どう開発生産性をあげるか * RDBでの開発に慣れたエンジニアでもいつも通りの開発ができる * Hadoop/Hiveのクセを意識せずに開発ができる *
HiveQLの品質担保をいかに効率的に実施していくか * Hiveのチェック制約の弱さをどのようにカバーするか
61.
チーム開発の全体像 起動時に開発DB からデータをステップ でインポート コーディングはHue エディタにて実施 HiveQLは単体テスト &回帰テストを実施 コーディング規約をも とした開発/レビュー 開発者
62.
チーム開発の全体像 起動時に開発DB からデータをステップ でインポート コーディングはHue エディタにて実施 HiveQLは単体テスト &回帰テストを実施 コーディング規約をも とした開発/レビュー 開発者
63.
Hiveでのコーディング MapReduceを意識させない規約づくり 開発者間の品質のばらつきを押さえるべく、ポイントは規約化
64.
HiveのユニットテストとCI Hiveだってしっかりテストしなきゃ!! HiveQL Test PG Input Data Output
Data 回 帰開 発 日次で定期実行 エクセルでテストデータを 管理しながらのコーディング Hiveのチェック制約機能の弱さを頻繁なテストでフォロー
65.
Hiveリソースによる区分・定数管理 区分値/定数管理もHiveで!! 設計書を正とした管理(納品資料駆動開発!!) 区分/定数管理表 hiverc HiveQL
66.
パラメータも同様に管理 区分/定数管理表 hiverc Hiveパラメータ&UDF登録もエクセルで! 下回りの設定も設計書を正とした管理(Infrastructure as
納品資料!!)
67.
Need More Consideration
68.
今後より検討が必要なポイント クラスタ起動 Blue Green クラスタのメンテをどうするか 発注商品マスタ 作成ジョブ 優先的に処理をさせたい リソーススケジューリングどうしよ EMRのレイヤでどう対応できるかがポイント クラスタのメンテや業務の重要度に応じたリソーススケジューリング
69.
Conclusion
70.
まとめ:基幹領域の適用シーンをもう一度考える 基幹領域だからといってHadoopを避ける理由はない(選択肢はRDBだけじゃない) 全てをHadoopで置き換えるのではなく、まずは重たいバッチ処理を部分的に切り出すよ うなはじめ方でノウハウをためるのがいいかも
Hadoop(HDFS)をベースとしてエコシステムは進化しているので、導入したHadoop基 盤をベースに様々なワークロードに対応可能 Enterprise
Baixar agora