2010年11月22日月曜日

SASのハッシュオブジェクトを試してみた

SAS9.1からハッシュを使えるようになったみたいなので、試してみようと思います。
(実行環境SAS9.2)

ハッシュ(連想配列)とは、「キー」と「値」を1組のペアとして関連付けされた配列のことです。
配列へのアクセスキーを自分で設定でき、順序付けもされていないので、使い勝手が良いです。

「SAS認定プロフェッショナル SAS Advanced Programmer for SAS®9」の出題範囲にもなっているので、受ける方は知っておいて損はないと思います。


国名をキーとして首都名を値にもつ配列worldを作ってみました。

data _NULL_;
 * ハッシュで使用するキー変数, データ要素変数の属性を設定します。;
 length country capital $50.;

 * SAS Hash Objectのインスタンスを作成します;
 declare hash world;
 world=_new_ hash();

 * アクセスキー変数を設定します;
 world.defineKey('country');

 * データ変数を設定します;
 world.defineData('capital');

 * ハッシュオブジェクトの初期設定を完了させる;
 world.defineDone();

 * ログに以下のメッセージが表示されないようにする;
 * NOTE: 変数 country は初期化されていません。;
 * NOTE: 変数 capital は初期化されていません。;
 call missing(country, capital);

 * アクセスキーと値を代入する;
 world.add(key: '日本', data: '東京');
 world.add(key: 'アメリカ合衆国', data: 'ワシントンD.C.');
 world.add(key: '大韓民国', data: 'ソウル');

 * 値を取得してみる その1;
 world.find(key: "日本");
 put country= capital=;

 world.find(key: "アメリカ合衆国");
 put country= capital=;

 * 値を取得してみる その2;
 country="日本";
 world.find();
 put country= capital=;

 country="大韓民国";
 world.find();
 put country= capital=;
run;


↓実行ログ
country= capital=東京
country= capital=ワシントンD.C.
country=日本 capital=東京
country=大韓民国 capital=ソウル
NOTE: DATA ステートメント 処理 (合計処理時間):
処理時間 0.07 秒
CPU 時間 0.07 秒


基本的な使い方はこんな感じだと思います。

第一印象としては、わざわざハッシュオブジェクトを呼び出したり、キーやデータ用の変数を作成したりと何かと面倒臭いっ!

ただし、参考サイトを見てるといろいろな機能があるみたいです。
機会があれば今後もう少し掘り下げて取り上げてみたいと思います。

投稿者:@Hoshi_NI


[google]

2010年11月15日月曜日

クラウドコンピューティングとは(その1)



Cloud Computing Summit Brasil 2010 10/08/10 / rafaeldesigner


クラウドという言葉が本格的に聞こえるようになってきて久しいですね。
そもそもクラウドという言葉自体は2006年にGoogle CEOのエリック・シュミット氏が用いたのが始まりと言われてます。
このクラウドという言葉、意外と広義に解釈されていて人によって捕らえ方が違っていたりします。
そこで、本日は私なりの解釈を説明してみたいと思います。

雲(Cloud)とは?



一般的によく言われているのが、以前から存在していたASPやSaaSという言葉を言い換えたもの。
要するに、インターネット上のサービスをユーザーが購入して利用するというものです。

クラウドは英語で雲(Cloud)を意味し、雲はインターネットを図示するのによく用いられますね。
インターネット上に存在するサーバーやそのアーキテクチャを雲の表記で抽象化し、ユーザーは特に意識せずに提供されたアプリケーションを利用することだけを考えれば良いというものです。

ただこの説明はあくまで利用者側の視点に立った、もしくは利用者に説明するためのクラウドであり、我々システム開発者はここからさらに踏み込まなければなりません。

では、雲の中身はどうなっているのでしょうか?
そこを語る上で重要なのはスケールアウトという言葉です。


スケールアウトという概念



Googleはサービス提供のために安価なPCを大量に使ってデータセンター作りました。
コンピュータの処理を向上させるために、より高価で高速なCPUや大容量なメモリを搭載させるスケールアップではなく、安価なPCを大量に並べて分散・並列処理をすることによって処理能力を向上させました。
PCを追加していき、その分だけリニアに処理能力を向上させていくというのがスケールアウトという考え方です。

私はGoogleが実現したこのスケーラブルな分散・並列処理システムこそが、クラウドという言葉において非常に重要と考えます。
雲の中にある大量のPCとその上で動く分散・並列処理のシステム、まさにクラウドという言葉にピッタリのイメージではないでしょうか。

現在では、このような必要に応じてリソースを追加できるという点で、スケールアウトな分散・並列処理システムは大規模なサービス提供者にとって必要不可欠な技術となっています。


ここまではクラウドのハード、そのシステム基盤的な視点からの話でした。
次はソフト、サービス的な視点から我々はクラウドで何をするのかという話をしたいと思います。
米国SASも7000万ドル規模のクラウド・コンピューティング施設を建設しているというニュースが去年ありましたね。

SAS、7,000万ドル規模のクラウド・コンピューティング施設を建設 | SAS プレスリリース


ですが今回はここまでということで・・・

次回は我々システム開発者はクラウドで何をするのか?
スケーラブルな分散・並列処理システムをもったデータセンターを作るわけじゃありませんよね。
そのクラウドの基盤の上で何をするのか?といったところに焦点を当ててあと少し説明したいと思います。

投稿者:@Miya_NI


[google]

2010年11月5日金曜日

Google Reader+iPhoneで情報収集


Information / Guillermojm


@ni_tweetsや@massu_niで日々いろいろなことをつぶやいていますが、今回はそのネタ収集方法について簡単に書いていきます。

使用しているツールはGoogle Reader+iPhone。
はっきり言ってこの2つが無かったら効率悪過ぎてやる気が出ません(笑)


Google ReaderではSASやBI市場の情報配信ブログやWebサイトを十数個購読しています。

その主なものをご紹介。



iPhoneのRSSリーダーアプリはNetNewsWireを使っています。
BylineRSS Flash g等の有名どころやその他多数のアプリを使用しましたが、個人的にはNetNewsWireが一番使いやすいです。
記事をチェックするのは主に通勤中や休憩中。


以下、その簡単なフロー。


記事のタイトルは必ず読む
   ↓
少しでも気になった記事にはスターを付ける
   ↓
一通り記事のタイトルをチェックし終わったらスターを付けた記事の抜粋だけを読む
   ↓
タイトルから想像してた内容と違っていたり、つぶやくまでの内容ではないと判断したらスターを外す
   ↓
スターを付けた記事の抜粋をチェックし終わったら、最後までスターが付いている記事を全文読む
   ↓
つぶやく


分からない英単語で記事内容でポイントになっていそうなものがあったら、辞書でなるべく調べるようにしています。
使用している辞書アプリは英辞郎 on the WEB
iPhoneならマルチタスクでサクッと調べることができるのでとても楽です。


日々新しいテクノロジーやソリューションが生まれてくるこの業界。
情報収集とその取捨選択はできるだけ効率よく行いたいものです。

投稿者:@Massu_NI


ツイート数からみる"バーチャルYouTuber"ブーム

今や YouTuber の話題の半分を占めるほどのクチコミ数に 当社が提供するソーシャルビッグデータ検索ツールの「 beInsight (ビーインサイト)」を使って、話題の「バーチャル YouTuber 」について調べてみました。 「バーチャル YouTuber...