全部产品
Search
文档中心

MaxCompute:Analisis catatan penggunaan penagihan MaxCompute

更新时间:Feb 28, 2026

Untuk memahami distribusi biaya MaxCompute dan mengurangi pengeluaran, unduh catatan penggunaan penagihan Anda serta analisis menggunakan Excel atau SQL MaxCompute.

MaxCompute mendukung metode penagihan langganan dan pay-as-you-go untuk resource komputasi. Biaya dihitung per proyek setiap hari, dan tagihan harian dihasilkan sebelum pukul 06.00 pada hari berikutnya. Untuk detail harga lengkap, lihat Ikhtisar.

Jenis penagihan pay-as-you-go

Tabel berikut merangkum setiap jenis penagihan pay-as-you-go beserta rumus harganya. Untuk harga satuan terbaru, lihat Harga komputasi (pay-as-you-go), Biaya penyimpanan, dan Harga unduhan.

Billing typeMeteringType valuePricing formula
SQL computingComputationSqlInput data (GB) x SQL complexity x USD 0.0438/GB
Storage (standard, single-zone)StorageAverage daily storage (GB) x USD 0.0006/GB/day
Long-term storageColdStorageAverage daily storage (GB) x unit price
Infrequent Access (IA) storageLowFreqStorageAverage daily storage (GB) x unit price
Long-term storage accessSqlLongtermInput data (GB) x unit price
IA storage accessSqlLowFrequencyInput data (GB) x unit price
Internet downloadDownloadExDownloaded data (GB) x USD 0.1166/GB
MapReduce computingMapReduceBillable hours x USD 0.0690/hour/task
Spark computingsparkBillable hours x USD 0.1041/hour/task
Tablestore external table SQLComputationSqlOTSInput data (GB) x USD 0.0044/GB
OSS external table SQLComputationSqlOSSInput data (GB) x USD 0.0044/GB

Langkah 1: Unduh catatan penggunaan penagihan

Buka halaman Usage Details untuk mengunduh catatan penggunaan resource harian. Catatan ini menunjukkan rincian pembentukan biaya, termasuk biaya penyimpanan dan komputasi harian beserta pekerjaan yang menghasilkannya.

image

Konfigurasikan parameter berikut:

image
  • Product: Pilih MaxCompute(Postpay).

  • Billable Item:

    • MaxCompute(Postpay): Item penagihan komputasi, penyimpanan, dan unduhan pay-as-you-go.

    • ODPSDataPlus: Item penagihan terkait penyimpanan dan unduhan pay-as-you-go dalam proyek langganan. Pilih opsi ini dalam salah satu skenario berikut:

      • Hanya proyek langganan yang ada di suatu wilayah tanpa proyek pay-as-you-go.

      • Sebelum 25 April 2024, proyek langganan dan pay-as-you-go keduanya ada di wilayah China (Hong Kong) atau wilayah di luar China. Dalam kasus ini, ODPSDataPlus mencakup proyek yang menggunakan kuota komputasi langganan secara default. Untuk mengunduh catatan proyek yang menggunakan kuota komputasi pay-as-you-go secara default, pilih MaxCompute(Postpay) sebagai gantinya.

    • ODPS_QUOTA: Tidak digunakan. Abaikan opsi ini.

    • ODPS_QUOTA_USAGE: Catatan penggunaan untuk resource yang dipesan secara elastis yang digunakan untuk komputasi atau transmisi data.

  • Time Period: Tentukan tanggal mulai dan akhir untuk data penagihan. > Note: Jika suatu pekerjaan dimulai pada 1 Desember dan selesai pada 2 Desember, atur tanggal mulai menjadi 1 Desember. Jika tidak, penggunaan resource pekerjaan tersebut tidak akan muncul dalam catatan yang diunduh. Catatan konsumsi resource untuk pekerjaan ini muncul dalam tagihan 2 Desember.

  • Time Unit: Nilai default adalah Hour.

Klik Export CSV. Setelah ekspor selesai, buka halaman Export Record untuk mengunduh catatan penggunaan.

