Hive

Multitable insertとhive.exec.parallel

またHiveのチューニングネタです。以下のような単一のテーブルを入力として集計キーごとにそれぞれ個別に集計したいというケースがあります。 カラム1 カラム2 カラム3 ... 集計キー1 集計キー2 集計キー3 ... ええと具体例が無いとわからないですよね(汗こ…

hive.auto.convert.join

以前 Hiveのjoinの最適化 - wyukawa’s blog で書きましたがHive 0.7からjoinの最適化が図られています。本家のドキュメントはこちら https://cwiki.apache.org/Hive/joinoptimization.html なぜか画像が無い。。。どういうものかというとjoinする際に片方の…

スタースキーマと列指向データベース

Webエンジニアのための データベース技術[実践]入門 (Software Design plus)作者: 松信嘉範出版社/メーカー: 技術評論社発売日: 2012/03/09メディア: 単行本(ソフトカバー)購入: 20人 クリック: 486回この商品を含むブログを見る僕はWebエンジニアではない…

in-mapper combining

並列分散処理の常識をHadoopファミリから学ぶ (3/3):ビッグデータ処理の常識をJavaで身につける(2) - @ITが興味深かったのでここで紹介されている「in-mapper combining」について書いてみたいと思います。Hadoop MapReduce デザインパターン ―MapReduce…

OLAP関数

テレコム業界のCDR(Call Detail Record)の解析をOracleからHiveにマイグレーションした資料を見つけたのでめもっておく。 Hadoop World 2011: Replacing RDB/DW with Hadoop and Hive for Telco Big Data - Jason Han, NexR View more presentations from Cl…

hadoopアドベントカレンダー2011 6日目 Hiveの統計情報(続き)

クレジットカード現金化詐欺【業界人が教える口コミ情報】の12/6を担当するwyukawaです。ええ、書く人がいないので12/2に引き続いて書きます。ていうか明日も書く予定です。いい加減ネタつきるので書く人絶賛募集中です。今日はHiveネタでいきます。以前Hive…

Hive 0.8の新機能のプレビュー

Hadoop 0.22はでないのに0.23が出ましたね。個人的には当面0.20系使うのであまり興味はわかなかったのですが、下記ブログにあるHive 0.8のほうはちょっと興味ありますね。http://www.cloudera.com/blog/2011/11/coming-attractions-apache-hive-0-8-0/ ビッ…

Hiveの統計情報

Hive 0.7からanalyzeコマンドで統計情報が取れるようになりました。 [HIVE-1361] table/partition level statistics - ASF JIRAメタストアをDerby以外にしてるのにderby.logとかTempStatsStoreとかあって何だろうと思ったら統計情報を保存しているようです。…

hadoop fsコマンドの仕様メモを2つほど

lsとstatでは表示されるタイムスタンプが9時間異なる。 $ hadoop fs -ls /user/hive/warehouse/hoge/ Found 1 items -rw-r--r-- 3 hadoop supergroup 189 2011-10-24 17:45 /user/hive/warehouse/hoge/sequencefile $ hadoop fs -stat /user/hive/warehouse/…

Hiveのベストプラクティス(かもしれないこと)をめもっておく

Hiveの現場に来て4か月経ち回りのやり方を観察したり、他の事例を調べたりしているうちにHiveを使用する際のパターンというかベストプラクティスが見えてきた気がするので書いてみるよ。ユースケースはログ解析です。 1. ファイルフォーマットと圧縮ログは圧…

HiveでMySQLを使ったLocal Metastoreの設定方法

情報はあるけど一応めもっとくCloudera版のHive 0.7.1をインストールするとデフォルトではEmbeded Metastoreになっている。この状態だとHiveのメタデータの管理がDerbyという組み込みDBを使っているので、単一プロセスからしか接続できない。なので複数のプ…

Facebookのデータウェアハウス

HDFS: Data warehousing at Facebook のリンク先にある論文http://borthakur.com/ftp/sigmodwarehouse2010.pdfではFacebookがどのようにデータウェアハウスを構築しているかが書かれています。興味深い論文なのですが気になった点を書きます。全体のシステム…

Hiveのjoinの最適化

元ネタはこちら Join Optimization in Apache HiveHiveは0.7からjoinが最適化されています。どのように最適化されたのか上記の資料をひもといてみます。 いままでのjoinいままでのjoinはいわゆるソートマージジョインです。 mapフェーズでテーブルのデータを…

OracleからHiveへのマイグレーション資料

OracleからHiveへのマイグレーション資料をSlideShareで見つけたのでメモっておく。Oracle用のSQL, UDFをHiveでどう置き換えるかが書かれている。 全部で177ページもあるが、Hiveの内部構造(アーキテクチャ、クエリをどのように解析して実行計画つくって最…

Hiveの開発環境構築方法

Hiveのビルドエラー対応メモ - wyukawa’s blog でも少し書いたが、毎回忘れている気がするのでとりあえずめもっとく。gitはおそいのでsvnからソースを取ってくる svn checkout http://svn.apache.org/repos/asf/hive/trunk hive-trunkこんな感じでビルド。Hi…

Hive 0.6, 0.7の新機能メモ

Hiveいじる人がいっぱいいる場合はMySQLのデータベース名みたいなスキーマというか名前空間が絶対必要そうなんだが、そうでもないのかな。例えばFaceBookとか尋常でないテーブル数になってそうだけど、どうやってんのかな。Hiveを複数インストールしてんのか…

細かすぎて伝わらないHiveのTips

なんかドキュメントには書いてないっぽいんだけど地味に気づいたことを書いときます。 Tipsというほどではないメモですね。2つあります。1つめHiveQLのコメントは--です。例: --hoge SELECT * FROM aaa ANTLRの文法を定義したファイルであるHive.gは下記…

Hiveメモ

HiveのTipsかもしれないものを2つ知ったのでいちおうメモっとく。何でこうなるかはわかってない。バージョンは0.6ね。まず1つめaaaとbbbという2つのテーブルがあって、それぞれcolumn1というパーティションキーがあって、 このキーで結合しつつcolumn1が1…

Hiveについての情報源

とりあえずめもっとく■本家 Top Apache Hive TM Wiki Home - Apache Hive - Apache Software Foundation JIRA - ASF JIRA リポジトリ Subversion http://svn.apache.org/repos/asf/hive/trunk Git git://git.apache.org/hive.git http://github.com/apache/h…

Hiveのソースを解説した良い資料をslideshareで見つけたよ

以前Hiveのソースを読んだ旨を Hiveのソースを見てみた。 - wyukawa’s blog に少し書きましたが、slideshareで良い資料を見つけたのではっときます。 Hive Anatomy View more presentations from nzhang Design - Apache Hive - Apache Software Foundation …

Hiveでの空文字、NULLの扱い

ちょっと混乱したけど、どうもこういうことっぽい。 カラムの型 テーブルにロードするファイルでの値 HDFS上の値 selectした場合の表示 IS NULL判定結果 int 空文字でない文字列 空文字でない文字列 NULL true int 空文字 空文字 NULL true string NULLとい…

Hiveを動作させる場合の環境の切り替え方法

Hiveでテストする場合の話ですが、データ量が少ないならVirtualBox上のLinuxにCDHを擬似分散で入れてHiveを動かしてテストすればいいと思います。ただある程度のデータ量がないとテストにならないという場合もあるでしょう。本番環境で試行錯誤したいという…

シェルスクリプトのテスト

以前シェルスクリプトのテストについて少し書きました。シェルスクリプトの開発環境 - wyukawa’s blog最近実際にテストを始めたのでどうやっているかを書いてみたいと思います。やりたいことはHiveQLをキックするシェルスクリプトのテストです。ブラックボッ…

Hiveのソースを見てみた。

対象はCloudera版の0.7どこがエントリポイントかっていう話がまずあるわけだが、hiveコマンドをたたくとこうなりますよね。 $ hive Hive history file=/tmp/wyukawa/hive_job_log_wyukawa_201107032314_538554893.txt >hiveコマンドの実態である$HIVE_HOME/b…

HiveのSequenceFileとかパーティションとか

Hiveに関するまとまった情報源として書籍なら徹底入門があります。とはいえそんなに突っ込んだことは書かれていないので、本家のWikiを参照することになると思います。https://cwiki.apache.org/confluence/display/Hive/Home最近Confluenceに変わりましたね…

Hiveのビルドエラー対応メモ

HowToContribute - Apache Hive - Apache Software Foundation GettingStarted EclipseSetup - Apache Hive - Apache Software Foundationにあるように svn checkout http://svn.apache.org/repos/asf/hive/trunk hive-trunk cd hive-trunk ant clean packag…

SQLはリングワ・フランカ

ちなみにリングワ・フランカはこういう意味です。 共通の母語を持たない人同士の意思疎通に使われる言語のことを指す。 リングワ・フランカ - Wikipedia で象本の第二版のHiveの章のところでSQLはリングワ・フランカであるという記述が出てきます。ちなみに…