DataFrameを仲介役に、いろいろしていくために。
IoTと違い、あまりバズりそうにないIoE(Internet of Everything)。言い出しっぺはシスコシステムズあたりだとか。データサイエンティストはバズったのだろうが、実態としてのデータマエショリストは名前からしてあまりバズってほしくない。
ただ、IoT案件をデータ側から見た場合、クライアントにとって有意な分析をするために、IoTなセンサーデータと他のデータとを組み合わせて...といった話が多いはず。何らかのデータが来て、それなりの前処理をして...ってものを、「IoEなデータ前処理」といっても良いはず。
ということで、近い将来の、あるいは、あしたの「IoEなデータ前処理」の基礎力・応用力つくりをDataFrame(自分の場合、pandasなそれ)を使ってこつこつと取りんでいきたい。
想定する(実装する)お題。
以下の想定のもと、お試し実装を進めていきたい。
①費用対効果の高いデータ処理基盤をクラウド上に準備
データは21世紀の原油、なんだとか。石油産業で原油の掘削・輸送コストが事業上の大きな課題であるように、データ処理でも費用対効果は実務上の大きな課題。クラウドはAWSでもAzureでもGCPでも良いので、(工数的な意味も込みで)費用対効果の高いデータ処理基盤の構築方法を探っていきたい。
②データの活用過程にEthereum仕様ベースの実行が組み込まれる。
別にEtheereumでなくても良いんだけれど、IoT/IoEな分散システムでは、ブロックチェーン(あるいはその派生・改良版)を活用しての証憑確保というシナリオは定着していくものと考えている。特にクラウドを使う場合、クラウド上の情報を全面的に信用することはよろしくないだろうから、正しい意味でのブロックチェーンの活用は望ましいところ。
ということで、ワールドコンピュータという野心的なビッグマウスが、少なくとも金銭的評価では成功しているEtheereumを使う。
Ethereumのモバイル・IoTクライアント向け実装
これは、Ethereumのモバイル・IoTクライアント向け実装(Status)が、Nimで書き進められていることによる。ラズパイでNimしたいしたい。
③データ量は急増しうる(バズりうる)
テレビ放送かFintechかICOなどな何かによって(->テキトー)、特定ドメインのデータ量が急増することがありうるものとする。 ということでデータ量の増減に強いアーキテクチャを試したい。ストリーム処理だろうか。
④ラズパイからデータを受け取り続ける。
(多くの場合)IoEはIoTを含む。近い将来にラズパイ3やラズパイ4、あるいは他のより省電力な機器からデータをたくさん受け取ることを想定(実際に受け取ることもやる)。端末側の諸シナリオ(通信回線品質、機器故障、情報セキュリティなど)を扱う
準備開始
千里の道もはじめの一歩から。ということで、手始めは自分には割合と長い付き合いのCloud9にお試し環境を用意することから始めたい。
さすがに今回は途中から有償環境も使うかな。
cloud9にMiniconda
骨太なPythonistaからはいろいろと批判もあるAnacondaシリーズ。ただ、お試し用途に便利なことも事実。ここでは弟分のMinicondaを導入しておきたい。pythonはなるべく新しいものを使いたいもので。
Qiita上の先人に習い、pyenvを入れてしまう。
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
pyenv経由でminicondaを入れるに辺り唯一のポイントは導入可能なminicondaのバージョンを確認しておくこと:
pyenv install --list | grep mini
導入バージョンが決まれば、あとは一直線。例えば:
pyenv install miniconda3-4.3.30
pyenv rehash
pyenv global miniconda3-4.3.30
とりあえず、pandas(+numpy)は入れておこう。
pip install pandas
minicondaなら、cloud9でも余裕で導入できる。nimの最新版も一緒に導入できるくらい余裕がある(#あしたのIoEではバイナリ通信周りは全面的にnimに任せようと思っている)。
$ nim -v
Nim Compiler Version 0.17.3 [Linux: amd64]
Copyright (c) 2006-2018 by Andreas Rumpf
git hash: b4eff82e62883d307db83f3e875be2e1b521b0ff
active boot switches: -d:release
$ python -V
Python 3.6.3 :: Anaconda, Inc.
もっといろいろ入れたくなったら、AWSの安いプラン(当初は無料)でcloud 9ね。
続く。
IoE、その心は?
バズりそうにないIoE(Internet of Everything)ではなく、IoE = Internet of Ethereumで良いのではないかと思っている。投資家・投機家の皆さま観点からは、今年は、Ethereum叩きな観点になるのかもだけれど。Nimタグつけといてnimについて何も書いてないけど、Internet of Ethereumのモバイル端末のマエショリストはこのnimめにお任せくださいませ(お噛ませくださいませ)、的な。
それなんて、あしたのJoE、、、
なんか微妙なタイトルじゃないかって。
それは、『あしたのジョー』作家先生、ちばてつや御大が自ら描いた幻のラストを目にしてしまったから、、、
( 出典 三重・四日市市 私立博物館、なのかな)
なんかパンチドランカーとかそういうのを超えたインパクトが(真っ白な灰、燃え尽き症候群、いや、そんなのとは違う、、)。『はじめの一歩』の作者先生もこれを目にしてしまったのだろうか、、、
少なくとも仮想通貨が下がって燃え尽きてたそがれている人ではないが。
ということで、なんとなく、あしたのIoE。
明日に向かって(コマンドを)打つべし、打つべし。(サンドバッグではなくサンドボックスを)叩け、叩け、叩け、おいらにゃぁ(以下 ry...)。