hiveのloadコマンドに謎の制約

LOAD DATA LOCAL INPATH '/dir/_hoge' ... みたく、ファイル名が “_” 始まりのファイルをLOADしようとしたら、何故か「そんなファイルはねえ!」と怒られエラーになった。 回避策としては、頭にワイルドカード入れる。以下なら正常終了。 LOAD DATA LOCAL IN…

process substitution は bash とかでないと使えないぽい。

shebang に #!/bin/sh と書いてたり、 sh hoge.sh とかで実行した際、ときどきbash以外のshellが起動されるのか、process substitution のコードがエラーになることがある。 #!/bin/bash とか bash hoge.sh とかすると動いた。

Mapper/ReducerではrunというメソッドもOverrideできる

ということを今更知った。 runのデフォルトの実装の中で、setup, map/reduce, cleanup を呼び出している。 Mapper (Apache Hadoop Main 2.7.3 API) Reducer (Apache Hadoop Main 2.7.3 API) 参考:in-mapper combining(MapReduceデザインパターン) | mwSoft

自作クラスでHadoopのGeneric Optionsを使えるようにする。

最近、Hadoop忘れてきたのでメモ… 自作クラスにToolを実装させればHadoopのGeneric Optionsを解釈してくれるようになる。 Generic Options つまり、-confオプションでHadoopの設定を上書きしたりできるようになる。

attrbuteに対する||=でハマる。

class some_class attr_accessor :hoge def some_method hoge ||= "value" end この5行目で、hogeのアクセサが呼ばれるのではなく、hogeという新しい変数が定義されてしまう… @hoge ||= "value" とするしかない。

bashの関数はwhichコマンドしても出処が分からない

which や whereis でコマンドのパスが出ないんで「なんだろうな?」と思ったが、よく考えたら .bash_profile で定義しているbash関数だった。 関数の定義は以下で確認できる。 declare -f [function name]

ディレクトリのハードリンク恐い…

mac

coreutils入れて ln -F すればディレクトリのハードリンクも作れるのだが、消すには rm -fr するしかなさそう。 そうすると、ディレクトリの中身も消えてしまう… 一旦、中身の場所を移し、ハードリンク消してから戻せば良さそうだが、中身が多いとちょっと大…

githubリポジトリを別名コピーするやり方

リポジトリ hoge を hoge-cp にコピー。 まず、githubにhoge-cpリポジトリを空で作っておく。 それから、どこかの端末で以下を実行。 git clone git@xxx/hoge.git git remote set-url origin git@xxx/hoge-cp.git git push

bashのfor分で数値の範囲を指定する方法。

知らんかった… $ for i in {1..10}; do echo $i ; done 1 2 3 4 5 6 7 8 9 10 更にゼロパディングしたい場合は、 $ for i in {01..10}; do echo $i ; done 01 02 03 04 05 06 07 08 09 10

管理者権限のないマシンでtmuxを使う

ここを参考にした。 ken1row.net 但し、自分の環境の場合は、いくつか追加でインストールが必要だった。 いずれもtarballをscpでサーバにもっていき、--prefixオプションでローカルにインストールした。 nursesのビルドに必要 glibc tmuxのビルドに必要 auto…

carton exec で実行する際に実行時にモジュール・パスを追加

carton exec -- perl -I path home.pl

vimでクリップボードからコピる際に自動コメントがウザい場合

vim

Webとかからコードコピりたい時に「コメント行の次行も自動でコメントアウト」がウザい時がある。 そういうときは、おとなしく vi 使うのも手。 /bin/vi [file]

windows のバッチファイル内でのforの変数名で%%を2つ使う件

バッチファイル内で for文を使う場合、変数名には%%とパーセントを2つつける。 for %%a in (*.gz) do echo %%a しかし、これをコマンドプロンプトで直接打つと、以下のようにエラーとなる。 %%a の使い方が誤っています。 コマンドプロンプトで直接打つ場合…

google cloud SDK を windows にインストールした場合の設定ファイルの場所

GCP

C:\Users\[ユーザ名]\AppData\Roaming\gcloud

expect の使い方メモ(expect eofとか)

expect でコマンドを実行させ、そのコマンドの完了を待って続けて別なコマンドを実行させる場合は"expect eof"を入れるとよい。 # spawn したコマンドが完了してから別なコマンドをspawnする場合は expect eof を挟む。 expect -c " spawn scp hoge@fuga.com…

Microsoft Query のエラーメッセージがドイヒーな件

Excelの Microsoft Query でSQL書いてデータを取り込もうとしたら、 「パラメータが少なすぎます。 2 を指定して下さい。」 とかいうエラーが出て「???」てなった。 よくよくクエリを見てみると、WHERE句でカラム名のつづりを間違っていた… もうちょっと…

