TEPPEI STUDIO

ENJOY RESTRICTION

Hadoop

GraphX Advent Calendar - Day 17 - 媒介中心性

GraphX Advent Calendar 2014 - Adventar 17日目です。 年が明けている気もしますが、気にしないでください。クラスタリングネタの続きです。前回は、クラスタリングの指標としてモジュラリティについて見てみました。今日からは具体的なクラスタリング手法…

私が GraphX を推す理由

この記事は、Spark, SQL on Hadoop etc. Advent Calendar 2014 - Qiitaの21日目の記事です。 なぜ GraphX を推すのか 私は、GraphX Advent Calendar 2014 - Adventarを立ち上げて「全部俺」状態で頑張っています(だいぶ遅延を見せていますが…)。もしやと思…

GraphX Advent Calendar - Day 16 - クラスタリング・モジュラリティ計算

GraphX Advent Calendar 2014 - Adventar 16日目です。 今日からはクラスタリングを見ていきますクラスタリングで一般的なのは K-means 法に代表される距離によって分類していくやり方ですが、グラフ分析では「密度」で計測します。辺による繋がりによる頂点…

GraphX Advent Calendar - Day 15 - 最短距離計測

GraphX Advent Calendar 2014 - Adventar 15日目です。 Pregel 活用例第3弾です。頂点と頂点との距離を計測する方法について見ていきます。 考え方 おなじみ、スライド解説です。 GraphX Advent Calendar Day15 from Teppei Tosa 実装 // 短い方􏰁距離を選定…

GraphX Advent Calendar - Day 14 - グラフ形状の評価 ~友達の輪を探せ~

GraphX Advent Calendar 2014 - Adventar 14日目です。 Pregel 活用例第2弾です。友達関係のグラフから、「友達の輪」つまり、ネットワークの流れが循環しているところを抽出する処理です。今回は指定ステップ以内で循環している頂点を探します。 考え方 今…

GraphX Advent Calendar - Day 13 - 指定階層内隣接頂点の検出 ~友達の友達の友達は誰?~

GraphX Advent Calendar 2014 - Adventar 13日目です。今日からは、昨日説明した Pregel を使った様々なアルゴリズムを見ていきたいと思います。まずは、指定階層内の隣接頂点の検出についてです。つまり、友達の友達の友達は誰(3次階層以内の隣接頂点)?…

GraphX Advent Calendar - Day 12 - Pregel 概要

GraphX Advent Calendar 2014 - Adventar 12日目です。ページランクアルゴリズムに予想以上に苦戦しているので、できるところから見ていきます ^^; 今日は Pregel です。 Pregel とは Pregel は Google が開発したグラフアルゴリズムを実装する ため…

GraphX Advent Calendar - Day 11 - 連結グラフの分類

GraphX Advent Calendar 2014 - Adventar 11日目です。今日はページランクアルゴリズム!と予告していたのですが、ちょっと時間がかかりそうなので、連結グラフの分類について、まずは取り掛かりたいと思います。 連結グラフ( Connected Graph ) 連結グラ…

GraphX Advent Calendar - Day 10 - 次数情報の計算と、隣接情報の収集

GraphX Advent Calendar 2014 - Adventar 10日目です。今日からは、グラフ処理っぽい処理を扱っていきます。 次数情報の計算 次数( degree )とは、頂点に接続している辺の数のことです。その頂点に接続してきている辺の数を入次数( in degree )、その頂…

GraphX Advent Calendar - Day 09 - グラフに対する編集処理

GraphX Advent Calendar 2014 - Adventar 9日目です。Day 06 から 08 にかけて、辺や頂点に対する編集処理を見てきましたが、今日は、グラフ全体に対する編集処理を見ていきたいと思います。 reverse とはいえ、これはEdgeRDD.reverse と変わりません。 各E…

GraphX Advent Calendar - Day 08 - EdgeRDD

GraphX Advent Calendar 2014 - Adventar 8日目です。一昨日説明した、VertexRDD と EdgeRDD について、昨日は VertexRDD の処理を紹介しましたが、今日は EdgeRDD です。 mapValues Day05 でも紹介した、それぞれの辺の編集処理を行うための関数です。 val…

GraphX Advent Calendar - Day 07 - VertexRDD

GraphX Advent Calendar 2014 - Adventar 7日目です。昨日は、VertexRDD と EdgeRDD の概要について書きました。今日はVertexRDDが持つ昨日をひとつずつ見て行きたいと思います。 filter 頂点を特定の条件で抽出するための関数です。 val filteredVertices:V…

GraphX Advent Calendar - Day 06 - VertexRDD と EdgeRDD とは

GraphX Advent Calendar 2014 - Adventar GraphX Advent Calendar 2014 - Adventar 6日目です。Day05 では、頂点の情報の編集や、辺の情報の編集方法を紹介しましたが、他にも頂点や辺の情報を扱う処理は、GraphXによって準備されています。それらの処理を持…

GraphX Advent Calendar - Day 05 - 頂点と辺と、そしてトリプレット

