タグ

ブックマーク / open-groove.net (5)

  • Hiveのメタストアについておさらい – OpenGroove

    Hiveのメタストアは、何かにつけて、ハマる。分かっているつもりで分かってなかったことも、未だにある。このブログ内や他の場所のあちこちに気づいたことを書いているが、散乱しているのでここでまとめてみる。 以下、過去記事からの引用。 メタストアサービスについて Hiveではメタストアサービスと呼ばれるものを利用する。メタストアサービスはテーブル定義、ここでは「テーブルとHDFS上のデータの対応情報」を管理する。メタストア自体はRDBMSを使用してその情報を管理している。メタストアサービスは以下の3種類があり、要件によって使い分ける。 組み込みメタストア もっとも手軽に利用できる形態。HiveにはJavaで実装されたDerbyというDBが組み込まれており、そのDBをメタストアリポジトリとして利用する。hiveコマンド起動によりDerbyも起動する。同時に一人のユーザーしかHiveを利用できない、

    peketamin
    peketamin 2017/11/16
  • 再びegrep、及びfgrep – OpenGroove

    以前の投稿pgrepとegrepでegrepコマンドについて書いたのだが、若干認識違いがあったようで… 複数の文字列を検索にかけるときに使うもんだとばかり思っていたが、来は「?」や「+」等の拡張正規表現(extended)を使えるgrep、ということだそうだ。 ちなみに「?」は直前のひと文学の0または1個以上に一致、「+」は1個以上に一致する、という条件。 以下のコマンドだと、disk、scsi、deviceのうちいずれかを含む行をdmesgから検索する。つまり「|」がor条件になる。なので、単に「複数のキーワードを指定できる」というのとは、ちと違うかと。 $ egrep 'disk|scsi|device' dmesg それと、fgrepについて。fgrep はgrep -Fと同じで、指定した文字列を正規表現の解釈をせずに、文字列のみとして扱う。どんな時に便利かというと、検索対象の文字

  • LinuxでNICのデバイスマップを固定する – OpenGroove

    Linux Bonding設定に関連する話。 前回までにBonding設定におけるおおまかな流れを書いたが、その前にやらなければ いけないことがある。 Linuxカーネルは、起動時に認識した順番でNICのポートに対してeth0,1…とネットワークデバイス名を割り当てるため、再起動するたびに名NICのデバイスマップが変動してしまい、想定しているマッピングがずれる可能性がある(ちなみに商用UNIXではデバイス名が固定されるため、このような現象はおきないそうだ)。 どういうことかというと、こちらがeth2と想定しているポートにeth1が割り当てられてしまう、ということが起こる。 NICのポートにおけるマッピングを固定するには、NICとシステムが管理するネットワークデバイス名を関連付けてやる必要がある。恒久的な対応として、/etc/sysconfig/network-scripts/配下のifcf

    peketamin
    peketamin 2015/05/07
  • MySQLとシェルスクリプト – OpenGroove

    MySQLSQL文を、OSのコマンドラインまたはシェルスクリプトから実行したい時の例を、いくつか。 まずコマンドラインからサクッと実行するには、-eオプションを利用。 $ mysql -u user_name -pxxxxxx -e “SQL文” 「;」で区切れば複数のSQL文発行も可能。 $ mysql -u user_name -pxxxxxx -e “SQL文;SQL文;SQL文” 以下の方式でも可。 $ echo “SQL文;” | mysql -u user_name -pxxxxxx これらのコマンドラインをそのままシェルスクリプトに書いてもいいわけだ。 次にSQL文をファイルに記述しておいて読み込ませる方法。 “file_name”にはSQL文が記述されているものとする。 $ mysql -u user_name -pxxxxxx < file_name 上記はSQL文にお

    peketamin
    peketamin 2015/03/10
    -e でコマンド発行 “$ mysql -u user_name -pxxxxxx -e “SQL文;SQL文;SQL文””
  • sedコマンドでファイルを上書き編集 – OpenGroove

    標題のテーマ、今までリダイレクト使ってまどろっこしいことしていた。 # sed -e "s/AAA/ZZZ/g" INFILE.txt > OUTFILE.txt # cp OUTFILE.txt INFILE.txt つまり、一度OUTFILE.txtに置換内容を吐き出してから、OUTFILE.txtをオリジナルのINFILE.txtに反映、とするやり方。しかし!-iオプションを使えば断然スマートにできることを今さら知る。 # sed -i -e "s/AAA/ZZZ/g" INFILE.txt これだけで、対象ファイルが上書き編集される。これにはちょっと感動。 以下のようにすればバックアップファイルもとってくれる。-iとダブルクォーテーションの間は詰める。 # sed -i".org" -e "s/AAA/ZZZ/g" INFILE.txt これをどういう時に使いたいかというと、通常の

    peketamin
    peketamin 2013/08/03
  • 1