タグ

2013年12月4日のブックマーク (4件)

  • SQL感覚でHiveQLを書くと痛い目にあう例 - still deeper

    Hadoop Advent Calendar 2013 4日目の記事です tl;dr explainとjob historyを読め 1 reducerは悪 data skewは悪 前書き みんな大好きSQLでHadoop上での処理を実行できるHiveにはみなさん普段からお世話になっていることでしょう。ちょっと調べ物でググる度に目に入る愛らいしいマスコットが、荒んだ心に清涼な風をはこんでくれます。 ですがHiveのクエリ言語はSQLではなくHiveQLですし、実行エンジンもRDBのそれとは全く異なるMapReduceです。SQLのつもりでHiveQLを書いていると地雷を踏んでしまうことがまれによくあります。エントリでは陥りがちなHiveQLの落とし穴を2つ紹介します。 例1 SELECT count(DISTINCT user_id) FROM access_log SQLに慣れた方であれ

    wyukawa
    wyukawa 2013/12/04
    参考にする
  • ポータブルなWebアプリケーション - naoyaのはてなダイアリー

    140文字で書ききれなかったのでブログに殴り書き。 Heroku のアプリケーションを人に渡す 昨日、「naoyaさんが作ってるiOSアプリのバックエンドサーバーに相乗りさせてもらえないか」という話をいただいた。自分でも同じようなAndroidアプリを作っているけど、サーバーサイドは作ってないからということらしい。 対して「githubにコードあるからgit cloneしてheroku pushすれば動くし、自分で heroku にデプロイしてよ」と応えた。相乗りしてもらってもよかったのだけど、こちらでコードを書き換えたりメンテしたときに先方のアプリが停止することを考えると同じコードベースでサーバーは自分で立ててもらう方が何かと良い。 対象になったソフトウェアは Heroku で動かしていたので、Heroku Ready な形、つまり、必要な外部パッケージの一覧やサーバーの起動手順なんかは

    ポータブルなWebアプリケーション - naoyaのはてなダイアリー
  • HBase 0.96 で導入される新しいコンパクション「Exploring Compaction」 - 科学と非科学の迷宮

    Hadoopアドベントカレンダー2013、3日目を担当する @shiumachi です。 今回は HBase 0.96 の新機能を一つ紹介します。 要約 HBase 0.96 は賢くなったのでみんな使おう。 コンパクションのおさらい HBase では、Log Structured-Merge tree (LSM-tree) というデータ構造を使っています。 LSM-tree を簡単に説明すると、入力されたデータをログとメモリ上のデータストア(Memstore、メモリストア) に書き込みます。 メモリストアがいっぱいになると、まとめてディスクにフラッシュし、新しいストアファイルを生成します。 このストアファイルがたまってきたときに、少しづつ一まとめにしてなるべくファイル数を少なくするようにします。これがコンパクションです。 コンパクションを実行することにより、ファイルは一つにまとまります。こ

    HBase 0.96 で導入される新しいコンパクション「Exploring Compaction」 - 科学と非科学の迷宮
    wyukawa
    wyukawa 2013/12/04
    素晴らしいエントリ。そういえばうちの環境は普通のputとバルクロードを併用しているんだった。
  • 若いエンジニアへ

    エンジニアなら誰でも突貫工事に喜びを見出した経験がある。深夜2時の夜を共にした同僚のことは、その職業人生を通じて忘れることはない。しかし、そこにいかなるドラマがあろうとも、突貫工事は例外である。これを常態としてはならない。 メーカーの組込みプログラマとしてエンジニアのキャリアをスタートした私は、「よい製品はよいプロセスから生まれる」ことを頭に叩きこまれた。素晴らしい製品を生み出す工場は静かである。常に誰かが大声で叫んでいるような工場には明らかにプロセス上の問題が認められ、素晴らしい製品を生むことは決してない。 物のエンジニアは突貫工事を好まない。突貫工事とはプロセス上の誤りであり、つまり誰かが大声で叫ばなければならないということだからである。エンジニア仕事は計画され、コントロールされたものでなければならない。 長時間労働によって成果を生み出そうとすることも、やはり例外としなければなら