すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:MaxCompute 使用量の詳細の分析

最終更新日:Jun 16, 2026

本トピックでは、使用量レコードを使用して MaxCompute のコスト分布を分析する方法について説明します。請求を分析することで、予期せぬコストの発生を防ぎ、リソース使用率を最大化し、全体的な支出を削減できます。

背景

MaxCompute (旧称 ODPS) は、Alibaba Cloud が開発したエンタープライズグレードの SaaS 型のインテリジェントなクラウドデータウェアハウスです。コスト効率が高く、安全で、AI 駆動型で、複数のコンピューティングモデルをサポートしています。コンピューティングリソースは、サブスクリプションと従量課金の 2 つの課金方法で利用できます。MaxCompute は、プロジェクトごとに日次で課金し、請求書は翌日の 06:00 までに生成されます。MaxCompute の課金項目と課金方法の詳細については、「課金項目と課金方法」をご参照ください。

MaxCompute は、データ開発中や製品リリース前に発生する可能性のある請求額の変動 (通常はコストの増加) に関する分析情報を提供します。これらの変動を分析することで、MaxCompute プロジェクトのジョブを最適化できます。Alibaba Cloud 請求管理コンソールでは、すべての課金対象製品の使用状況レコードをダウンロードできます。請求書の取得とダウンロード方法の詳細については、「請求明細の表示」をご参照ください。

ステップ1:使用量の詳細のダウンロード

[使用量の詳細の表示] ページに移動して、日単位の詳細な使用量情報をダウンロードし、コストがどのように発生しているかを把握します。たとえば、どのジョブが日々のストレージコストとコンピューティングコストを発生させているかを確認できます。

ページの上部にある [エクスポート手順] セクションには、使用量データが翌月2日の12:00以降に利用可能になると記載されています。使用量の詳細は参考用であり、請求明細とは異なる場合があります。

CSV 形式でエクスポート をクリックします。エクスポートが完了したら、[エクスポート記録] ページに移動して、使用量レコードファイルをダウンロードします。

パラメーター

  • [期間]:クリックして開始時刻と終了時刻を選択します。

    たとえば、ジョブが12月1日に開始し、12月2日に終了するなど、2日間にまたがって実行される場合、ダウンロードした使用量レコードからジョブを見つけるには、開始時刻を12月1日に設定する必要があります。ただし、ジョブのコストは12月2日の請求書に含まれます。

  • [商品名]:

    • [MaxCompute (サブスクリプション)]

    • [MaxCompute(従量課金)]

  • [課金項目]:必要に応じて項目を選択します。

  • [Billable Item]

    • ODPSDataPlus

      • このオプションは、あるリージョンでサブスクリプションプロジェクトのみを購入し、従量課金プロジェクトを購入していない場合に適用されます。このオプションは、サブスクリプションプロジェクト内のストレージやダウンロードなどの従量課金項目の使用量レコードを提供します。

      • 2024年4月25日より前に、香港 (中国) リージョンまたは中国本土以外の別のリージョンでサブスクリプションプロジェクトと従量課金プロジェクトの両方を有効にしていた場合、このオプションは、デフォルトでサブスクリプションのコンピューティングクォータを使用していたプロジェクトにおける、ストレージおよびダウンロード課金項目の使用量レコードに適用されます。このシナリオで、デフォルトで従量課金クォータを使用していたプロジェクトの使用量レコードを照会するには、[MaxCompute (Pay-as-you-go)] を選択する必要があります。

    • ODPS_QUOTA_USAGE:コンピューティングの弾性予約リソースおよび専用トンネルの使用量の詳細。

    • [MaxCompute (Pay-as-you-go)]:コンピューティング、ストレージ、ダウンロードなどの従量課金項目の使用量レコード。

  • [Time Unit]:デフォルトは [時間] です。

ステップ2 (オプション):MaxCompute への使用状況の詳細のアップロード

