複雑な照会を説明する
この手順では、結合と集約を含むより複雑な照会計画をどのように説明するかを学びます。
- 次のスキーマを持つ
locations
という名前の別のサンプル テーブルを作成します。
CREATE TABLE locations (
location_id INT,
location_name STRING,
coordinates STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
/home/hadoop/sample_data/locations.csv
ファイルからいくつかのサンプル データを locations
テーブルに読み込みます。
LOAD DATA LOCAL INPATH '/home/hadoop/sample_data/locations.csv' INTO TABLE locations;
events
テーブルと locations
テーブルを結合し、各場所ごとのイベント数をカウントするための次の照会を実行します。
SELECT l.location_name, COUNT(e.event_id) AS event_count
FROM events e
JOIN locations l ON e.event_id = l.location_id
GROUP BY l.location_name;
- このステートメントの照会計画を説明します。
EXPLAIN
SELECT l.location_name, COUNT(e.event_id) AS event_count
FROM events e
JOIN locations l ON e.event_id = l.location_id
GROUP BY l.location_name;
- 出力を分析し、照会の実行に関与するさまざまな段階、たとえばファイルシステムの走査、マッパー、リデューサー、および結合と集約の段階を観察します。