このトピックでは、Hiveを使用して、E-MapReduce (EMR) クラスターでデータベースやテーブルの作成などの基本操作を実行する方法について説明します。
前提条件
EMRクラスターが作成されます。 詳細については、「クラスターの作成」をご参照ください。
Hive CLIを開く
- SSHモードでEMRクラスターにログインします。 詳細については、「クラスターへのログイン」をご参照ください。
- 次のコマンドを実行して、hadoopユーザーに切り替えます。
su hadoop - 次のコマンドを実行してHive CLIを開きます。
ハイブ
データベースの管理
この例では、testdbという名前のデータベースが使用されます。
- 次のコマンドを実行してデータベースを作成します。
create database if not exists testdb;返された情報にOKが含まれている場合、testdbデータベースが作成されます。
- 次のコマンドを実行して、データベースに関する情報を照会します。
desc database testdb; - データベースを使用するには、次のコマンドを実行します。
use testdb; - 次のコマンドを実行してデータベースを削除します。
drop database if exists testdb;返された情報にOKが含まれている場合、データベースは削除されます。
テーブルの管理
この例では、tという名前のテーブルが使用されます。
- 次のコマンドを実行して、テーブルを作成します。
create table if not exists t (id bigint, value string);返された情報にOKが含まれている場合、tテーブルが作成されます。
- 次のコマンドを実行して、テーブルに関する情報を照会します。
desc formatted t; - 次のコマンドを実行して、既存のすべてのテーブルを照会します。
show tables;次の情報が返されます。t - 次のコマンドを実行して、テーブルを削除します。
drop table if exists t;返された情報にOKが含まれている場合、テーブルは削除されます。
SQL文の実行
- 次のステートメントを実行してデータを挿入します。
insert into table t select 1, 'value-1';返された情報にOKが含まれている場合、データが挿入されます。OK 所要時間: 14.73秒 - 次のステートメントを実行して、テーブル内の最初の10レコードを照会します。
select * from t limit 10;次の情報が返されます。1値-1 所要時間: 11.48秒、フェッチ: 1行 (s) - 次のステートメントを実行してデータを集計します。
select value, count(id) from t group by value;次の情報が返されます。値-1 1 所要時間: 20.11秒、フェッチ: 1行 (s)