2014年04月04日

大規模分散処理系プロダクトなどのまとめ

大規模分散処理系プロダクト、フレームワーク、サービス等はHadoopを軸としてあまりに多岐に渡るのでざっくり羅列。

■ Hadoopファミリー
Apache HBase http://hbase.apache.org
Apache MapReduce http://hadoop.apache.org/mapreduce
Apache Pig http://pig.apache.org
Hadoop LZO http://github.com/toddlipcon/hadoop-lzo
Apache Hive http://hadoop.apache.org/hive
Apache HDFS http://hadoop.apache.org/hdfs

Apache Zookeeper http://hadoop.apache.org/zookeeper
- 分散サーバ管理
Hue http://github.com/cloudera/hue
- Hadoopコンソール
Oozie https://github.com/yahoo/oozie
- Hadoop ワークフロー
Sqoop http://github.com/cloudera/sqoop
- データ移行ツール
Impala https://github.com/cloudera/impala
- Hive互換

■ MapReduce
Cascading http://www.cascading.org/
- Hadoop MapReduceを抽象化
Scalding https://blog.twitter.com/2012/scalding
- CascadingをScalaから使う

■ 分散処理
Apache Kafka http://kafka.apache.org/
Apache Spark https://spark.incubator.apache.org/

Presto http://prestodb.io/
Storm https://github.com/apache/incubator-storm

Spark http://spark.apache.org/

■ Hadoopソリューション
Pivotal HD http://www.gopivotal.com/big-data/pivotal-hd
MAPR http://www.mapr.com/
Amazon Elastic MapReduce http://aws.amazon.com/jp/elasticmapreduce/

■ 大規模データソリューション
Treasure Data http://www.treasuredata.com/jp/
RedShift https://aws.amazon.com/jp/redshift/
FlyData https://www.flydata.com/ja/
Hortonworks http://hortonworks.com/

■ データ構造
Parquet http://parquet.io/
- HDFS上にカラム型データストレージを作成する
- 紹介記事
http://www.publickey1.jp/blog/13/hadoopparquettwitter.html

■ 通信周り
Thrift http://thrift.apache.org/
- 各種言語間RPC


posted by tfunato at 10:35 | コメント[0] | トラックバック[0] | 日記 このエントリーを含むはてなブックマーク はてなブックマーク - 大規模分散処理系プロダクトなどのまとめ

2014年02月18日

ymsr先生が逝った

そっと、亡くなったって。いわれた。
何のことかさっぱりわからなかった。

思わず電話かけてみた。
でない。

最初、どうせ壮大な悪ふざけだろうなぁと思ってたけど、そうじゃなかったのか。

そいや、初めて会ったのっていつだっけなと。
前職の案件で山城くんが関係していて、今度移籍して一緒に働くことになるってのを聞いたのが最初かなぁ。

入社してからは、一緒にモンハンばかりやってた気がする。
あとは、お金借りて飲みに行ったりとかしてたなぁ。

その後、なんだか、いろいろあって、別々の会社になってしまった。

露木さんも書いてたけど、うちの子もymsr先生によく遊んでもらった。
なぜか、ヨシオリさんと、他の人は「さん」づけなのだが、「ヤマシロ」とymsr先生だけは呼び捨てだったりした。

余談だが、レゴ・デュプロの緑のバケツにはいってたパンダに「ヤマシロくん」(のちに犬千代さん)と名づけて大事にしてた。

DSCF3491.JPG
DSCF3492.JPG
DSCF3493.JPG
DSCF3500.JPG

まだ、伝えていない。
自分で伝えてやってくれ。

ありがとう。バイバイ。

posted by tfunato at 02:12 | コメント[0] | トラックバック[0] | 日記 このエントリーを含むはてなブックマーク はてなブックマーク - ymsr先生が逝った

2013年02月01日

JJUG ナイトセミナー 2013年1月31日開催 Java HTML5 Night

久しぶりに、JJUG ナイトセミナー行って来ました。
今回は、JavaとHTML5がテーマとのことでした。

■ イントロダクション(JavaとHTML5のこれまで)
ひらいさだあき さん

・Javaの歴史 → JavaTimelineってのがある。HTML5で作られてる
懐かしいなあと。