Langkah 2 (opsional): Unggah catatan penggunaan ke MaxCompute

Langkah ini hanya diperlukan jika Anda berencana menggunakan SQL MaxCompute untuk analisis. Untuk analisis hanya dengan Excel, lewati ke Langkah 3.
  1. Buat tabel bernama maxcomputefee pada client MaxCompute (odpscmd):

        CREATE TABLE IF NOT EXISTS maxcomputefee
        (
            projectid STRING COMMENT 'ProjectId'
            ,feeid STRING COMMENT 'MeteringId'
            ,meteringtime STRING COMMENT 'MeteringTime'
            ,type STRING COMMENT 'MeteringType, such as Storage, ComputationSql, or DownloadEx'
            ,starttime STRING COMMENT 'StartTime'
            ,storage BIGINT COMMENT 'Storage'
            ,endtime STRING COMMENT 'EndTime'
            ,computationsqlinput BIGINT COMMENT 'SQLInput(Byte)'
            ,computationsqlcomplexity DOUBLE COMMENT 'SQLComplexity'
            ,uploadex BIGINT COMMENT 'UploadEx'
            ,download BIGINT COMMENT 'DownloadEx(Byte)'
            ,cu_usage DOUBLE COMMENT 'MRCompute(Core*Second)'
            ,Region STRING COMMENT 'Region'
            ,input_ots BIGINT COMMENT 'InputOTS(Byte)'
            ,input_oss BIGINT COMMENT 'InputOSS(Byte)'
            ,source_id STRING COMMENT 'DataWorksNodeID'
            ,source_type STRING COMMENT 'SpecificationType'
            ,RecycleBinStorage BIGINT COMMENT 'RecycleBinStorage'
            ,JobOwner STRING COMMENT 'JobOwner'
            ,Signature STRING COMMENT 'Signature'
        );

Deskripsi field

FieldDescription
ProjectIdID atau nama proyek MaxCompute yang dimiliki oleh Akun Alibaba Cloud Anda, atau oleh Akun Alibaba Cloud tempat Pengguna RAM saat ini bernaung.
MeteringIdID penagihan. Untuk tugas komputasi SQL, ini adalah InstanceID. Untuk tugas unggah atau unduh, ini adalah Tunnel SessionId.
MeteringTypeJenis penagihan. Nilai yang valid: Storage, ComputationSql, UploadIn, UploadEx, DownloadIn, DownloadEx. Hanya item yang ditandai merah dalam aturan penagihan yang dikenakan biaya. Nilai tambahan meliputi MapReduce, spark, ComputationSqlOTS, ComputationSqlOSS, ColdStorage (long-term storage), LowFreqStorage (Infrequent Access storage), SqlLongterm (long-term storage access), dan SqlLowFrequency (IA storage access).
StorageVolume data yang dibaca per jam, dalam byte.
StartTime / EndTimeWaktu ketika pekerjaan dimulai atau dihentikan. Data penyimpanan dikumpulkan setiap jam.
SQLInput(Byte)Jumlah data masukan untuk setiap eksekusi SQL, dalam byte.
SQLComplexityPengali kompleksitas untuk pernyataan SQL. Ini merupakan salah satu faktor penagihan untuk pekerjaan SQL.
UploadEx / DownloadEx(Byte)Jumlah data yang diunggah atau diunduh melalui Internet, dalam byte.
MRCompute(Core\*Second)Jam penagihan untuk pekerjaan MapReduce atau Spark. Dihitung sebagai: Jumlah core x Waktu berjalan (detik). Konversi hasilnya ke jam untuk penagihan.
InputOTS(Byte) / InputOSS(Byte)Jumlah data yang dibaca dari Tablestore atau Object Storage Service (OSS) melalui tabel eksternal, dalam byte.
RecycleBinStorageVolume data backup yang dibaca per jam, dalam byte.
RegionWilayah tempat proyek MaxCompute berada.
JobOwnerPengguna yang mengirimkan pekerjaan.
SignaturePengidentifikasi untuk konten pekerjaan SQL. Pekerjaan dengan konten SQL identik memiliki signature yang sama, yang membantu mengidentifikasi pekerjaan berulang atau terjadwal.
  1. Jalankan perintah Tunnel berikut untuk mengunggah catatan penggunaan penagihan: > Note: Jumlah dan tipe data kolom dalam file CSV harus sesuai dengan tabel maxcomputefee. Jika tidak sesuai, pengunggahan data gagal. tunnel上传 > Note: > - Untuk informasi lebih lanjut tentang perintah Tunnel, lihat Tunnel commands. > - Anda juga dapat menggunakan fitur impor data DataWorks untuk mengunggah catatan penagihan. Untuk detailnya, lihat Use DataWorks (offline and real-time).

        tunnel upload ODPS_2019-01-12_2019-01-14.csv maxcomputefee -c "UTF-8" -h "true" -dfp "yyyy-MM-dd HH:mm:ss";
  2. Verifikasi bahwa semua catatan telah diunggah: 验证导入结果

        SELECT * FROM maxcomputefee limit 10;