GraphX Advent Calendar 2014 - Adventar 5日目です。 Day04で生成したグラフデータを元に、色々な編集処理を見ていきましょう。 頂点の値を編集 頂点の値を編集するには、 mapVertices という関数を使います。 val graph2:Graph[Long, (Long, java.util.Dat…

GraphX Advent Calendar - Day 04 - 表構造データからグラフデータを生成する

GraphX Advent Calendar 2014 - Adventar 4日目です。Day03では、辺の構造のデータからグラフデータを生成しましたが、今日は、普通の表構造のデータからグラフデータを生成してみます。 読み込み時に複雑なデータモデルから読み込み GraphLoader.edgeListF…

Asakusa Framework Advent Calendar 2014 - 3日目 - Asakusa Framework に見る OSS の後方互換性

Asakusa Framework Advent Calendar 2014 - Adventar の3日目です。先日、【5/13(火)】Asakusa Framework紹介セミナー(2014/5/13) - OSSコンソーシアム に参加してきました。私も講演者として参加してきたのですが、まぁそれはいいとして、ノーチラス社長の…

GraphX Advent Calendar - Day 03 - グラフの頂点情報を編集する

GraphX Advent Calendar 三日目です。今日から何回かにかけて、GraphX でグラフにどのように情報を持たせるか、グラフに持たせた情報をどう編集するのかを説明します。 辺情報から生成したグラフ情報に頂点情報を追加する 昨日も説明した通り、最も簡単なグ…

GraphX Advent Calendar - Day 02 - GraphX はじめの一歩

GraphX Advent Calendar二日目です。今日は GraphX をひとまず始めるにあたっての手順をまとめてみます。 はじめの一歩 まずは 以下のように依存性を解決します。project/GraphXAdventSamplesBuild.scala import sbt._ import sbt.Keys._ object GraphXAdven…

GraphX Advent Calendar - Day 01 - GraphX とは

はじまりました、 GraphX Advent Calendar 。予想通り、今のところ私一人しかエントリーしてませんね。このまま25日間一人で完走することも厭わない所存でございます。まず1日目は、GraphX の紹介しておきます。 GraphX とは GraphX は、Apache Sparkのコン…

Asakusa Framework 勉強会 2014 秋 を開催しました

ちょっと前になりますが、毎季節恒例のAsakusa Framework 勉強会を開催しました。今回は、サイトロック様に会場を無償御提供いただき、開催しました。ありがとうございます。 はじめの一歩 最初の発表は私から、恒例のはじめの一歩です。9月末にリリースさ…

Asakusa Framework 勉強会 2014 真夏 を開催しました

スピンオフ企画 今回の勉強会は、2014冬からやっている、Asakusa Framework 勉強会 春夏秋冬シリーズのスピンオフ企画として位置づけました。普段は比較的お固めの雰囲気で、ひとつのテーマも30分程度の時間でやっていますが、今回はビアバッシュ形式につ…

Asakusa Framework 勉強会 2014 夏 を開催しました

Asakusa Framework 勉強会 2014 夏 from Teppei Tosa シリーズ3回目の開催 「冬」から初めて、Asakusa Framework 勉強会シリーズも3回目です。今回はオージス総研様に会場を無償ご提供いただき、開催致しました。ありがとうございます。参加者も毎回4〜5…

「Asakusa Framework 勉強会 2014 春」を開催しました

去る4月7日(月)に、Asakusa Framework 勉強会 2014春 - connpassを開催致しました。会場を無償提供していただいたNSSOLさん、発表いただいた皆様、受付等を手伝ってくれたチームの皆、そして、来場していただいた参加者の皆様、本当にありがとうございま…

Asakusa Framework はじめの一歩・改

「Asakusa Framework 勉強会 2014春 - connpass」の開催に合わせて、はじめの一歩を作り直しました。「改」としているのは、DmdlEditorXやToadEditor、そしてShafuの利用によって、これまでコマンドラインやベタなプログラミングであった手順のほとんどがGUI…

Asakusa Framework 勉強会 2014 冬 を開催しました

Asakusa Framework 勉強会 2014冬 - connpassを、1月29日に開催しました。初めての勉強会主催でしたが、色々な人に助けられ、無事に開催することができました。場所を無償でご提供いただいたハイソルさん、受付を手伝ってくれたチームの皆、講演していた…

Asakusa Framework : 0.5.3リリースの注目点まとめ

去年末のクリスマスイブに0.5.3がリリースされました。私がブログで書いてきた点についても、いろいろ改善がされているので、まとめてみたいと思います。 DMDLコンパイラ, DSLコンパイラ, Direct I/O実行時のエラーメッセージを改善 Modelプロパティ名の制約…

Asakusa Framework は基幹バッチ開発のためのものなのか?

この記事は、以下ふたつのAdventCalendarの20日目の記事として書いています。 Hadoop Advent Calendar 2013 - Qiita [キータ] Asakusa Framework Advent Calendar 2013 ここ1、2ヶ月でAsakusa Frameworkの記事はこれで10本目となりますが、私がこうして…

Asakusa Framework : ケーススタディ:結合モデルのCSV出力

Asakusa Framework Advent Calendar 2013の10日目の記事です。Asakusa Framework : MasterJoinのハマりやすいところ - TEPPEI STUDIOの記事で、「結合後モデルは出力できない」と書いてしまいましたが、某所で「できる」と御指摘を受けましたので、こちらで…

Asakusa Framework : ケーススタディ:多対多のデータモデル結合(CoGroup編)

Asakusa Framework Advent Calendar 2013の4日目の記事です。先日書いた、Asakusa Framework : ケーススタディ:多対多のデータモデル結合 - TEPPEI STUDIOの記事を受けて、某所にて「CoGroupで実装する方がいい」という指摘をいただいたので、やってみまし…

Asakusa Framework : ケーススタディ:多対多のデータモデル結合

Asakusa Frameworkシリーズ、ハマりやすいシリーズも一通りやった気がするので、ケーススタディを書いていきたいと思います。尚、この記事は、 Asakusa Framework Advent Calendar 2013の二日目の記事としても書いています。全然人が集まりませんが、少しで…