MySQLの5.5系からは仕様が変わったようです
http://kennyqi.com/archives/334.html
1 2 3 | $ vi my.cnf [mysqld] character-set-server= sjis |
こう書かないとエラーになります
MySQLの5.5系からは仕様が変わったようです
http://kennyqi.com/archives/334.html
1 2 3 | $ vi my.cnf [mysqld] character-set-server= sjis |
こう書かないとエラーになります
ちょっとハマったのでメモ
MySQLでSjisファイルをロードするときに文字化けしてしまう
1 2 3 4 5 6 7 8 9 | $ export LANG=ja_JP.sjis # 効かない $ mysql -uroot -hhost -ppass --local-infile=1 --default-character-set=sjis << Eof use mysql ; set names sjis # 効かない ; load data local infile "sjis.txt" into table table ; Eof |
悩みました
1 2 3 4 5 6 7 8 | $ mysql -uroot -hhost -ppass --local-infile=1 --default-character-set=sjis << Eof use mysql ; set character_set_database=sjis # これでOK ; load data local infile "sjis.txt" into table table ; Eof |
どうやらDBの設定がおかしかったようです
1 2 3 4 5 6 7 8 9 10 11 | mysql> show global variables like "%charac%"; +--------------------------+--------------------------------------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------------------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | |
これを変更するにはmy.cnfに設定し再起動すればOKです
1 2 3 4 5 | $ vi my.cnf [mysql] default_character_set = sjis [mysqld] character-set-server=sjis |
グローバル変数もこうなります
1 2 3 4 5 6 7 8 9 10 11 | mysql> show global variables like "%charac%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | sjis | | character_set_connection | sjis | | character_set_database | sjis | | character_set_filesystem | binary | | character_set_results | sjis | | character_set_server | sjis | | character_set_system | utf8 | |
サーバ側
クライアント側
こちらを参考に、http://wiki.nothing.sh/page/memo/Synergy 上記構成でMacをサーバにWindowsをクライアントとしてSynergyを使っていたのですが、どうやら10.9.1にバージョンアップしたらWindows側でバックスラッシュ「¥」が効かなくなってしまいました。
10.9.1のReleaseNoteをチラッと見ると、日本語入力周りの修正等と書いてあったのでもしやこれに引っかかったか?
非常に不便なので、ダメ元でWindows側のSynergyを1.3.1-jaに変更。
どうせ一緒だものね。
と、なんと、これでバックスラッシュが効くようになったとさ。
今回のMacOSのアップデートで、どうやらずいぶんと前からある不具合を直したのでしょうか?
ちょっとはまったのでメモ。
通常X-Windows同士はお互いに、リモートでディスプレイ上のものを映すことができます。
A:Linux
B:Linux
A->BへsshでログインしBのFirefoxを起動しAのX上で操作するということです。
意外とこれが便利。
X-Windowを搭載しているMacでも同じことが当然できるはず。
ということで試してみる
古い記憶を辿りながら
mac 10.9(hostname:mac,ip:192.168.0.1)
RedHat 5.8 (hostname:linux,ip:192.168.0.2)
1 | [mac] $ xhost + |
1 2 3 4 | [mac] $ ssh linux [linux] $ export DISPLAY=192.168.0.1:0 [linux] $ firefox Error: cannot open display: 192.168.0.1:0 |
これが起動しない。
こちらに解決法が。。
http://ruepprich.wordpress.com/2013/01/08/x11-forwarding-on-os-x-10-8-2-mountain-lion/
1 | [mac] $ sudo xhost + linux |
1 2 | [mac] $ ssh -X linux [linux] $ firefox |
見事にMac側にFirefoxのウインドウが。。
DISPLAYは必要ないのね。。
機械学習用のライブラリ、ApacheMahoutを使用していてちょっと困ったのでメモ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import java.io.*; import java.util.*; import org.apache.mahout.cf.taste.impl.model.file.FileDataModel; import org.apache.mahout.cf.taste.model.DataModel; import org.apache.mahout.cf.taste.recommender.*; import org.apache.mahout.cf.taste.impl.recommender.GenericItemBasedRecommender; import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity; import org.apache.mahout.cf.taste.similarity.ItemSimilarity; class test{ public static void main(String[] argv){ try{ DataModel model=new FileDataModel(new File("test.csv")); ItemSimilarity similarity=new PearsonCorrelationSimilarity(model); Recommender recommender= new GenericItemBasedRecommender(model,similarity); List<RecommendedItem> recommendations=recommender.recommend(1,5); for(RecommendedItem recommendation:recommendations){ long recommendCode=recommendation.getItemID(); System.out.println(recommendCode); } }catch(Exception e){} } } |
こんなかんじでアイテムベースのレコメンドを作成していたのですが、CSVファイルを読み込んだ際に
1 2 3 4 5 6 7 8 | java.util.NoSuchElementException at com.google.common.base.AbstractIterator.next(AbstractIterator.java:75) at org.apache.mahout.cf.taste.impl.model.file.FileDataModel.processLine(FileDataModel.java:384) at org.apache.mahout.cf.taste.impl.model.file.FileDataModel.processFile(FileDataModel.java:340) at org.apache.mahout.cf.taste.impl.model.file.FileDataModel.buildModel(FileDataModel.java:239) at org.apache.mahout.cf.taste.impl.model.file.FileDataModel.reload(FileDataModel.java:208) at org.apache.mahout.cf.taste.impl.model.file.FileDataModel.<init>(FileDataModel.java:194) at org.apache.mahout.cf.taste.impl.model.file.FileDataModel.<init>(FileDataModel.java:149) |
こんなエラーが出て進まない時がある。実行したのはLinux64Bit環境のjdk1.6。
同じものをwindows7のjdk1.6で動かしてもエラーが出ない。。。
読み込んだCSVは600万行程度
よくわからないのですがCSVの最後に改行を入れるとエラーなく動作。
わけわからん