Langkah 3: Analisis catatan penggunaan penagihan

Biaya pekerjaan SQL

Rumus: Input data (GB) × SQL complexity × USD 0,0438/GB

Metode Excel: Filter catatan dengan MeteringType ComputationSql. Urutkan berdasarkan biaya untuk mengidentifikasi pekerjaan yang tidak terduga mahal atau volume pekerjaan besar. Hitung biaya setiap pekerjaan sebagai:

Fee = SQLInput(Byte) / 1024 / 1024 / 1024 × SQL complexity × USD 0,0438

Metode SQL: Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.

-- Sort SQL jobs by fee (descending) to find the most expensive jobs.
SELECT  to_char(endtime,'yyyymmdd') as ds,feeid as instanceid
        ,projectid
        ,computationsqlcomplexity  -- SQL complexity
        ,SUM((computationsqlinput / 1024 / 1024 / 1024)) as computationsqlinput  -- Amount of input data (GB)
        ,SUM((computationsqlinput / 1024 / 1024 / 1024)) * computationsqlcomplexity * 0.0438 AS sqlmoney
FROM    maxcomputefee
WHERE   TYPE = 'ComputationSql'
AND to_char(endtime,'yyyymmdd') >= '20190112'
GROUP BY to_char(endtime,'yyyymmdd'),feeid
         ,projectid
         ,computationsqlcomplexity
ORDER BY sqlmoney DESC
LIMIT   10000
;

Saran optimasi:

  • Untuk mengurangi biaya pekerjaan mahal, kurangi jumlah data masukan atau turunkan kompleksitas SQL.

  • Agregasikan hasil berdasarkan field ds untuk menganalisis tren biaya harian selama periode tertentu. Gambarkan tren tersebut di Excel atau alat seperti Quick BI.

Identifikasi node DataWorks di balik pekerjaan mahal:

  1. Dapatkan URL LogView dengan menjalankan perintah wait <instanceid>; pada client MaxCompute (odpscmd) atau di konsol DataWorks. 运行日志

  2. Lihat detail pekerjaan dengan perintah berikut: Contoh output:

        DESC instance 2016070102275442go3xxxxxx;
        ID 2016070102275442go3xxxxxx
        Owner ALIYUN$***@aliyun-inner.com
        StartTime 2016-07-01 10:27:54
        EndTime 2016-07-01 10:28:16
        Status Terminated
        console_query_task_1467340078684 Success
        Query select count(*) from src where ds='20160628';
  3. Buka URL LogView di browser. Klik tab SourceXML dan cari nilai parameter SKYNET_NODENAME. 节点名称 > Note: > - Untuk informasi lebih lanjut tentang LogView, lihat Use LogView V2.0 to view job information. > - Jika parameter SKYNET_NODENAME kosong, klik tab SQL Script untuk mendapatkan potongan kode. Cari node tersebut di konsol DataWorks menggunakan potongan kode tersebut. Untuk detailnya, lihat DataWorks code search.

  4. Cari node di konsol DataWorks menggunakan nilai SKYNET_NODENAME, lalu optimalkan.

