All Products
Search
Document Center

E-MapReduce:Aktifkan akselerasi kueri native

Last Updated:Jun 22, 2026

JindoTable menggunakan engine native untuk mempercepat kueri pada file ORC atau Parquet di Spark, Hive, atau Presto. Topik ini menjelaskan cara mengaktifkan akselerasi kueri native guna meningkatkan performa Spark, Hive, dan Presto.

Prasyarat

Anda harus memiliki kluster E-MapReduce dengan file ORC atau Parquet yang disimpan di JindoFS atau OSS. Untuk informasi lebih lanjut, lihat Create a cluster.

Batasan

  • File tipe Binary tidak dapat dipercepat.

  • Tabel terpartisi tidak didukung jika nilai kolom kunci partisinya disimpan dalam file data.

  • Kluster E-MapReduce versi EMR-5.X dan yang lebih baru tidak didukung.

  • Penggunaan spark.read.schema(userDefinedSchema) tidak didukung.

  • Tipe Date hanya didukung dalam rentang 1400-01-01 hingga 9999-12-31.

  • Tabel yang berisi nama kolom yang hanya berbeda dalam kapitalisasi (misalnya, NAME dan name) tidak didukung. Nama kolom diperlakukan secara case-insensitive selama akselerasi kueri native.

  • Engine dan format penyimpanan yang didukung untuk Spark, Hive, dan Presto adalah sebagai berikut.

    Engine

    ORC

    Parquet

    Spark2

    Supported

    Supported

    Spark3

    Supported

    Supported

    Presto

    Supported

    Supported

    Hive2

    Not supported

    Supported

    Hive3

    Not supported

    Supported

  • Engine dan sistem file penyimpanan yang didukung untuk Spark, Hive, dan Presto adalah sebagai berikut.

    Engine

    OSS

    JindoFS

    HDFS

    Spark2

    Supported

    Supported

    Supported

    Presto

    Supported

    Supported

    Supported

    Hive2

    Supported

    Supported

    Not supported

    Hive3

    Supported

    Supported

    Not supported

Tingkatkan performa Spark

  1. Aktifkan akselerasi ORC atau Parquet JindoTable.

    Catatan
    • Akselerasi kueri native menggunakan memori off-heap. Kami menyarankan menambahkan konfigurasi --conf spark.executor.memoryOverhead=4g ke job Spark Anda untuk mengalokasikan sumber daya tambahan bagi akselerasi.

    • Untuk membaca file ORC atau Parquet di Spark, Anda harus menggunakan DataFrame API atau Spark SQL.

    • Pengaturan global

      1. Buka halaman detail kluster.

        1. Masuk ke E-MapReduce console.

        2. Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya sesuai kebutuhan.

        3. Klik tab Clusters.

        4. Pada halaman Clusters, temukan kluster tersebut lalu klik Details di kolom Actions.

      2. Ubah konfigurasi.

        1. Di panel navigasi sebelah kiri, pilih Services > Spark.

        2. Pada halaman layanan Spark, klik tab Configure.

        3. Di kotak pencarian, cari parameter spark.sql.extensions dan atur nilainya menjadi io.delta.sql.DeltaSparkSessionExtension,com.aliyun.emr.sql.JindoTableExtension.

      3. Simpan konfigurasi.

        1. Klik Save.

        2. Pada kotak dialog Confirm, masukkan Execution Reason lalu klik OK.

      4. Restart ThriftServer.

        1. Di pojok kanan atas, pilih Actions > Restart ThriftServer.

        2. Pada kotak dialog Cluster Activities, masukkan Execution Reason lalu klik OK.

        3. Pada kotak dialog Confirm, klik OK.

    • Pengaturan tingkat job

      Saat menjalankan spark-shell atau spark-sql, tambahkan parameter startup Spark berikut:

      --conf spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension,com.aliyun.emr.sql.JindoTableExtension

      Untuk informasi lebih lanjut tentang job, lihat Configure a Spark Shell job atau Configure a Spark SQL job.

  2. Verifikasi bahwa akselerasi telah diaktifkan.

    1. Masuk ke UI Spark History Server.

    2. Di halaman SQL pada Spark UI, lihat job eksekusi.

      Jika JindoDataSourceV2Scan muncul, berarti akselerasi telah diaktifkan. Jika tidak, periksa konfigurasi di Langkah 1. Pada halaman Details for Query 10, Directed Acyclic Graph (DAG) menampilkan rencana eksekusi. Sebagai contoh, JindoDataSourceV2Scan dapat memindai data sebesar 15,6 GB (sekitar 14 miliar baris), yang kemudian difilter menjadi 2,7 miliar baris. Operasi akhir HashAggregate menghasilkan 4.722 baris, dan total kueri memerlukan waktu 2,3 menit.

Tingkatkan performa Presto

Penting

Kueri Presto memiliki konkurensi tinggi, dan akselerasi kueri native menggunakan memori off-heap. Oleh karena itu, Anda harus mengalokasikan lebih dari 10 GB memori untuk akselerasi kueri.

Presto memiliki katalog bawaan untuk akselerasi native JindoTable bernama hive-acc. Anda dapat menggunakan katalog hive-acc untuk mengaktifkan akselerasi kueri native.

Contoh:

presto --server emr-header-1:9090 --catalog hive-acc --schema default
Catatan

Akselerasi kueri native untuk Presto saat ini tidak mendukung pembacaan tipe data kompleks seperti Map, Struct, atau Array.

Tingkatkan performa Hive

Penting

Jika stabilitas job yang ketat diperlukan, kami menyarankan untuk tidak mengaktifkan akselerasi kueri native.

Anda dapat meningkatkan performa Hive dengan salah satu cara berikut:

  • Gunakan konsol

    Di konsol, buka halaman Configure layanan Hive. Cari parameter kustom hive.jindotable.native.enabled dan atur nilainya menjadi true. Simpan konfigurasi dan restart layanan agar perubahan diterapkan. Metode ini berlaku untuk Hive on MR maupun Hive on Tez.

  • Gunakan CLI

    Di CLI, atur hive.jindotable.native.enabled menjadi true untuk mengaktifkan akselerasi kueri native. Karena E-MapReduce V3.35.0 dan yang lebih baru sudah menyertakan plug-in akselerasi Parquet JindoTable, Anda dapat langsung mengatur parameter ini.

    set hive.jindotable.native.enabled=true;
Catatan

Akselerasi kueri native untuk Hive saat ini tidak mendukung pembacaan tipe data kompleks seperti Map, Struct, atau Array.