Webの進化とか

・HTMLの歴史とか

・2013 Java8リリースされると思う
lambda expressions
JavaFX

Java5以来の大きな変化になりそうな気がする

■ WebSocket の概要
Websocket
・リアルタイム・ウェブをもたらす技術として
・TCP上に構築された双方向のソケット通信プロトコル
・HTTPベース
→ FW超えるの簡単だろう

原理
HTTP GETリクエストを送ってブラウザがWebSocketにつなぎ替える

URL スキーマは ws: or wss:
・Upgradeヘッダ付きのGetリクエストに対し「101 Switching Protocols」でつなぎ変え
・フレームという単位でデータのやり取りをする
・プロトコルの拡張が可能
・サブブロトコル
→ 接続確立後はシンプルなTCPソケット通信
あらかじめWebSocketの通信上でプロトコルを定義できる
JavaScriptAPI
ブラウザ対応はかなりすすんでいるIEは10から対応、FF、Chromeはすでに。iOS Safariは対応してる(6.0から)Androidの対応は微妙。
クライアントサイドは、かなり簡単に使える

■ Java EE 7 における HTML 5 対応
ひらいさだあき さん
WebSocket on GlassFish
詳しくはこちら
NetBeans7.2.1
Glassfish beta 4.0
Java 1.7
様々な、Websocket対応のサーバがある。
→ Javaもこれから増えるだろう
Node.jsの話
会場の人はNode.js使ってWebSocketを試してる人が結構多かった。

■Java EE 7 における HTML 5 対応
寺田さん

JavaCashingAPI、BatchApplication、JavaAPI for JSON、Java API for WebSocket
今年にはリリース
JSF2.2
HTMLテンプレートの話
→ XHTMLでViewをつくれるよ
JSPつかわないよ
 部品部品がコンポーネント化されているので簡単に作れる
JSR356 WebSocket API
標準のJavaEE 7でも使える?
参照実装:GlassFishV4 tyrusで実装してる
標準実装は簡単?
・WebSocketアノテーションベースでやる。使わなくてもOK。
→ @WebScocketEndpointとか
POJOでかく
クライアントもサーバサイドもかける!
URIのテンプレートマッチ
→ JAXーRSみたいなやつ。
/hoge/{param}
がパラメータとして取れる奴

-----
OracleResarchProject?
ProjectAvatar?
なんぞそれ。 → 先進的なHTML5アプリ構築フレームワークだと
→ サーバとクライアントはWebSocketを使ってサーバクライアントの通信
データ交換はJSON?

Javaイベント開催予定
Oracle主催
5月中旬ごろ

■ JavaFX と HTML 5(仮)
さくらばさん

・JavaFXでHTML5を扱おう!
Swingはもう更新されない。FXに移行する
JavaSE8でJavaFXが標準化される

JavaSE8 DevEditionが発表された
ビューをXMLでかけるようになった
FXML
Media H264動く
Chart(比較的簡単にかける)JfreeChartには及ばないかも?
CSS
Animation/Effect

Browswer
使えるようになった。
HTML5も使えるようになった
Applet動く
名前はWebView
WebKitがBase
→ Javaで書き直している!
JavaScript動くしDOMも扱える
Historyも使える
もちろんCookieも
   Flashはもちろん動かない
思った以上にFXのWebViewがよくできている!

HTML5 Testをかけてもなかなかのスコア
JavaScriptのベンチマークもそこそこの。。。

ようやくというか、WebSocketに対してJavaが、本気になったイメージを持ちました。
ただし、僕らがターゲットにしてるお客さんに対しては、どのシーンでWebSocketを使用して、サービスを作っていくのか、さっぱり検討もつかない。当分先になるだろう。
今年は、WebSocket祭りになるだろうとのことで、様々なサービスやアイデアが生まれてくるだろう。
HTML5とJavaEEがどう絡んでいくのか?
また、WebSocketはChromeを落とすぐらいすごい技術なので、今後が楽しみです。
posted by tfunato at 09:02 | コメント[0] | トラックバック[0] | Java このエントリーを含むはてなブックマーク はてなブックマーク - JJUG ナイトセミナー 2013年1月31日開催  Java  HTML5 Night

2010年11月25日

