/home/by-natures/dev*

ソフトウェア開発者としての技術的なメモと、たまに普通の日記。

2021/07/27 Data Governance: The Definitive Guide の輪読会に参加しました

Twitter でのお誘いをみて、データガバナンスに関する以下の書籍の輪読会に参加させていただきました: Data Governance: The Definitive Guide: People, Processes, and Tools to Operationalize Data Trustworthiness (English Edition)作者:Eryurek, Evre…

2021/06/04 ビジネス用語集とは何か

以前こんなツイートをしたら反応をいただきました。やはり「ビジネス用語集は大事」というのは色々な場所で説明されているようですが、具体的にどういうものなのか?と言われると私はまだよく分かりません。 ビジネス用語集が大事、とはよく聞くけどちゃんと…

2021/04/23 ハーバードビジネスレビュー: 「データ管理は戦略である」を読んで

輪読会への参加 "Data Governance: The Definitive Guide" 本日からデータガバナンスに関する書籍の輪読に参加させています: www.oreilly.com 社外の方とデータマネジメントについて議論できるのはとても貴重な機会でありがたいです。普段業務で悩んでいる…

2021/04/22 文字の発明とデータマネジメント

データマネジメントについて色々と勉強したり業務をしていく中で、『「データマネジメント」と名前は付いているけれど、とても普通のことをしているのでは』という感覚がでてきました。もちろん技術的な話はあるのですが、ガバナンスが大切だとか、用語集を…

2021/03/12 データマネジメント成熟度のフレームワークに何を使えばよいか

データマネジメントについて色々考えている時期で、今日は成熟度について。 様々なフレームワーク とあるプロジェクトでデータマネジメント成熟度を測ろう、となったのですが、成熟度を測るフレームワークにも色々あるようです。 www.cloudtimes.jp こちらの…

2021/03/05 データマネジメントは成熟度から進める

雑談:テレビについて 最近 NHK の ねほりんぱほりん がかなり気に入ってます。見ないようにしてきた世界(最近の放送だと戸籍がない人、闇金の取り立て人、DVをしていた人)のドキュメンタリーをあんなふんわりしたテイストで提供するなんて驚きです。。番…

2021/02/19 データマネジメント改善の難しさ

最近、業務ではデータマネジメントの改善に取り組んでいます。 「データマネジメント」と一言にいっても、国際的な非営利団体 DAMA は DMBOK という、データマネジメント体系ガイドをまとめています。DMBOK が制定する領域では、以下の11の領域がデータマネ…

2021/02/03 「内向型を強みにする」を読んで

ブログがすっかりご無沙汰になってしまいました。今見たら2019年の6月に書いたのが最後でしたね。 2019年、夏頃にチーム内の上長が退職してしまって、その代わりを務めることになってマネージャーとしてタスク管理や目標設定・面談なども行うようになりまし…

2019/06/24 PlantUML によるロバストネス図

ユースケース駆動開発の手法を実践しているのですが、ロバストネス図・シーケンス図・ドメインモデルと、とにかく「図」を作ることが多いです。これを簡易にしないと作業効率がとても悪いということで、調べたところ PlantUML というツールがありました。 同…

2019/06/19 Elastic Beanstalk の ALB の scaling trigger では RequestCount がうまく機能しない

Elastic Beanstalk では ALB を簡単に定義することができます。今構築しているアプリケーションでは、リクエストがシンプルかつ大量であるため、リクエスト数に応じてスケーリングさせようと思い、スケーリングトリガーのメトリクスで RequestCount を設定し…

2019/06/18 AWS ELB 配下の tomcat が X-Forwarded-For を取得できない? -> 解決しました

ロードバランサー配下のWebサーバは、ロードバランサーがもともとのクライアントのリクエスト情報を保持するために X-Forwarded- というHTTPヘッダを追加します。このリクエスト元の情報を保存するヘッダはただのデファクトスタンダードでしたが、今は RFC …

2019/06/12 Hive CLI のアーキテクチャ

hive CLI コマンドは非推奨で、今後は beeline 推奨(JDBC/Thrift で HiveServer2 へ接続)とのことですが、どうにも HiveServer2 は運用していて良い思い出がないので(私が利用している環境だと定期的に再起動しないと応答がなくなる。。)、最近あまり状…

2019/05/07

curl コマンドだけでレスポンスタイムの計測を色々行えるの知りませんでした。意外に多機能。 dev.to www.wagavulin.jp

2019/04/09 Java でのメモリチューニング

メモリチューニングを久々に。前回は OOM でアプリケーションが落ちる問題に対して調査したのですが、今回はマイナーGCが多発していました。 簡単な処理を大量にさばくアプリケーションなので基本的には Eden からすぐにメモリ解放されるオブジェクトばかり…

2019/04/05 ITP 2.1 対応, ElasticBeanstalk での tomcat 設定値書き換え

4月からオフィスが新しくなって、また一緒に働いていた人が退職したこともあり、労働環境が大きく変わりました。やることは増えましたが、やれることも増えそうなので案外楽しめています。開発リソースが足らず、一緒に働く方を増やしたいので色々と整備して…

2019/04/01 CORS

