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

MaxCompute:概要

最終更新日:Nov 09, 2025

MaxCompute Java Database Connectivity (JDBC) ドライバーは、標準の JDBC API を提供します。JDBC API を使用して、MaxCompute 内の大量のデータに対して分散コンピューティングとクエリを実行できます。また、JDBC ドライバーを使用して、JDBC をサポートするツールを MaxCompute に接続することもできます。

使用上の注意

使用上の注意

  • MaxCompute JDBC ドライバーを使用して SQL 文を実行し、実行結果を取得するには、次の要件を満たす必要があります:

    • プロジェクトのメンバーであること。

    • プロジェクトに対する CreateInstance 権限を持っていること。

    • 使用するテーブルに対する Select および Download 権限を持っていること。

      説明
      • MaxCompute JDBC V1.9 以前を使用する場合、クエリごとに一時テーブルが自動的に作成されます。Tunnel コマンドを使用して、一時テーブルからクエリ結果を取得できます。これらのバージョンを使用するには、CreateTable 権限が必要です。

      • MaxCompute JDBC V2.2 以降を使用する場合、クエリごとに一時テーブルは自動的に作成されません。CreateTable 権限を持っているかどうかに関係なく、Instance Tunnel インターフェイスを呼び出してクエリ結果を取得できます。

      詳細については、「MaxCompute の権限」をご参照ください。

  • MaxCompute はデータ保護機能を提供します。プロジェクトでデータ保護機能が有効になっている場合、プロジェクトからデータを移動することはできません。V2.4 より前のバージョンの MaxCompute JDBC を使用する場合、result set は取得できません。MaxCompute JDBC V2.4 以降を使用する場合、取得する結果行の数は READ_TABLE_MAX_ROW パラメーターの値を超えることはできません。このパラメーターの詳細については、「プロジェクト操作」をご参照ください。データ保護機能の詳細については、「データ保護メカニズム」をご参照ください。

  • MaxCompute V2.0 のデータ型エディションは、TINYINT、SMALLINT、DATETIME、TIMESTAMP、ARRAY、MAP、STRUCT などのより多くのデータ型をサポートします。これらの新しいデータ型を使用するには、次のコマンドを実行して MaxCompute V2.0 データ型エディションを有効にする必要があります。詳細については、「データ型エディション」をご参照ください。

    set odps.sql.type.system.odps2=true
  • JDBC V3.4.1 以降のバージョンでは、長い SQL 文 (1 KB 超) がある場合、同時実行性を慎重に制御する必要があります。たとえば、8 vCPU と 16.0 GiB のメモリを搭載した ECS インスタンスを使用する場合、同時実行性は 100 を超えないようにすることをお勧めします。リクエストの同時実行性を効果的に制御できない場合は、JDBC V3.8.8 または V3.9.3 にアップグレードし、skipCheckIfSelect=true を設定して SQL 解析機能をスキップできます。この機能の詳細については、「バージョン更新履歴」をご参照ください。

よくある質問

  • MaxCompute JDBC ドライバーのログファイルを表示するにはどうすればよいですか?

    • デフォルトでは、MaxCompute JDBC ドライバーのログファイルは、MaxCompute JDBC ドライバーの JAR パッケージと同じディレクトリに保存されます。ファイル名は jdbc.log です。

    • コードと MaxCompute JDBC ドライバーが同じ uber JAR パッケージにある場合、MaxCompute JDBC ドライバーのログファイルは uber JAR パッケージと同じディレクトリに保存されます。

    MaxCompute JDBC ドライバーのログには、クラス名、メソッド名、パラメーター、戻り値、行数など、JDBC API 呼び出しに関する詳細が表示されます。この情報をデバッグに使用できます。

  • MaxCompute Logview URL を取得するにはどうすればよいですか?

    MaxCompute JDBC ドライバーは、MaxCompute SDK for Java に基づいてカプセル化されています。Logview URL は、MaxCompute クライアント、MaxCompute Studio、および DataWorks で SQL 文を実行すると生成されます。Logview URL は、MaxCompute JDBC ドライバーを使用して SQL 文を実行するときにも生成されます。Logview URL を使用して、ジョブのステータスを表示し、ジョブの進行状況を追跡し、ジョブの実行結果を取得できます。Logview URL は、properties.log4j パラメーターを使用して設定されます。デフォルトでは、ログは標準エラーログとして表示されます。

  • MaxCompute は接続プールと自動コミットモードをサポートしていますか?

    MaxCompute は、従来のデータベースのロングコネクションとは異なる REST サービスを提供します。MaxCompute JDBC ドライバーが接続を確立するのは、軽量なタスクと見なされます。ドライバーは接続プールが使用されるシナリオをサポートしていますが、MaxCompute JDBC ドライバーには接続プールは不要です。

    MaxCompute はトランザクションをサポートしていません。各クエリはサーバー上で即座に実行されます。自動コミットモードは、MaxCompute JDBC ドライバーで自動的に有効になります。MaxCompute JDBC ドライバーの自動コミットモードを無効にすることはできません。

  • パーティションフィールドとデータ型を取得するにはどうすればよいですか?

    Connection.getMetadata() メソッドを使用して DatabaseMetaData オブジェクトを取得し、getColumns() メソッドを使用してすべての列のメタデータを取得できます。