全部产品
Search
文档中心

Object Storage Service:Gunakan Impala pada cluster EMR untuk meminta data yang disimpan di OSS-HDFS

更新时间:Jun 26, 2025

Topik ini menjelaskan cara menggunakan Impala pada cluster E-MapReduce (EMR) untuk meminta data yang disimpan di OSS-HDFS.

Prasyarat

  • Cluster EMR V3.42.0 atau lebih baru, atau EMR V5.8.0 atau lebih baru telah dibuat dengan layanan Impala dipilih. Untuk informasi lebih lanjut, lihat Buat cluster.

  • OSS-HDFS telah diaktifkan untuk sebuah bucket dan izin akses pada OSS-HDFS telah diberikan. Untuk informasi lebih lanjut tentang cara mengaktifkan OSS-HDFS, lihat Aktifkan OSS-HDFS dan berikan izin akses.

Prosedur

  1. Masuk ke konsol E-MapReduce. Di panel navigasi sebelah kiri, klik EMR on ECS dan buat cluster EMR.

    Saat membuat cluster EMR, pastikan Anda menetapkan Product Version ke EMR-3.46.2 atau lebih baru atau EMR-5.12.2 atau lebih baru dan Root Storage Directory of Cluster ke bucket tempat OSS-HDFS diaktifkan. Gunakan nilai default untuk parameter lainnya. Untuk informasi lebih lanjut, lihat Buat cluster.

  2. Jalankan perintah berikut di terminal untuk terhubung ke Impala.

    Untuk informasi lebih lanjut, lihat Hubungkan ke Impala.

    impala-shell -i core-1-1
  3. Gunakan Impala untuk meminta data yang disimpan di OSS-HDFS.

    1. Buat database.

      CREATE DATABASE store LOCATION 'oss://<bucket-name>.<endpoint>/impala';
    2. Gunakan database.

      USE store;
    3. Buat tabel.

      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;
    4. Masukkan data ke dalam tabel.

      INSERT INTO customer_demographics
      VALUES
        (1, 'Male', 'Single', 'Graduate', 1000, 'AAA', 2, 1, 1),
        (2, 'Female', 'Married', 'Undergraduate', 2000, 'BBB', 3, 2, 2);
      
    5. Minta data dalam tabel.

      select * from customer_demographics;