VMによりHadoopの環境が用意できました。Hiveとはどんなものか、使いながら把握していきましょう。大雑把なので、正確な情報は書籍やウェブでご確認下さい。HDFSやMapReduceについては以前書いた記事などを参考にして下さい(めざせ!hadoopエンジニア(開発者編)、Hadoopを40分で理解する)Hiveとはです。見れば見るほど愛着がわいてきます(笑)。こんな非売品&限定のHiveTシャツもあります。SQLを知っている人は多いHiveはApacheプロジェクトのOSS(オープンソースソフトウェア)で、元々Facebookで開発されたプロジェクトです。ユーザーは、Javaなどの言語でMapReduceのコードを記述するのではなく、SQLライクな構文でクエリを記述します。HiveはSQLライクなクエリをMapReduceのジョブとして実行してくれるのです。Hadoop(HDFS)にはデータベースに収まらないような量のデータ、データベースでは扱いにくい非構造データ(例:ログ)などを格納できるので、Hadoopのことをあまり知らなくても、Hiveを使ってこれらのデータの処理や分析ができるわけです。DESC;#SQLライクですね。Javaで同等の処理を行う場合、通常はmap処理、reduce処理、ドライバーを記述する必要があります。記述するソースコードの量はそれほどでもありませんが、MapReduceの仕組みを理解する必要があります。SQLで書きにくいような処理には有利です。それに対して、SQLの知識があるユーザーは多いので、SQLライクなクエリが書けるHiveは生産性が高く、メンテナンスなども比較的容易です。テーブルを使ってみましょう。Hueでメタデータを確認し、クエリをしてみます。テーブルをクリックしてみましょう。左側のペインにsample_07テーブルの列情報が表示されます。Browserで表示、と表示されます)。データを確認したい場合は、その横にあるアイコン(同、サンプルデータをプレビュー)をクリックします。Managerは、テーブルの詳細情報を表示します。Metastoreについては次回補足します。Editor)に戻り、何かクエリしてみましょう。クエリエディタに入力中、Ctrl+Spaceを押すと、候補をポップアップしてくれるので便利です。入力したら[実行]ボタンを押して実行してみましょう。MapReduceのジョブが開始し、しばらく待つと下のペインに結果が表示されるはずです。簡単ですね!このデータでは足りない、という方は「HueでCSVデータからHiveのテーブルを作る」を参考に、Hueを使ってデータを取り込んでみましょう。Parquetなど)にも対応しており、むしろ別形式で保存してあるデータを使った方がパフォーマンスが良い場合が多いのですが、今回は割愛します。このようにHiveはSQLを知っている方に取って非常に便利ですが、クエリにはそれなりの時間がかかります。複雑なクエリ、テーブルを結合するようなクエリになると、数時間もかかることがあります。MapReduceはバッチ処理であり、リアルタイムな結果を求めるには適していません。データの分析にはニアリアルタイムで検索できるImpalaも検討して下さい。(?)次回に続きます。Blog関連記事clouderaHadoopを10分で試す(7)再びHueからHiveとImpalaを使う**この記事の内容は若干古くなっています。以前からありましたが、ついに対応されそうです。SerDeが欲しかったので作成。SerDeはO'Reillyの「プログラミングHive」にも掲載されている、Hive用のSerDe。先週の研修中に、「Hadoopをこれから試してみたいけど、どこから始めたらいいでしょうか?」という質問がありました。先日はJavaのMapReduceを使って、lzoで圧縮されたファイルを正しく処理できるかどうかの実験を行いました。今回はHiveやPig、Impalaを使って実験します。Crunchを少し調べたついでに、Hadoopでいろんな言語を用いてwordcountを実行してみました。コメントをキャンセルメールアドレスが公開されることはありません。*サイトProfilekernel023HadoopやSparkなどのビッグデータ系技術情報を公開しています。(outdated)ホーム検索トップサイドバーProfilekernel023HadoopやSparkなどのビッグデータ系技術情報を公開しています。