MaxCompute SQL を使用して使用量レコードを分析する場合は、この手順に従ってレコードを MaxCompute にインポートします。Excel などのスプレッドシートアプリケーションのみを使用する場合は、この手順をスキップできます。

  1. MaxCompute クライアント (odpscmd) を使用して、次のサンプルステートメントに示すように maxcomputefee テーブルを作成します。

    CREATE TABLE IF NOT EXISTS maxcomputefee 
    (
        projectid STRING COMMENT 'プロジェクト ID'
        ,feeid STRING COMMENT '請求情報 ID'
        ,meteringtime STRING COMMENT 'ファイルヘッダー (MeteringTime)'
        ,type STRING COMMENT 'データ型 (Storage、ComputationSQL、DownloadEx など)'
        ,starttime STRING COMMENT '開始時刻'
        ,storage BIGINT COMMENT 'ストレージ (バイト)'
        ,endtime STRING COMMENT '終了時刻'
        ,computationsqlinput BIGINT COMMENT 'SQL/インタラクティブ分析読み取り量 (バイト)'
        ,computationsqlcomplexity DOUBLE COMMENT 'SQL 複雑度'
        ,uploadex BIGINT COMMENT 'インバウンドパブリックトラフィック (バイト)'
        ,download BIGINT COMMENT 'アウトバウンドパブリックトラフィック (バイト)'
        ,cu_usage DOUBLE COMMENT 'MapReduce/Spark ジョブコンピューティング (コア*秒)'
        ,Region STRING COMMENT 'リージョン'
        ,input_ots BIGINT COMMENT 'Tablestore からのデータ入力 (バイト)'
        ,input_oss BIGINT COMMENT 'OSS からのデータ入力 (バイト)'
        ,source_id STRING COMMENT 'DataWorks スケジュールジョブ ID'
        ,source_type STRING COMMENT 'コンピューティングリソース仕様'
        ,RecycleBinStorage BIGINT COMMENT 'ごみ箱ストレージ (バイト)'
        ,JobOwner STRING COMMENT 'ジョブ所有者'
        ,Signature STRING COMMENT 'SQL ジョブ署名'
    );

    以下に、使用量レコードのフィールドを説明します。

    • プロジェクト ID:現在の Alibaba Cloud アカウント、または RAM ユーザーが属するアカウントの MaxCompute プロジェクトのリストです。

    • 請求情報 ID:請求 ID です。ストレージタスクとコンピューティングタスクの場合はタスク ID、SQL ジョブの場合は InstanceID、アップロードタスクとダウンロードタスクの場合は Tunnel SessionId です。

    • データ型:Standard Storage (Storage)、SQL コンピューティング (ComputationSql)、インバウンドプライベートトラフィック (UploadIn)、アウトバウンドプライベートトラフィック (DownloadIn)、インバウンドパブリックトラフィック (UploadEx)、アウトバウンドパブリックトラフィック (DownloadEx) が含まれます。特定のタイプのみが課金項目です。

    • ストレージ (バイト):1 時間あたりのストレージ読み取り量 (バイト単位) です。

    • 開始時刻 または 終了時刻:ジョブは実際の実行時間に基づいて計測されます。ストレージ使用量のみが 1 時間に 1 回サンプリングされます。

    • SQL/インタラクティブ分析読み取り量 (バイト):SQL コンピューティングの場合、各 SQL 実行の入力データ量 (バイト単位) です。

    • SQL 複雑度:SQL ステートメントの複雑さであり、課金要素です。

    • インバウンドパブリックトラフィック (バイト) または アウトバウンドパブリックトラフィック (バイト):それぞれ、パブリックアップロードまたはダウンロードのデータ量 (バイト単位) です。

    • MapReduce/Spark ジョブコンピューティング (コア秒): MapReduce または Spark ジョブコンピューティングの単位はコア秒 (core*seconds) です。課金には、これをコア時に変換する必要があります。

    • Tablestore からのデータ入力 (バイト)OSS からのデータ入力 (バイト):課金対象の外部テーブルから読み取られたデータ量 (バイト単位) です。

    • ごみ箱ストレージ (バイト):1 時間あたりに読み取られるごみ箱ストレージの量 (バイト単位) です。

    • リージョン:MaxCompute プロジェクトが配置されているリージョンです。

    • ジョブ所有者:ジョブを送信したユーザーです。

    • SQL ジョブ署名:SQL ジョブを識別するための署名です。

  2. Tunnel を使用したデータのアップロード

    CSV ファイルをアップロードする際は、ファイル内の列数とデータ型が maxcomputefee テーブルのものと一致することを確認してください。一致しない場合、インポートは失敗します。

    tunnel upload ODPS_2019-01-12_2019-01-14.csv maxcomputefee -c "UTF-8" -h "true" -dfp "yyyy-M-d HH:mm";
  3. 次のステートメントを実行して、データを確認します。

    SELECT * FROM maxcomputefee limit 10;

