AKB428は荒野を目指す

秋葉原で働くエンジニアなブログ

まさか、TwitterのHadoop解析をファイヤーホース無しで? (2)

とりあえず既存のTwitter画像収集ツールをコピーして、ブランチ切ってHBaseロジックを足したものを作成。

OSXにはHBaseはサクっとインストールできる。


hadoop - Mac OSXでHBaseを使う - Qiita

AKB428/maki · GitHub

 

Firehoseって検索したけどやっぱ有料っぽい。

日本のグーグル先生に聞いてもNTTデータの記事しかひっかからないのがいやん

NTTデータが国内全ツイート情報を再販、TwitterとのFirehose契約で -INTERNET Watch

 

米Twitter社とツイートデータ提供に関するFirehose契約を締結 | NTTデータ

 

Firehose無しで現実的にTwitter解析分析ができるのか。

果たして僕達はNTTDATAに勝てるのか。

それを試してみたい。

 

 

TwitterのHadoop解析をファイヤーホース無しで? (1)

やりたい。

 

設計としては

TwitterからStreamingAPIでかたっぱしからデータを抜き出し

- CSV

- Fluend/Flume

- HBase

の3アプローチのいずれかでデータを保存。

 

CSV/Fluend/FulmeのデータはHDFS->Hiveに格納。

HiveのデータはHiveかImpalaで解析。

 

とりあえずOSXにHBaseはすんなり入ったのでプログラムを書いてみる。

 

Hbase参考記事


ビッグデータ処理の常識をJavaで身につける(3):いまさら聞けないKVSの常識をHbaseで身につける (2/3) - @IT

 

 

OpenStack Swift 解析3

Swiiftクライアントを作るつもりがswiftサーバーのコードまで見る羽目に

openstack/swift · GitHub

 

Pythonで作られていて(意外)

WSGIインターフェースで作られているようだ。

 

たぶんクライアントを作るには究極的にはOpenStackサーバーをローカルで動かさざるをえない

http://devstack.org/

 

上記からOpenStackはインストールできるようだ

 

 

 

 

Conohaオブジェクトストレージ(OpenStack Swift)でファイルをWEB公開する 2

WEB公開はうまくいったけどリスティングのやりかたが不明

ファイル一覧を開くとXMLが表示される

 

https://github.com/openstack/swift/blob/116ac459a64471b09a5e989e88349c66f470ce38/swift/container/server.py#L480

 

どうもこのルートにはいってるらしい

 

どうやらリクエストによってアウトプットの形式をきめてるくさい

https://github.com/openstack/swift/blob/116ac459a64471b09a5e989e88349c66f470ce38/swift/common/request_helpers.py#L59

 

ブラウザから開くとXMLモードが選ばれる(Chrome/Firefix)、IEはtext/plain

curlでやるとjsonでリスト形式も返却されるっぽいので、HTMLでファイル一覧をやりたかったらjsでajaxで取得して一覧をジェネレートするのが一番よさそう。

 

listing.cssの設置の仕方がわからんのでそっちのほうが早い

 

OpenStackで静的ページを公開するための情報収拾2

rubyでがちゃがちゃ書いててうまくいかないのでサーバーの実装とかを見てみる

 

OpenStackのswiftサーバーの静的ページ部分の実装コード

https://github.com/openstack/swift/blob/116ac459a64471b09a5e989e88349c66f470ce38/swift/common/middleware/staticweb.py

 

PythonWSGIミドルウェアらしい

 

Swiftを'X-Web-Mode'で検索した結果

https://github.com/openstack/swift/search?utf8=%E2%9C%93&q=X-Web-Mode

 

HTTPヘッダーなので大文字小文字は区别しないようでコードでバラバラになってるw

 

どうやら 'X-Web-Mode'ヘッダー以外にも「'X-Container-Read': '.r:*',」というのがいるっぽい(こちらはaclミドルウェア)

 

Search Results · GitHub

 

もしくは「 'X-Container-Read': '.r:*,.rlistings'

 

 

OpenStack で コンテナをの内容を静的ページとして公開する

用はAmazonS3のこういうことがOpenStackでもできるらしい

Amazon S3 での静的ウェブサイトのホスティング - Amazon Simple Storage Service

 

 

Openstackのマニュアルの以下の文書

Create static website - OpenStack Object Storage API v1 Reference - API v1

Create static website

To discover whether your Object Storage system supports this feature, see the section called “Discoverability”. Alternatively, check with your service provider.

You can use your Object Storage account to create a static website. This mode is normally only active for anonymous requests, which provide no authentication token. To use it with authenticated requests, set the header X-Web-Modeto TRUE on the request. To determine whether the static website feature is enabled, contact your service provider.

For example:

 

 

ゆとり世代的に翻訳すると

 

「HTTPヘッダーにX-Web-Modeto TRUEってつけると静的WEBとして公開できるぜベイビー」・・・と書いてある。

 

すげーかんたんだわ・・・

 

 

RubyでOpenStack Swiftクライアントとgem作って公開しました

とりあえずアップロードのみ

AKB428/Chino · GitHub

rabbit_swift | RubyGems.org | your community gem host

 

 

 

OpenStackはAPIマニュアルも整頓されてて素敵

http://docs.openstack.org/api/openstack-object-storage/1.0/os-objectstorage-devguide-1.0.pdf