この記事は、Brainpad Advent Calender 15日目の記事です。 本記事では、メモリに乗らないようなデータもPandasやNumPyライクに操作を行い、スケールアップ・スケールアウトにも対応できるライブラリ、Daskについて、簡単に紹介をします。 はじめに Pythonでデータ分析や機械学習をする際、PandasやNumPyを用いる場面が非常に多くなってきました。 しかし、PandasやNumPyではメモリに乗らないデータの扱いが難しかったり、基本的にシングルコアでの処理を行うため、速度が遅い、といった問題があります。例えば、サーバー上で実行する際、CPUの論理コアが32個あっても、1個のCPUしか使用していない、といった感じです。 近年、データ分析関連のライブラリは非常に多様化しており、派閥(?)が沢山あるようです。 個人的には、Pandas作者であるWes McKin
「JX通信社Advent Calendar 2019」10日目の記事です. 昨日は, @rychhrさんの「Pure WebSocketsをサポートしたAWS AppSyncでWebとiOS間のリアルタイムチャットを作ってみた(1)」でした. 改めまして, こんにちは. JX通信社でシニア・エンジニア&データ基盤エンジニアをしています, @shinyorke(しんよーく)と申します. JX通信社では, データ駆動での意思決定および施策実施をより円滑に進めるため, データ基盤の構築・運用を進めながらトライアル的に様々なFrameworkやツールの検証を行っています.*1 このエントリーでは, 私がシュッとPySparkで分散処理をする...前に, 手元で試したときの感想とその知見 のお話を残していきたいと思います. なお, 分散処理そのものの知見・ノウハウではなく, する前にPySparkに
なぜSpark? ビッグデータでデータサイエンスでマシンラーニングのアーティフィシャルインテリジェンスだからです。ビッグデータ分析はHadoopがデファクトスタンダードです、ということを最近入社した会社で生まれて初めて知りました。 SparkがあればMapReduceだけでは難しい分析やデータ処理もパパッとできてしまいます。 なぜClojure? 私はOCamlが大好きです。つまりJavaとかちょっとしんどいです。しかしSparkはJVM言語かPython(PySpark)を使うこと前提となっています。OCamlは残念ながらJVMでは動かないしPythonでもありませんので使えません。 普通だったらJavaかScalaなのですが、Javaを休日に使うのは勘弁して欲しいです。final List<String> someString = new ArrayList<String>();ってこ
こんにちは。木内です。 今回はデータサイエンティストのコンペティションサイトとして有名な kaggle に Apache Spark で挑戦してみたいと思います。 使っている方は知ってはいるのですが、実は kaggle では Apache Spark を使用している人はあまり多くありません。日本でも kaggle の例を見てみると、Python+numpy+pandas+scikit-learn(+TensorFlow)という組み合わせで挑戦している方が多数です。 今回の記事はあえてApache Spark縛りで kaggle のコンペティションに参加してみて、実際 Pandas/numpy/scikit-learnでやっていることをApache Sparkに置き換えることができるのか、置き換えるとしたらどうするのか、というところに着目し、実際に結果を投稿するところまでやってみたいと思いま
タイトルについて、日本語の情報があまりなかったので書いてみました。 知っておくと、BIツールとの連携が広がるのかな..と思いました。 と言いながら、すべてローカル環境で完結する手順になってます。 HDFSは利用していません。ですが、Sparkクラスタ環境の場合でも大きく手順は変わらないと思います。 私の動作環境は、以下の通りですが、古くても動くと思います。 Mac Mojave jdk 1.8 spark 2.4.0 PostgreSQL 11.2 事前準備 すでに準備ができていれば不要です。 Spark 2.4.0ダウンロード cd ~ # ダウンロード curl -O http://ftp.kddilabs.jp/infosystems/apache/spark/spark-2.4.0/spark-2.4.0-bin-hadoop2.7.tgz # 解凍 tar xvfz spark-
前回はこちら はじめに 今日はsparkの標準ライブラリであるMLlibを利用してみます。 sparkにはMLlibを含め、4種類の標準ライブラリがあります。 他のライブラリに関しては、こちらを参照ください。 MLlibとは spark上に実装されている機械学習のライブラリです。 機械学習の実装はすごくムズカシイのですが、MLlibは割と簡単に試すことができ、サポートしているアルゴリズムも豊富なのでとっつきやすい気がします(私見です)。 とりあえず、協調フィルタリングを試してみます。 協調フィルタリングについてはこのブログが大変参考になりました。 実装手順 1. 必要なライブラリをimportする from pyspark.mllib.recommendation import ALS, MatrixFactorizationModel, Rating
ratingの名前の通り、「ユーザーがその商品にどれだけ評価値を付けたかどうか」が本来の使い方になりますが、上記の通り「商品を購入したかどうか」、または「ページにアクセスしたかどうか」といったデータでも実装は可能です。前者の場合は「ユーザーがその商品を購入するスコアはどのくらいか」、後者は「ユーザーがそのページにアクセスするどのくらいか」を予測するモデルになります。 学習データを加工する ユーザーIDや商品IDがint32の最大値(2,147,483,647)までしか扱えないため、それを超えるIDがある場合にIDを改めてナンバリングし直します。また整数値しか扱えないので、文字列含まれる場合も同様にナンバリングし直します。 IDが整数値かつint32の最大値を超えない場合は、この工程は飛ばしてください。 #!/usr/bin/env python # -*- coding: UTF-8 -*
皆さん こんにちは、GMOアドマーケティングのS.Rです。 SparkのProgramを開発する上で、Performanceの改良やInstanceの設定のTuningはかなり重要です。 これらのチューニングはSparkのWebUIを使えばかなり簡単に制御できます。 そこで、今回はSparkのWebUIを皆さんへ紹介致します。 ※この記事を理解するには、Spark、Hadoop、Linuxのshellコマンドの基本知識が必要です。 1 Sparkとは? Sparkの概要は以下のWikipediaの記事を参考にして下さい。 Apache Sparkはオープンソースのクラスタコンピューティングフレームワークである。カリフォルニア大学バークレー校のAMPLabで開発されたコードが、管理元のApacheソフトウェア財団に寄贈された。Sparkのインタフェースを使うと、暗黙のデータ並列性と耐故障性を
こんにちは、朴と申します。 本日はSpark-testing-baseを使ってSpark処理の単体テストの書き方について触れてみたいと思います。 ローカルで並列処理の単体テスト動かすのは少しハードル高く感じるかもしれませんが、 ちょっとした設定でスムーズに動かせたので、設定から簡単なテストまで書いてみたいと思います。 Spark-testing-baseの概要 ローカルでSparkのプログラムの単体テストを書く為のフレームワークです 複雑な設定をせず簡単にSparkプログラムの初期化、起動ができます。 簡単な紹介など、以下のリンクから確認できます。 Spark-testing-base 設定 とりあえず、公式サイトにある通り設定を行います。 sbtプロジェクトのbuild.sbtに以下のdependencyを追加します。 ※2.2.0の部分は実際使うSparkのバージョンに合わせてください
Awesome Data Engineering A curated list of awesome things related to Data Engineering. Contents Databases Data Ingestion File System Serialization format Stream Processing Batch Processing Charts and Dashboards Workflow Data Lake Management ELK Elastic Logstash Kibana Docker Datasets Realtime Data Dumps Monitoring Prometheus Testing Community Forums Conferences Podcasts Databases Relational RQLite
(English page) Frocessing FrocessingはProcessingライクなドロー系AS3ライブラリです。あくまでライクです。 移植ではなくリファレンス実装なので本家と違う振る舞いをする部分もあります。 ※PerlinNoise?,PFont等はほぼ移植になります。3D、Font、Image等は気持ち程度です。 また、現在テストが十分ではないのでバグが多いと思います。まとめると、遊ぶのがメインの酔狂なライブラリです。 Articles gihyo.jpでFrocessingの連載をしています。よろしかったらどうぞ FrocessingではじめるActionScriptドローイング Adobe Developer Connection FlashでSVG形式のベクターグラフィックを利用する Note 3D系の実装をしている最中で、なかなかのコード荒れ気味につきご了承
Genius Framworkとは Flexアプリケーションのアーキテクチャを提供するフレームワークです。 ビュー層には The Flex Code-Behind Pattern を採用 (MXML と AS を分離する) コントローラ層には Thread を採用 プロジェクトのスケルトンを作成するコマンド(シェルスクリプト)が付属 モデル、ビュー、スレッドのスケルトンを生成するコマンド(シェルスクリプト)が付属 BrowserManager と ViewStack を使った状態管理の仕組み(デフォルトはページ単位) Macの変速ホイールスクロールをサポート(JS はファイル不要) 独自ビューコンポーネント (Link, SimpleButton, AdvancedCanvas, AdvancedRadioButton など) ダウンロード リポジトリからのチェックアウトによってのみの提供
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く