Tren jumlah pekerjaan

Kenaikan biaya sering berkorelasi dengan lonjakan jumlah pekerjaan akibat operasi berulang atau pengaturan penjadwalan yang salah konfigurasi.

Metode Excel: Filter catatan dengan MeteringType ComputationSql. Hitung jumlah pekerjaan per hari untuk setiap proyek dan periksa lonjakan tidak biasa.

Metode SQL: Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.

-- Analyze daily job count trends.
SELECT  TO_CHAR(endtime,'yyyymmdd') AS ds
        ,projectid
        ,COUNT(*) AS tasknum
FROM    maxcomputefee
WHERE   TYPE = 'ComputationSql'
AND     TO_CHAR(endtime,'yyyymmdd') >= '20190112'
GROUP BY TO_CHAR(endtime,'yyyymmdd')
         ,projectid
ORDER BY tasknum DESC
LIMIT   10000
;
运行结果

Hasil ini menunjukkan tren pengiriman pekerjaan dari 12 hingga 14 Januari 2019.

Biaya penyimpanan

Biaya minimum untuk proyek kecil

Lihat catatan dengan MeteringType Storage. Proyek seperti maxcompute_doc yang hanya memiliki data 508 byte tetap dikenakan biaya CNY 0,01 karena penyimpanan hingga 512 MB ditagih dengan tarif minimum flat sesuai aturan penagihan penyimpanan.

doc项目

Jika data hanya digunakan untuk pengujian:

  • Jalankan pernyataan Drop Table untuk menghapus data tabel.

  • Jika seluruh proyek tidak lagi diperlukan, login ke konsol MaxCompute dan hapus proyek di halaman Projects.

Data yang disimpan kurang dari satu hari

  1. Lihat catatan dengan MeteringType Storage. Misalnya, proyek alian menyimpan data sebesar 333.507.833.900 byte, diunggah pukul 08.00. Penagihan dimulai pukul 09.07, sehingga menghasilkan biaya penyimpanan selama 15 jam. > Note: Ketika siklus penagihan adalah satu hari, penagihan berhenti di akhir setiap hari. Catatan per jam terakhir tidak termasuk dalam tagihan hari tersebut.

  2. Hitung rata-rata penyimpanan dan biaya harian sesuai aturan penagihan penyimpanan:

        -- Average storage
        333507833900 Byte x 15 / 1024 / 1024 / 1024 / 24 = 194.127109076362103 GB
    
        -- Daily storage fee (standard storage: USD 0.0006/GB/day)
        194.127109076362103 GB x USD 0.0006 per GB per day = USD 0.1165 per day

Analisis biaya penyimpanan dengan SQL

Rumus: Berlaku harga bertingkat. Penyimpanan kurang dari 0,5 GB: CNY 0,01/GB/hari. Penyimpanan 0,5 GB atau lebih: CNY 0,004/GB/hari.

Metode SQL: Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.

-- Analyze storage fees.
SELECT  t.ds
        ,t.projectid
        ,t.storage
        ,CASE    WHEN t.storage < 0.5 THEN t.storage*0.01     --- If the actually used storage space of a project is greater than 0 MB and less than or equal to 512 MB, the unit price for the storage space is CNY 0.01 per GB per day.
                 WHEN t.storage >= 0.5  THEN t.storage*0.004  --- If the actually used storage space of a project is greater than 512 MB, the unit price for the storage space is CNY 0.004 per GB per day.
        END storage_fee
FROM    (
            SELECT  to_char(starttime,'yyyymmdd') as ds
                    ,projectid
                    ,SUM(storage/1024/1024/1024)/24 AS storage
            FROM    maxcomputefee
            WHERE   TYPE = 'Storage'
            and to_char(starttime,'yyyymmdd') >= '20190112'
            GROUP BY to_char(starttime,'yyyymmdd')
                     ,projectid
        ) t