ステップ 3:請求データの分析

SQL コストの分析

SQL ジョブは MaxCompute ユーザーの 95% 以上が使用しており、通常、支出の大部分を占めます。

説明

SQL ジョブ 1 件あたりの料金 = 入力データ量 × SQL 複雑度 × 単価 (0.0438 米ドル/GB)

  • 方法 1:スプレッドシートを使用した分析

    使用状況レコードテーブルで ComputationSql に分類されたデータを分析します。特定の SQL ジョブのコストが予想を超えているか、または SQL ジョブが多すぎないかを確認します。SQL ジョブのコストは、次の式で計算します: SQL/インタラクティブ分析読み取り量 (バイト) / 1024 / 1024 / 1024 × SQL 複雑度 × SQL 単価

    たとえば、データ読み取り量が 7352600872 バイト の標準 SQL タスクの場合、コストは SQL データ読み取り量 (7352600872 バイト / 1024 / 1024 / 1024) × SQL 複雑度 1 × 0.0438 米ドル / (GB × 複雑度) = 0.300 米ドル です。

    請求が突然増加した場合は、まずサブスクリプションリソースパッケージが使い果たされていないかを確認してください。リソースパッケージのコンピューティングクォータが使い果たされると、超過分は自動的に従量課金で請求されます (単価は GB × 複雑度あたり 0.0438 米ドル)。これにより、コストが急増する可能性があります。

    高コストの SQL ジョブを特定するには、次の手順に従ってください。

    1. 使用状況の詳細 CSV で、データカテゴリが ComputationSql のレコードをフィルタリングし、SQL/インタラクティブ分析読み取り量 (バイト) (computationsqlinput フィールド) の降順で並べ替えて、読み取り量が最も多いレコードを見つけます。

    2. そのエントリの メータリング情報ID (つまり、feeid フィールド) を記録します。

    3. MaxCompute クライアント (odpscmd) または DataWorks で、wait <instanceid>; コマンドを実行して Logview URL を取得します。ブラウザで URL を開いて SQL コンテンツを表示し、高コストのジョブを特定します。

  • 方法 2:SQL を使用した分析

    この方法では、ステップ 2 を完了し、maxcomputefee テーブルを生成している必要があります。

  • -- SQL 消費を分析し、sqlmoney でランク付けします。
    SELECT  to_char(endtime,'yyyymmdd') as ds,feeid as instanceid
            ,projectid
            ,computationsqlcomplexity  -- 複雑度
            ,SUM((computationsqlinput / 1024 / 1024 / 1024)) as computationsqlinput  -- データ入力 (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
    ;

クエリ結果から、次の結論を導くことができます。

  • 大規模なジョブの場合、読み取るデータ量を減らし、SQL 複雑度を下げることでコストを削減できます。

  • ds フィールド (日別) でデータを集計して、一定期間における SQL の消費コストの傾向を分析します。たとえば、ローカルの Excel ファイルや Quick BI などのツールを使用して折れ線グラフをプロットすることで、ジョブの傾向をより直感的に把握できます。

  • 結果を使用して最適化の対象を特定します。

    1. クエリした インスタンス ID を使用して、ターゲットインスタンスの実行ログの Logview URL を取得します。

      MaxCompute クライアント (odpscmd) または DataWorks で、wait <instanceid>; コマンドを実行して インスタンスの実行ログ を表示します。

      wait 20xxx162741579glgfd9o7;
      --- 実行ログ ---
      ID = 20xxx3162741579glgfd9o7
      Log view:
      http://logview.odps.aliyun.com/logview/?h=http://service.cn.maxcompute.aliyun-inc.com/api&p=xxx&i=20220318162741579glgfd9o7&token=dW1OQXBjRW5SR1FvSUprZGZSeHYyVkFycys4PSxPRFBTX09CTzoxMzk2OTkzxxxbnQi0lt7IkFjdG1vbI16WyJvZHBzOlJlYWQiXSwlRWzmN0RjolQWxsb3ciLCJSZXNvdXJjZS16WyJhY3M6b2RwczoqOioiXX0xxx
      1Y3RzL2Jpb19kb2NfdGVzdC9pbnN0YW5jZXMvMjAyMjAzMTgxNjI3NDE1NzlnbGdmZDlvNyJdfVxxx
      Job Queueing...
    2. 次のコマンドを実行して、ジョブの詳細情報を表示します。

      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. ブラウザで Logview URL を開きます。Logview ページの SourceXML タブで、インスタンスの SKYNET_NODENAME を取得します。

      &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
      <Job>
        <Priority>8</Priority>
        <Tasks>
          <SQL>
            <Name>console_query_task_1647620861362</Name>
            <Config>
              <Property>
                <Name>settings</Name>
                <Value>{"SKYNET_BUSINESS_NAME":"-","WRAPPER_SQLSEQ":"1","WRAPPER_RETRYNUM":"1","odps.idata.useragent":"CLT(0.37.7 : 6c02e41); Linux(/)","SKYNET_DAGTYPE":"0","SKYNET_ONDUTY":"280316532466682512","SKYNET_SYSTEMID":"-","SKYNET_BIZDATE":"202xxx18","SKYNET_CYCTIME":"20220xxx0100","SKYNET_PACKAGEID":"-","SKYNET_BUSINESS_ID":"-","SKYNET_PRIORITY":"1","SKYNET_TASKID":"43293xxx99","biz_id":"1002778435_20220318_4329323699_43115527_xxx_xxx_xxx_16532466682512_428543003249281","SKYNET_TENANT_ID":"4285xxx49281","SKYNET_ID":"1002xxx35","SKYNET_JOBID":"4311xxx2","SKYNET_NODENAME":"rpxxx_xxx_xxxg","LINK_FILE_ID":"-","odps.sql.select.output.format":"HumanReadable","odps.idata.userenv":"JavaSDK Revision:013e16b,Version:0.37.10,JavaVersion:1.8.0_112,IP:unknown,MAC:unknown"}</Value>
                ...
      説明
      • Logview の詳細については、「Logview 2.0 を使用したジョブ実行情報の表示」をご参照ください。

      • SKYNET_NODENAME を取得できない場合、または SKYNET_NODENAME に値がない場合は、SQL Script タブからコードスニペットを取得し、DataWorks でそのスニペットを検索してターゲットノードを見つけて最適化できます。詳細については、「DataWorks コード検索」をご参照ください。

    4. DataWorks で、クエリした SKYNET_NODENAME を検索して、ターゲットノードを最適化します。

ジョブ増加傾向の分析

通常、コストの増加は、ジョブ数の急増によって引き起こされます。これは、多くの場合、繰り返し実行や不適切に設定されたスケジューリングプロパティが原因です。

  • 方法 1:スプレッドシートを使用した分析

    使用状況レコードで、データ型が ComputationSql のデータを分析します。各プロジェクトの 1 日あたりのジョブ数をカウントし、いずれかのプロジェクトのジョブ数が大幅に変動していないかを確認します。

  • 方法 2:SQL を使用した分析

    この方法では、ステップ 2 を完了し、maxcomputefee テーブルを生成している必要があります。

    -- ジョブの増加傾向を分析します。
    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
    ;

    実行結果には、12 日から 14 日までに MaxCompute に送信された、成功したジョブ数の変動が表示されます。

ストレージコストの分析

  • スプレッドシートを使用した 0.00001 米ドルのストレージ料金の理由の分析

    MaxCompute を試用のためにアクティブ化し、アクティブなビジネスがないにもかかわらず、毎日 0.00001 米ドル の料金が発生していることがわかります。これは通常、0.5 GB 未満のデータが MaxCompute に保存されているためです。

    データ型 列の Storage 課金項目を表示します。たとえば、maxcompute_doc プロジェクトには 508 バイトのデータが含まれています。ストレージコストの課金ルールによると、512 MB までのデータストレージに対して 0.00001 米ドル が課金されます。エクスポートされた CSV ファイルの使用状況の詳細には、プロジェクト ID (maxcompute_doc)、請求情報 IDデータ型 (Storage)、ストレージ (バイト) の列が表示されます。各レコードは 508 バイトのストレージ量を示しており、少量の残存データがコストを生成していることが確認できます。このデータがテスト用のみである場合は、次のいずれかの方法でこの問題を解決できます。

    • テーブルデータが使用されなくなった場合は、Drop Table ステートメントを実行して、プロジェクト内のテーブルデータを削除します。

    • プロジェクトが不要になった場合は、MaxCompute コンソールのプロジェクト管理 ページからプロジェクトを削除します。

  • スプレッドシートを使用した 1 日未満 のストレージコストの分析

    1. データ型」列の「Storage」課金項目を表示します。alian (プロジェクト名の例) プロジェクトに 333,507,833,900 バイトのデータが保存されているとします。データは 8:00 にアップロードされたため、ストレージ料金は 09:07 から計測され、合計 15 時間です。

      日次の計測期間は 1 日の終わりに終了するため、最後のレコードは 4月4日 の請求書には含まれません。

    2. ストレージ課金ルールに従い、まず 24 時間の平均ストレージを計算し、次に課金式を使用してコストを計算します。

      -- 平均ストレージを計算します。
      333,507,833,900 バイト × 15 / 1024 / 1024 / 1024 / 24 = 194.127109076362103 GB
      
      -- 1 日のストレージコストは次のように計算されます。結果は小数点以下 4 桁に四捨五入されます。
      194.127109076362103 GB × 0.0006 米ドル/GB/日 = 0.1165 米ドル/日
  • SQL を使用したストレージコストの分布の分析

    この方法では、ステップ 2 を完了し、maxcomputefee テーブルを生成している必要があります。

    -- ストレージコストを分析します。
    SELECT  t.ds
            ,t.projectid
            ,t.storage
            ,CASE    WHEN t.storage < 0.5 THEN t.storage*0.0015     -- プロジェクトの実際のデータストレージが 0 MB より大きく 512 MB 以下の場合、単価は 0.0015 米ドル/GB/日です。
                     WHEN t.storage >= 0.5  THEN t.storage*0.0006  -- プロジェクトの実際のデータストレージが 512 MB より大きい場合、単価は 0.0006 米ドル/GB/日です。
            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
    ;

    次の実行結果はデモンストレーション用です。クエリは、storage_fee の降順で並べ替えられた 3 つのレコードを返します。2019-01-13 は、ストレージが約 8,467 GB で、コストが約 73.31 元でした。2019-01-12 は、ストレージが約 4,527 GB で、コストが約 40.22 元でした。2019-01-14 は、ストレージが約 2,672 GB で、コストが約 24.63 元でした。実行結果から、次の結論を導くことができます。

    • ストレージは 12 日に増加し、14 日に減少しました。

    • ストレージの最適化については、テーブルにライフサイクルを設定し、使用されていない一時テーブルを削除することを推奨します。

  • SQL を使用したアーカイブストレージ、低頻度アクセスストレージ、アーカイブストレージアクセス、低頻度アクセスストレージアクセスの分布の分析

    この方法では、ステップ 2 を完了し、maxcomputefee テーブルを生成している必要があります。

    -- アーカイブストレージコストを分析します。
    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;
    -- 低頻度アクセスストレージコストを分析します。
    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;
    -- アーカイブストレージアクセスコストを分析します。
    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;
    -- 低頻度アクセスストレージアクセスコストを分析します。
    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;

ダウンロードコストの分析

パブリックインターネット経由またはリージョン間でのデータダウンロードの場合、MaxCompute はダウンロードされたデータ量に基づいて課金します。

説明

ダウンロードコスト = ダウンロードされたデータ量 × 単価 (0.1166 米ドル/GB)

  • 方法 1:スプレッドシートを使用した分析

    データ型 DownloadEx は、パブリックダウンロードの課金項目を表します。

    1. ダウンロード料金 (従量課金) の価格設定に基づくと、約 0.036 GB (38,199,736 バイト) のアウトバウンドパブリックトラフィックの料金は (38,199,736 バイト/1024/1024/1024) × 0.1166 米ドル/GB = 0.004 米ドル です。

    2. ダウンロード最適化の例:Tunnel サービスの設定を確認して、パブリックネットワークエンドポイントの使用によりコストが発生していないかを確認してください。詳細については、「エンドポイント」をご参照ください。中国 (上海) リージョンから、そのリージョンの内部ネットワーク外の場所 (蘇州のオンプレミスサーバーなど) に大量のデータをダウンロードする場合は、まず中国 (上海) リージョン内の ECS 仮想マシン (VM) にデータをダウンロードして、内部ネットワークトラフィックを活用できます。

  • 方法 2:SQL を使用した分析

    この方法では、ステップ 2 を完了し、maxcomputefee テーブルを生成している必要があります。

    -- ダウンロードの消費詳細を分析します。
    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
    ;

MapReduce ジョブコストの分析

説明

MapReduce ジョブの日次コンピューティングコスト = 1 日の総コンピューティング時間 × 単価 (0.0690 米ドル/時間/タスク)

  • 方法 1:スプレッドシートを使用した分析

    使用状況レコードで、データ型が MapReduce のデータを分析します。コンピューティングリソース仕様別に MapReduce ジョブのコストを計算して並べ替えます。MapReduce ジョブのコストを計算する式は (MapReduce/Spark ジョブコンピューティング (コア*秒) / 3600) × 単価 (0.0690 米ドル) です。

  • 方法 2:SQL を使用した分析

    この方法では、ステップ 2 を完了し、maxcomputefee テーブルを生成している必要があります。

    -- MapReduce ジョブの消費を分析します。
    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
    ;

外部テーブルジョブコストの分析 (Tablestore と OSS)

説明

SQL 外部テーブルジョブ 1 件あたりのコンピューティングコスト = 入力データ量 × 単価 (0.0044 米ドル/GB)

  • 方法 1:スプレッドシートを使用した分析

    使用状況レコードで、データ型が ComputationSqlOTS または ComputationSqlOSS のデータを分析します。SQL 外部テーブルジョブのコンピューティングコストを並べ替えます。コストは次の式で計算します: (SQL/インタラクティブ分析読み取り量 (バイト) / 1024 / 1024 / 1024) × 単価 (0.0044 米ドル)

  • 方法 2:SQL を使用した分析

    この方法では、ステップ 2 を完了し、maxcomputefee テーブルを生成している必要があります。

    -- Tablestore 外部テーブル SQL ジョブの消費を分析します。
    SELECT  TO_CHAR(starttime,'yyyymmdd') AS ds
            ,projectid
            ,(computationsqlinput/1024/1024/1024)*1*0.0044 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
    ;
    
    -- OSS 外部テーブル SQL ジョブの消費を分析します。
    SELECT  TO_CHAR(starttime,'yyyymmdd') AS ds
            ,projectid
            ,(computationsqlinput/1024/1024/1024)*1*0.0044 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
    ;

Spark コンピューティングコストの分析

説明

Spark ジョブの日次コンピューティングコスト = 1 日の総コンピューティング時間 × 単価 (0.1041 米ドル/時間/タスク)

  • 方法 1:スプレッドシートを使用した分析

    使用状況レコードで、データ型が Spark のデータを分析します。ジョブコストを並べ替えます。コストは次の式で計算します: (MapReduce/Spark ジョブコンピューティング (コア*秒) / 3600) × 単価 (0.1041 米ドル)

  • 方法 2:SQL を使用した分析

    この方法では、ステップ 2 を完了し、maxcomputefee テーブルを生成している必要があります。

    -- Spark ジョブの消費を分析します。
    SELECT  TO_CHAR(starttime,'yyyymmdd') AS ds
            ,projectid
            ,(cu_usage/3600)*0.1041 AS spark_fee
    FROM    maxcomputefee
    WHERE   type = 'spark'
    AND     TO_CHAR(starttime,'yyyymmdd') >= '20190112'
    GROUP BY TO_CHAR(starttime,'yyyymmdd')
             ,projectid
             ,cu_usage
    ORDER BY spark_fee DESC
    ;