SQLライクにMapReduce処理ができる「Hive」の使い方:きょうから試せる Hadoop“スモールスタート”ガイド(終)(2/3 ページ)
実際にHadoopで処理を実装していきながら「Hadoopは、誰にだって扱える」を体感しましょう。今回は、Hadoop Streamingとは別のHadoopの利用方法となる「Hiveの使い方」を解説します。
テーブル操作
テーブルの作成も簡単に行えます。
テーブルの情報を見るときには「DESC(DESCRIBE)」コマンドを使います。
「FORMATTED」を指定すれば、より詳細な情報を見ることもできます。
また、テーブル作成時に「LIKE」を利用すれば、既存のテーブルと同じスキーマを持ったテーブルを簡単に作成することも可能です。以下で、booksテーブルと同じスキーマを持つnovelsテーブルを作成してみます。
内部テーブルを扱う
では、今回作ったbooksテーブルにデータを挿入してみます。HiveはHDFS上に構築されているのでまずはデータをHDFS上に配置します。マスタノード上で以下のようにして作業してください。
面白い本,1000 かなり面白い本,1500 すごく面白い本,1800
これでHDFS上にデータファイルが配置されました。確認してみましょう。
これで準備は整いました。再びHiveのインタラクティブシェルで作業します。まずbooksテーブルを定義してそこにデータを追加してみます。ただし、すでに同名のテーブルが存在しているとうまくいきません。まずは存在しているもともとのbooksテーブルを削除しておきます。
これでbooksテーブルは削除されました。あらためてbooksテーブルを定義しますが、データを挿入するために、区切り文字などを適切に定義してあげる必要があります。FIELDS TERMINATED BYで適切な区切り文字を指定してください。この例ではカンマ区切りのため、カンマを指定してあります。
booksテーブルが作成できたら、ここにデータを挿入しましょう。「INPATH」にはファイルのフルパスではなく、ファイルが存在するディレクトリを指定するので注意してください。指定したパス以下のファイルがすべて読み込まれます。
なお、OVERWRITEというキーワードが付いていますが、これを付けるとテーブルにある既存のデータをすべて上書きします。OVERWRITEが付いていなければデータは追記されます。
このとき、INPATHで指定したディレクトリの中にタブ区切りではないデータなど、booksテーブルの定義に合わないデータファイルやディレクトリ等が存在するとエラーメッセージが表示されます。
エラーが出なければこれでbooks.txtのデータがbooksテーブルの中に取り込まれました。実際にbooksテーブルからデータを読み出せることも確認できます。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- もし、あなたが「“ビッグデータプロジェクト”を任せる。何とかするように」と言われたら
「ビッグデータプロジェクトを始めることになった」ら、具体的に何をするのか。本連載は、「ビッグデータプロジェクトの“進め方”」を業務視点/ビジネス視点の両面から体系的に理解し、具体的に実践していく方のためのナレッジアーカイブです。第1回目は、「ビッグデータとは何か」の基礎と、「ビッグデータ基盤の概要とメリット」を解説します。 - Hadoopは「難しい・遅い・使えない」? 越えられない壁がある理由と打開策を整理する
ブームだったHadoop。でも実際にはアーリーアダプター以外には、扱いにくくて普及が進まないのが現状だ。その課題に幾つかの解決策が出てきた。転換期を迎えるHadoopをめぐる状況を整理しよう。 - いまさら聞けないHadoopとテキストマイニング入門
Hadoopとは何かを解説し、実際にHadoopを使って大規模データを対象にしたテキストマイニングを行います。テキストマイニングを行うサンプルプログラムの作成を通じて、Hadoopの使い方や、どのように活用できるのかを解説します - 欧米の金融業界は今、どうHadoopを活用しているか
Hadoopは、欧米の金融関連サービス業界でどう活用されているか。米Hortonworksの金融サービス業界担当ゼネラルマネージャーへのインタビューで得た情報を、2回に分けてお届けする。今回は金融業界におけるHadoopのユースケースを概観する。