ORDER BY storage_fee DESC
;
运行结果

Saran optimasi: Untuk mengurangi biaya penyimpanan, tentukan lifecycle untuk tabel dan hapus tabel temporary yang tidak diperlukan.

Biaya penyimpanan jangka panjang dan IA

Harga satuan dalam kueri SQL berikut mungkin tidak mencerminkan harga terbaru. Sebelum menggunakan kueri ini, verifikasi harga satuan terkini untuk penyimpanan jangka panjang, penyimpanan IA, dan biaya akses datanya di halaman Biaya penyimpanan, dan perbarui pengali harga dalam kueri tersebut.

Kueri berikut menganalisis biaya untuk penyimpanan jangka panjang (MeteringType: ColdStorage), penyimpanan Infrequent Access (MeteringType: LowFreqStorage), dan biaya akses datanya masing-masing (SqlLongterm dan SqlLowFrequency). Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.

-- Analyze long-term storage fees.
SELECT  to_char(starttime,'yyyymmdd') as ds
        ,projectid
        ,SUM(storage/1024/1024/1024)/24*0.0011 AS longTerm_storage
  FROM  maxcomputefee
 WHERE  TYPE = 'ColdStorage'
   and  to_char(starttime,'yyyymmdd') >= '20190112'
GROUP BY to_char(starttime,'yyyymmdd')
         ,projectid;

-- Analyze the IA storage fees.
SELECT  to_char(starttime,'yyyymmdd') as ds
        ,projectid
        ,SUM(storage/1024/1024/1024)/24*0.0011 AS lowFre_storage
  FROM  maxcomputefee
 WHERE  TYPE = 'LowFreqStorage'
   and  to_char(starttime,'yyyymmdd') >= '20190112'
GROUP BY to_char(starttime,'yyyymmdd')
         ,projectid;

-- Analyze long-term storage access fees.
SELECT  to_char(starttime,'yyyymmdd') as ds
        ,projectid
        ,SUM(computationsqlinput/1024/1024/1024)*0.522 AS longTerm_IO
  FROM  maxcomputefee
 WHERE  TYPE = 'SqlLongterm'
   and  to_char(starttime,'yyyymmdd') >= '20190112'
GROUP BY to_char(starttime,'yyyymmdd')
         ,projectid;

-- Analyze IA storage access fees.
SELECT  to_char(starttime,'yyyymmdd') as ds
        ,projectid
        ,SUM(computationsqlinput/1024/1024/1024)*0.522 AS lowFre_IO
  FROM  maxcomputefee
 WHERE  TYPE = 'SqlLowFrequency'
   and  to_char(starttime,'yyyymmdd') >= '20190112'
GROUP BY to_char(starttime,'yyyymmdd')
         ,projectid;

Biaya unduhan

Rumus: Data yang diunduh (GB) × USD 0,1166/GB

Metode Excel: Filter catatan dengan MeteringType DownloadEx. Misalnya, catatan yang menunjukkan trafik unduhan 0,036 GB (38.199.736 byte) menghasilkan biaya:

(38.199.736 / 1024 / 1024 / 1024) × USD 0,1166 = USD 0,004

Lihat Biaya unduhan (pay-as-you-go) untuk aturan harga lengkap.

Saran optimasi: Periksa apakah layanan Tunnel Anda dikenakan biaya akses Internet. Untuk detail endpoint, lihat Endpoint. Misalnya, jika Anda berada di Suzhou (bagian dari wilayah China (Shanghai)) dan perlu mengunduh volume data besar, gunakan instans Elastic Compute Service (ECS) di wilayah China (Shanghai) untuk mengunduh data ke VM Anda terlebih dahulu, sehingga menghindari biaya unduhan Internet.

Metode SQL: Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.

-- Analyze download fees.
SELECT  TO_CHAR(starttime,'yyyymmdd') AS ds
        ,projectid
        ,SUM((download/1024/1024/1024)*0.1166) AS download_fee