他サーバからアクセスしてもらうエンドポイントを追加したのですが、その際に CORS が必要だったので設定した際の記録です。 説明 medium.com dev.classmethod.jp Tomcat での対策 Tomcat なら web.xml のフィルタ機能で CORS 対策ができます。7系の途中から…

2019/03/28 Tomcat リリース備忘録

古いシステムのメンテナンスをする場面があり、Tomcat へ WAR ファイルをデプロイすることになりました。概念はなんとなく理解していたのですが Tomcat への実作業は初めてだったのでメモ。小さいシステムだったのでよかったですが、大きなシステムでドキュ…

2019/03/25 Avro と Protocol Buffers

オフィスが4月から移転するので、今週はバタバタしそうです。移転先では多くの部署が集約されるのですが、そのせいで人が多く、エレベータが長蛇の列・・・という噂もちらほら。駅からも遠いし少し憂鬱ですが、ランチする場所は増えそうなのでお昼は楽しみで…

2019/03/20 Glue の SparkSQL が直接 DataCatalog にアクセスできるようになりました

先日のアナウンスで、Glue Job から DataCatalog に直接アクセスできるようになりました。 「AWS Glue によって Apache Spark SQL クエリの実行が可能に」というリリースタイトルがやや誤解を招きそうですが、Spark SQL はもともと利用できたのですが、今ま…

2019/03/12 DynamicFrame の書き出し

Glue の書き出しは結局 "from_options" で Glue Job による DynamicFrame のデータ書き出し方法には書き出し方法がいくつかあって、 from_options を使っていたのですが、ふとドキュメントを見ていると from_catalog というメソッドが。 Glue Job を使う以上…

2019/03/06 AWS での ETL 方法 (Glue Job / Athena)、Glue での ETL 基盤構築事例

AWS などのクラウドサービスは多くのサービスが提供されているので、それを組み合わせるだけで目的のシステムが構築できるかというと、似たようなサービスがあってどちらを使うべきか判断に迷う場面も多く、調査に時間を要すると感じます。今は ETL 処理に何…

2019/02/27 Athena の結果を Parquet 形式で出力したい

今日は Athena でのクエリ結果の出力方法についてです。 ユースケースがハマるなら CTAS で、データサイズが小さいなら Python 側で処理して、そうでなければ現状は Athena を使うのは難しそうです。データの加工に Glue Job を使えば、SparkSQL を発行して …

2019/02/26 StepFunctions + Athena 動作の読み解き

昨日も少し触れましたが、StepFunctions から Athena を呼んで ETL 処理をさせたいと思っています。AWS の方に、以下のリポジトリが参考になると紹介していただきました: github.com 以下の図が動作概要図です: この図、一見分かったような気になりますが…

2019/02/25 AWS サーバレスアーキテクチャ諸々

先週から調べていたことの簡単なまとめです。 AWS SAM サーバレスアーキテクチャに適した形で CloudFormation を使えるようにする拡張です。SAM = Serverless Application Model。サンプルを動かしていたのですが、IAM の設定がどうしてもうまくいかずにひと…

2019/02/19 コンウェイの法則

AWS

2月頭に箱根に行って、「ガラスの森美術館」に行こうとしたら閉館しており、隣に建っている「星の王子さまミュージアム」に行きました。そこで買ってきた星の王子様を週末読み終えたのですが、意外なバッドエンド?に驚きました。王子様が自殺する経緯につい…

2019/02/15 Glue Job の同時実行数について

Glue Job から Spark ジョブを呼ぶことで、大規模データに対する ETL 処理をしたいなと思っているのですが、Glue Job に同時実行数の制限があることに気がつきました: docs.aws.amazon.com Glue Job にはテンプレート部分を記述して、実際に動かす SparkSQL…

2019/02/12 CloudFormation

先週末、都内でキャンプをしまして、インドアな自分としてはとてもアクティブな体験でした。たき火を見ながらぼーっと話をするのもよいものです。翌朝起きたら、キャンプ場一体が雪で真っ白だったことにも驚きました。新鮮な体験でした。 AWS での運用につい…

2019/02/06 DynamicFrame の出力スキーマを parquet-tools で確認

AWS Glue で書いた Parquet ファイルが Glue のデータカタログのスキーマと異なることが度々発生しているので、直接 Parquet ファイルのスキーマを確認できないか調べたところ、parquet-tools コマンドで確認できることがわかりました。 github.com mvn inst…

2019/02/05 AWS サービスにインストールされている boto3 のバージョン

AWS CodeCommit を利用して、Glue Job から CodeCommit からファイルを取得して集計処理をしたいなと思ったのですが、 get_file というメソッドが存在しないとエラーが起きてしまいました。 boto3.amazonaws.com GitHub の boto3 リポジトリを見ると get_fil…

2019/02/01 Parquet ファイルと Glue DataCatalog のスキーマ差異の問題など

AWS Glue と戯れる日々なのですが、SparkSQL の扱い方がわかったところでまたいくつか問題が。 Parquet とテーブルスキーマのフォーマット差異 S3 に書き出したファイルを Glue の DataCatalog を経由して Athena や Redshift から読み込もうとすると、Athen…