本文介紹Impala如何以EMR叢集的方式查詢OSS-HDFS服務中的資料。
前提條件
已建立EMR-3.42.0及以上版本或EMR-5.8.0及以上版本的叢集,並在建立時選擇了Impala。具體步驟,請參見建立叢集。
已開通並授權訪問OSS-HDFS服務。具體操作,請參見開通OSS-HDFS服務。
操作步驟
-
登入EMR on ECS控制台,建立EMR叢集。
建立EMR叢集時,確保選擇的产品版本為EMR-3.46.2及以上版本或者EMR-5.12.2及以上版本,集群存储根路径選擇已開通OSS-HDFS服務的Bucket,其他參數保留預設配置。具體步驟,請參見建立叢集。
在終端使用以下命令串連Impala。
更多串連方式,請參見串連Impala。
impala-shell -i core-1-1使用Impala查詢OSS-HDFS服務中的資料。
建立資料庫。
CREATE DATABASE store LOCATION 'oss://<bucket-name>.<endpoint>/impala';使用資料庫。
USE store;建立表。
CREATE EXTERNAL TABLE customer_demographics ( `cd_demo_sk` INT, `cd_gender` STRING, `cd_marital_status` STRING, `cd_education_status` STRING, `cd_purchase_estimate` INT, `cd_credit_rating` STRING, `cd_dep_count` INT, `cd_dep_employed_count` INT, `cd_dep_college_count` INT) STORED AS PARQUET;插入資料。
INSERT INTO customer_demographics VALUES (1, 'Male', 'Single', 'Graduate', 1000, 'AAA', 2, 1, 1), (2, 'Female', 'Married', 'Undergraduate', 2000, 'BBB', 3, 2, 2);查詢資料。
select * from customer_demographics;