MongoDBをJavaからアクセスする際のサンプル

MongoDBをJavaからアクセスしてみました。
ソースコードはこちら。

https://github.com/tfunato/java-samples/tree/master/sample-mongodb/

UnitTestの形式になっています。
以下のことをとりあえず試してみました。
・DBへの接続
・データのInsert
・コレクションの削除
・DBの削除
・カーソルをつかった検索
・簡単な条件付き検索
  - OR条件
  - 比較条件
  - IN条件
  - 配列のマッチ
  - 要素数を条件とした物
  - DISTINCT

http://www.mongodb.org/pages/viewpage.action?pageId=6029357
ここにあるクエリーの例は同じようなやりかたで、使えるとおもわれる。

ソースをみればわかると思いますが、簡単にアクセスして格納・取得できます。
難点はBasicDBObject.get(key)した際にObjectという曖昧な型が返ってくるので扱いが面倒なこと。
(わざわざキャストしないといけないので、動的型付けなLLの方が検索結果を扱いやすいと思う。Genericsを使えば少しはましになるかも。ただ、データの型を予め知っていないといけない。うーむ。)

ただ、いくつかのO/Rマッパーはいるようなので試してみたいと思う。
posted by tfunato at 01:24 | コメント[0] | トラックバック[0] | MongoDB このエントリーを含むはてなブックマーク はてなブックマーク - MongoDBをJavaからアクセスする際のサンプル

2009年11月11日

Mavenと他のツールとの連携

実際の開発ではmaven単体だけで使われることはほとんどなく、mavenを複数のツールと組み合わせて使用します。
そのなかでもJava開発でよく使われているIDEのEclipseとの連携があります。
そのほかのIDEとしてはNetBeansや、最近、無償のコミュニティ版が提供された、IntelliJ IDEAもmavenと組み合わせることが可能です。

また、継続的インテグレーションツールとの親和性も高いです。


EclipseとMavenの統合



一番身近な例としてはEclipseとの連携です。

Eclipseのプラグインでm2eclipseというプラグインがあります。
これは、Eclipse上でMavenを使えるようにします。

主だった機能としては、mavenの設定ファイルであるpom.xmlを読み込んで依存関係にあるjarファイルを自動で取得してパスを通します。また、artifactIdと同じプロジェクト名のものがあればプロジェクト参照します。

その他、依存jarのjavaDocやソースコードをDLしてくれたりpomエディタなど便利な機能があります。

中でもPOMエディタは、依存関係を追加する際に該当するライブラリ名を補完したり、依存関係の一覧を表示できたりとかなり高機能です。

m2eclipseの対抗馬でEclipse IAM (q4e)というのもあり、両者ともEclipseの公式プラグインとなるべく提案されています。
http://www.eclipse.org/m2e/
http://www.eclipse.org/iam/
ただし、今後の展開を考えると、m2eclipseはSonatypeという会社(mavenのサポート、コンサルで稼いでいる?)が開発を行っており積極的に働きかけている関係上、OSSでやってるq4eは分が悪そうです。

See also:EclipseとMavenの統合についての比較

継続的インテグレーションツールとの統合



継続的インテグレーションツールとは、問題の早期発見などに主に使われていて、何度もビルドを行い、何度もテストをするという「確実なビルドを行う」ために使われているものです。CI(Continuous Integration)と呼ばれます。

See also:継続的インテグレーション

有名どころでは、

など、どれもmaven2をサポートしていて、mavenを連携させて簡単に設定を行うことができます。

posted by tfunato at 00:31 | コメント[0] | トラックバック[0] | Maven このエントリーを含むはてなブックマーク はてなブックマーク - Mavenと他のツールとの連携

2009年11月07日

Maven2のすすめ

maven-logo-2.jpg

認知度が結構あがってきてMaven2も
結構つかわれてきてるのではないかと思います。
でもまだまだ、Antやシェルを使ってコンパイルなどの作業を行っている人もいるでしょう。

そこでMaven2を使うメリット・特徴などを書いていきたいと思います。

続きを読む
posted by tfunato at 23:49 | コメント[0] | トラックバック[0] | Maven このエントリーを含むはてなブックマーク はてなブックマーク - Maven2のすすめ
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。