Amazon Athenaで日時バッチ処理を作成 はじめに EMR on Sparkで実行していた日時処理(の一部)を、AthenaのCTASで実装し直した記事です。 何故このような対応をしたかというと、単にコスト削減&高速化のためです。 ただ、実行するクエリや処理するデータ量によっては、この対応により逆に高コスト&低速になる場合もあるので、事前に評価を行う必要があります。 この対応でどのようになったか この処理が毎日READ/WRITEするデータのサイズは下記のとおりです。 READデータ:約 80 GB/日 WRITEデータ:約 6 GB/日 この対応により、速度とコストは下記のようになりました。 EMR Athena 計算式については、後述します。 Athenaの速度は、Sparkと同様のクエリでは約24分でしたが、クエリ内の「ORDER BY」を外すと約6分で終了しました。 そのた
こんにちは。木内です。 今回はデータサイエンティストのコンペティションサイトとして有名な kaggle に Apache Spark で挑戦してみたいと思います。 使っている方は知ってはいるのですが、実は kaggle では Apache Spark を使用している人はあまり多くありません。日本でも kaggle の例を見てみると、Python+numpy+pandas+scikit-learn(+TensorFlow)という組み合わせで挑戦している方が多数です。 今回の記事はあえてApache Spark縛りで kaggle のコンペティションに参加してみて、実際 Pandas/numpy/scikit-learnでやっていることをApache Sparkに置き換えることができるのか、置き換えるとしたらどうするのか、というところに着目し、実際に結果を投稿するところまでやってみたいと思いま
ratingの名前の通り、「ユーザーがその商品にどれだけ評価値を付けたかどうか」が本来の使い方になりますが、上記の通り「商品を購入したかどうか」、または「ページにアクセスしたかどうか」といったデータでも実装は可能です。前者の場合は「ユーザーがその商品を購入するスコアはどのくらいか」、後者は「ユーザーがそのページにアクセスするどのくらいか」を予測するモデルになります。 学習データを加工する ユーザーIDや商品IDがint32の最大値(2,147,483,647)までしか扱えないため、それを超えるIDがある場合にIDを改めてナンバリングし直します。また整数値しか扱えないので、文字列含まれる場合も同様にナンバリングし直します。 IDが整数値かつint32の最大値を超えない場合は、この工程は飛ばしてください。 #!/usr/bin/env python # -*- coding: UTF-8 -*
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く