FROM    maxcomputefee
WHERE   type = 'DownloadEx'
AND     TO_CHAR(starttime,'yyyymmdd') >= '20190112'
GROUP BY TO_CHAR(starttime,'yyyymmdd')
         ,projectid
ORDER BY download_fee DESC
;

Biaya pekerjaan MapReduce

Rumus: Jam penagihan × USD 0,0690/jam/tugas

Metode Excel: Filter catatan dengan MeteringType MapReduce. Hitung dan urutkan biaya menggunakan:

Fee = Number of cores × Running time (seconds) / 3600 × USD 0,0690

Metode SQL: Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.

-- Analyze the fees of MapReduce jobs.
SELECT  TO_CHAR(starttime,'yyyymmdd') AS ds
        ,projectid
        ,(cu_usage/3600)*0.0690 AS mr_fee
FROM    maxcomputefee
WHERE   type = 'MapReduce'
AND     TO_CHAR(starttime,'yyyymmdd') >= '20190112'
GROUP BY TO_CHAR(starttime,'yyyymmdd')
         ,projectid
         ,cu_usage
ORDER BY mr_fee DESC
;

Biaya pekerjaan Spark

Rumus: Jam penagihan × USD 0,1041/jam/tugas

Metode Excel: Filter catatan dengan MeteringType spark. Hitung biaya sebagai:

Fee = Number of cores × Running time (seconds) / 3600 × USD 0,1041

Metode SQL: Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.

-- Analyze the fees of Spark jobs.
SELECT  TO_CHAR(starttime,'yyyymmdd') AS ds
        ,projectid
        ,(cu_usage/3600)*0.1041 AS mr_fee
FROM    maxcomputefee
WHERE   type = 'spark'
AND     TO_CHAR(starttime,'yyyymmdd') >= '20190112'
GROUP BY TO_CHAR(starttime,'yyyymmdd')
         ,projectid
         ,cu_usage
ORDER BY mr_fee DESC
;

Biaya tabel eksternal (Tablestore dan OSS)

Rumus: Input data (GB) × USD 0,0044/GB

Metode Excel: Filter catatan dengan MeteringType ComputationSqlOTS atau ComputationSqlOSS. Hitung biaya sebagai:

Fee = SQLInput(Byte) / 1024 / 1024 / 1024 × USD 0,0044

Harga satuan dalam kueri SQL di bawah ini (0,03) tidak sesuai dengan harga satuan resmi saat ini (USD 0,0044/GB). Perbarui pengali harga dalam kueri agar sesuai dengan harga terkini di halaman Harga komputasi (pay-as-you-go).

Metode SQL: Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.

-- Analyze the fees of SQL jobs that use Tablestore external tables.
SELECT  TO_CHAR(starttime,'yyyymmdd') AS ds
        ,projectid
        ,(computationsqlinput/1024/1024/1024)*1*0.03 AS ots_fee
FROM    maxcomputefee
WHERE   type = 'ComputationSqlOTS'
AND     TO_CHAR(starttime,'yyyymmdd') >= '20190112'
GROUP BY TO_CHAR(starttime,'yyyymmdd')
         ,projectid
         ,computationsqlinput
ORDER BY ots_fee DESC
;

-- Analyze the fees of SQL jobs that use OSS external tables.
SELECT  TO_CHAR(starttime,'yyyymmdd') AS ds
        ,projectid
        ,(computationsqlinput/1024/1024/1024)*1*0.03 AS oss_fee
FROM    maxcomputefee
WHERE   type = 'ComputationSqlOSS'
AND     TO_CHAR(starttime,'yyyymmdd') >= '20190112'
GROUP BY TO_CHAR(starttime,'yyyymmdd')
         ,projectid
         ,computationsqlinput
ORDER BY oss_fee DESC
;

Referensi

TO_CHAR adalah fungsi tanggal atau string dalam SQL MaxCompute. Untuk detailnya, lihat TO_CHAR.

Untuk informasi lebih lanjut tentang fluktuasi tagihan dan analisis biaya, lihat View billing details.