VPNつながらないと思ったらWiFiルータの設定が原因だった

VPN

Shrew Soft の VPN Client というソフトを使っているのだが、 "negotiation timout occurred" というエラーが出て接続できない。 PC側でいろいろやってもダメなので、ルータが原因かと思い、WiFiルータの設定で「セキュリティ」というメニューを見てみると「…

複利計算(CAGR)

「72の法則」「114の法則」というのがある。(「なに?」「いいよ!」で覚えると覚えやすそう。) 但し、利率が小さい場合にしか使えない。利率が大きいと誤差が大きくなる。 3分LifeHacking:複利計算を“暗算”で行う - ITmedia エンタープライズ 利率がデカ…

軍隊の編制

軍隊の編制 - Wikipedia およそ 班、組: ピザ1枚 分隊(squad): ピザ2枚 小隊: 数十人 中隊: 数十〜数百人 大隊: 数百〜千人 旅団: 数千人 師団: 1〜2万人 一つ下の単位を2~6まとめたのが一つ上の単位らしい。 (2~6個分隊で1個小隊、とか)

IEが勝手に互換モードになった件

会社PCのIEでブラウズしてたら、勝手にIE5互換とかIE7互換になっているのに気づいた。 特定のサイトだけでなく、どのサイトみても互換モード。 <meta http-equiv="X-UA-Compatible" content="IE=edge"> て書いてあるページでも互換モード… で、IEの「ツール > 互換表示設定」で「イントラネット サイトを互換表示で</meta>…

ExcelデータをSQLで処理(Microsoft Query)

VBA使った例もあるが、実はコード書かなくてもBIツール的に使えるらしい。 Microsoft Queryウィザードを使ってExcelのデーターを取り込む:エクセル2010基本講座 予め範囲に名前を付けておくと、Microsoft Query でブックを選択したら「使用可能なテーブルと…

特定の拡張子"以外"のファイルの一覧

find 使うしかない。 例えば、.gzじゃないファイルをgzip圧縮する場合は以下の通り。 find . -type f ! -name "*.gz" | xargs gzip

トップレベルで定義された my と our

コメントに書いたような挙動となる。 myはパッケージが違うと参照できない。 ourはどこからでも参照できる。(但しパッケージを指定すること) ちなみに、トップレベルのパッケージ名は"main"か、あるいは空文字。 よって、パッケージからトップレベルのグロ…

vagrant のVMを外に出れなくしたかったのだが、できなかった…

VM同士やホスト・VM間は自由に通信できるが、VMからインターネットに出られないようにしたかったのだが、やり方がわからなかった… vagrant で作ったVMは必ずNATが設定されるため、外に出れる? そのNATに対し、VMにssh接続するためのポートフォワーディング…

readline のキーバインドの指定方法 (inputrc の書き方)

hogem.hatenablog.com /etc/inputrc の書き方が前から謎だったのだが、emacs風の指定の仕方ができるらしい。 例えば、 $if mode=emacs … "\C-d": kill-word $endif のように、「"\C-d": kill-word」というのを入れたら、Ctrl+d すると単語単位で削除できるよ…

Poderosa の設定の意味

操作 > 追加キー定義 追加キー定義はカンマ区切りで複数指定可能。カンマの前後にスペースが入っても問題ないみたい。 Ctrl + d すると Esc + d したのと同じ動作にしたい(単語のカーソル位置より後ろの部分を削除)場合 Ctrl+D=0x1bd を設定する。0x1b と…

WindowsImageBackup (Windows 7 以降のバックアップ形式)からのデータ抽出

Windows 7 以降でバックアップを作成すると、WindowsImageBackup というディレクトリが作成され、その中に各種ファイルが作成される。 このバックアップデータから特定のファイルだけサルベージしたいような場合は、WindowsImageBackup 配下のどこかにある.v…

相対シェアの壁:射程距離理論(3:1の法則)

逆転することが難しくなる相対シェアの目安。 局地戦 → 3倍 総力戦 → 1.7倍 局地戦、総力戦の定義は、ビジネスではこういうことらしい。 局地戦 → 2社間競合、単品のシェアの場合 総力戦 → 3社以上の競合 マーケティング用語集 射程距離理論(3:1の法則)…

Wordの目次に表題や副題を出さない方法

表題や副題のスタイルの「変更」画面で、「書式 > 段落」でアウトラインレベルを「本文」にすればよし。

今更ながらの rsync

恥ずかしながら今までよく分かってなかった。 rsyncプロトコルで rsync rsync は、rsyncd や xinetd によってサーバプロセスとして実行させることができる。 この場合は rsync プロトコルで接続。 相手先を rsync://hostname.com/module/path で指定。 デフ…