今回は、PreferenceActivity を作成し
画面から取得できるようにした
ちなみ、PreferenceActivity は
Activity クラスのサブクラス
今回は、レイアウトファイルではなく
Preference情報を記載したファイルを作成し
それをonCreateメソッドで設定している
手順だとActivity クラスの作成と同じステップにはなるけど
Preference ファイルの作成では画面で座員を考慮しなくていいので
わかりやすい
Preference ファイルの設定は、通常はXMLエディタで行うけど
ダブルクリックして Android Xml エディタでも設定が可能
追加できる Preference の種類は、以下のとおり
CheckBoxPreference
チェックボックス
EdittextPreference
テキストボックス
ListPreference
選択リスト
PreferenceCategory
カテゴリ作成
PreferenceScreen
別の Preference 呼び出し
RingtonePreference
着信音
Preference
独自のpreferenceクラスを利用
なお。追加した Preference はAndroid Xml から直接編集が
可能になります
なんとなくだけど、似たような仕組みのものがあったようなきがします
たしか、HTML と CSS
もこんなかんじだったような気が
付録についていた count_word.pl
日経 Linux 2011-05 を参考に Hadoop を実験してみましたが
なぜかエラーになるので
一度ソースを見てみました
結果、付録DVDに入っていたスクリプトには
#!/usr/bin/perl
#use strict;
my %words;
while (
chomp $_;
undef %words;
my @words = split ( /\s+/, $_ );
foreach $s ( @words ) {
$s =~ tr/A-Z/a-z/;
$s =~ s/\W+//g;
$s =~ s/([\w\d]+)/$1/g;
unless ( $s =~ /\w{4,}/ ) { next; }
print ($s . “\t” . 1 . “\n” );
}
}
となっていましたが
書籍のページでは
#!/usr/bin/perl
use strict;
my $s;
while (
chomp $_;
my @words = split ( /\s+/, $_ );
foreach $s ( @words ) {
$s =~ tr/A-Z/a-z/;
$s =~ tr/a-z//cd;
if ( $s =~ /[a-z]{4,}/ ) {
print ($s . “\t” . 1 . “\n” );
}
}
}
となっています
コマンドで書き換えたような記憶はないので、
ソースそのものが違っているような気がします….
count_word.pl*
となっているので、他にも要因があるのかもしれません
Pig の実験
引き続き、Pig の実験です
続いて、データ処理の実験のためのファイルをダウンロードします
http://131.193.40.52/data/
へアクセスし、
reviewsNew.rar
というファイルをダウンロードします
このファイルは。
.rar という形式なので、解凍するために
sudo apt-get -y install unrar
で必要なソフトをインストールします
解凍するには
unrar e reviewsNew.rar
を実行します
続いて解析の準備です
まず
hadoop dfs -mkdir amazon
hadoop dfs -copyFromLocal reviewsNew.txt amazon
を実行し
pig
で起動し、無事に起動成功すると
grunt>
という端末になります
本来、JobTracker へのアクセス成功などのメッセージが
でるようですが、なぜかこのあたりはエラーになりました
とりあえず、今回の実験では問題がなかったのですが
残念ながら、次の実験には使えませんでした
とりあえず、今回のログをメモしてみました
A = LOAD ‘amazon/reviewsNew,txt’;
A = LOAD ‘amazon/reviewsNew.txt’ as(mem_id:chararray,pro_id:chararray,date:chararray,
date:chararray,num_hf:int,num_f:int,
rating:double,title:chararray,body:chararray);
AG = GROUP A ALL;
A2 = FOREACH AG GENERATE COUNT(A),AVG(A.rating),MAX(A.rating),MIN(A.rating);
DUMP A2;
を実行すると
データ集計ができます
今回の設定は、ソースから行っていますが、
ubuntu の場合、apt-get でインストール、設定が可能のようです
[Hadoop][Pig]Pigのインストール
1台構成のHadoopを30分で試してみる(Ubuntu + Cloudera)
を参考に、一度 apt-get で環境を構築してみます
Pig の設定をスクリプトで実行
前回、Hadoop の設定をスクリプトで実行できるようにしたので
今回は Pig を設定してみます
Pig はすべての hadoop インストール済みのマシンにいれる
必要性はなく、どれか1つでよいようなので
別のスクリプトにしました
まず
vi setup_pig.sh
でファイルを作成し、内容を以下のようにします
#/bin/bash
sudo tar zxvf pig-0.8.0.tar.gz -C /opt
cd /opt/
sudo ln -s ./pig-0.8.0 pig
echo -e ‘export PIG_INSTALL=/opt/pig/’ >> $HOME/.bashrc
echo -e ‘export PIG_CLASSPATH=/opt/hadoop/hadoop-0.21.0/conf/’ >> $HOME/.bashrc
echo -e ‘export PATH=$PIG_INSTALL/bin:$PATH’ >> $HOME/.bashrc
source ~/.bashrc
保存したら
sh vi setup_pig.sh
を実行します
これで設定完了です
Hadoop の設定をスクリプトで実行
ディスク容量が足りなかったため
再度 設定することにしました
今度は、容量を大きめにつくってみました
前回、20GBで足りないので、今回の Vmware で作成した容量は
50GB 割当てしました
また、再度設定することも考えて、
セットアップスクリプトの作成をしてみます
vi setup_hadoop.sh
でファイルを作成し。内容を以下のようにしました
#!/bin/bash
./jdk-6u24-linux-i586.bin
sudo mv jdk1.6.0_24 /opt/
tar zxvf hadoop-0.21.0.tar.gz
sudo mkdir -p /opt/hadoop
sudo mv hadoop-0.21.0 /opt/hadoop/
echo -e ‘export JAVA_HOME=/opt/jdk1.6.0_24/’ >> $HOME/.bashrc
echo -e ‘export HADOOP_INSTALL=/opt/hadoop/hadoop-0.21.0’ >> $HOME/.bashrc
echo -e ‘export PATH=$HADOOP_INSTALL/bin:$JAVA_HOME/bin:$PATH’ >> $HOME/.bashrc
source ~/.bashrc
sudo apt-get -y install openssh-server
ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
これで、
ssh localhost
でログインできれば成功です
ちなみに、このスクリプトを実行する場合
jdk-6u24-linux-i586.bin
hadoop-0.21.0.tar.gz
をスクリプトと同じディレクトリにおいておくことが必要です
Hadoop でエラーの意味
hadoop を使うため、
pig を実行したところ、エラーになりました
原因を探したところ、どうやらディスク容量が足りないのが
原因のようです
前回、VMware Player で容量を増やしたのですが
たしかに容量は増えたのですが、未使用領域が増えただけでした
実際のマシンに例えると
HDDがいっぱいになりかけているところに
外付けHDDを追加しただけに近い状態です
このため、根本的な解決にはなっていませんでした
Windwos の VMware の場合、コマンドを使うことで
領域の拡張などを行えるようですが、Linux 版の
Vmware Player の場合、この管理コマンドがありません
どうやら、Vmware Server が必要になりそうです
また、今回、VMのディスクを何も考えずに
2GBに分割していたため、
もしこれを拡張するのであるなら、
一度統合して、拡張する必要性がありそうです
おそらく、外付けHDDが FAT32のときのことを
考えての機能なのかもしれません
FAT32 のフォーマットの場合、最大4GB程度のファイルまでしか
取扱いができませんので
次回からは、仮想ディスクを分割しないこと
そして、
次の対処に備えて、VMware Server の導入を検討中です
なお、今回の原因究明には
Hadoop/インストールを
参考にさせていただきました
また、仮想環境の容量拡張に関しては
VMware Player(Workstation)のメモ
分割仮想ディスクを結合する(by vmware-vdiskmanager)
【CentOS】LVMでディスク容量を拡張(VMwareのHDD容量を増やす)
を参考にさせていただきました
Pig でデータ処理
準備がほぼ整ったので、Pig でデータ処理してみました
しかし、雑誌のとおりにやったところエラーになります
原因は、Pig のクラスパスにありました
port PIG_CLASSPATH=/opt/hadoop/confとなっていました
これを
export PIG_CLASSPATH=/opt/hadoop/hadoop-0.21.0/conf
とすればエラーが消えました
仮想環境で構築していますが
失敗したときに、再度ダウンロードするのは時間がかかるので
一度、scp コマンドで取得したファイルをバックアップしておきます
scp wiki@192.168.10.218:/home/wiki/hado* pig* jdk* count* .
を実行し、ゲストOSへバックアップしておきます
コマンドを使ってファイルコピーするときには
* を使って文字をすべて書き込まないようにすれば時間短縮になります
VMware Player の仮想マシンの容量拡張
Vmware Player では、仮想マシンに割り当てたHDDの容量を拡張できます
作成した仮想マシンを選択し
Edit virtual machine settings
をクリック
hard Disk(SISI) をクリックし
Utils をクリックして Expand を選択
Maxium Disk size の容量を調整して、expand を
クリックすれば容量の拡張ができます
(数値をキーボードで変更してもなぜか保存できません)
今回、容量を拡張するのは、
Hadoop の実験のために仮想マシンを20GB 割り当てしたのですが
足りなくなったため、倍の容量へ増やすことにしました
.rar ファイルの解凍
日経 Linux 2011-05 を参考に、Hadoop の実験を開始しています
しかし、.rar 拡張子の解凍方法が載っていないので
検索してみました
unrar コマンドで解凍できるようなのですが
ubuntu 10.10 にはインストールされていないため、
sudo apt-get install unrar
でインストールしました
使い方は
Ubuntu: rar圧縮ファイルの操作(unrar コマンド) (メモ)
を参考にさせていただきました
unrar e reviewsNew.rar
でファイルを解凍します
ちなみに、 e オプションは、カレントディレクトリに解凍すると
いう意味になります
Pig の導入
前回、分散処理技術 Hadoop
で hadoop をインストールし
パスフレーズなしのSSHでSSH公開鍵認証で
ログインできるようになったので、今度は
Pig をインストールします
Pig は。大容量データの集計処理などに使うようです
Pig の使用例としては
米Yahoo! がログデータ解析に使ったということがあるようです
ほかにも、Pig の使用例を調べると
いろいろとでてきそうです
それでは、インストール開始です
今回もダウンロードの手間を省くため
日経 Linux 2011-05 の付録DVDに収録されているものを使います
cp /media/LIN201105/article/rensai_pighive/pig-0.8.0.tar.gz $HOME
でファイルをコピー
sudo tar zxvf pig-0.8.0.tar.gz -C /opt/
で/opt へディレクトリ展開
作業効率化のため
cd /opt
sudo ln -s ./pig-0.8.0 pig
でシンボリックリンク作成
環境変数の追加のため
vi $HOME/.bashrc
でファイルを開き
最終行へ
export PIG_INSTALL=/opt/pig/
export PIG_CLASSPATH=/opt/hadoop/conf/
export PATH=$PIG_INSTALL/bin:$PATH
を追記
設定内容を反映するために
source $HOME/.bashrc
を実行
ここまでで、Pig の準備完了です
続いて、データ処理の実験のためのファイルをダウンロードします
http://131.193.40.52/data/
へアクセスし、
reviewsNew.rar
というファイルをダウンロードします
容量は約1.7GB あるので、続きは明日以降になります