MaxCompute Java Database Connectivity (JDBC) ドライバーは、標準のJDBC APIを提供します。 JDBC APIを使用して、MaxComputeで大量のデータに対して分散コンピューティングとクエリを実行できます。 JDBCドライバーを使用して、JDBCをサポートするツールをMaxComputeに接続することもできます。
使用上の注意
MaxCompute JDBCドライバーを使用してMaxComputeに接続します。 詳細については、「使用状況のメモ」をご参照ください。
MaxCompute JDBCドライバーを使用して、ビジネスインテリジェンス (BI) 分析ツールをMaxComputeに接続します。 これにより、ツールを使用して、MaxComputeのデータを視覚化して分析できます。 参考:
MaxCompute JDBCドライバーを使用して、データベース管理ツールをMaxComputeに接続します。 これにより、ツールを使用してMaxComputeプロジェクトを管理できます。 参考:
使用上の注意
MaxCompute JDBCドライバーを使用してSQL文を実行し、実行結果を取得するには、次の要件を満たす必要があります。
あなたはプロジェクトのメンバーです。
プロジェクトに対するCREATE INSTANCE権限があること。
使用するテーブルに対するSELECTおよびDOWNLOAD権限があること。
説明MaxCompute JDBC V1.9以前を使用すると、クエリごとに一時テーブルが自動的に作成されます。 Tunnelコマンドを使用して、一時テーブルからクエリ結果を取得できます。 これらのバージョンを使用するには、CREATE TABLE権限が必要です。
MaxCompute JDBC V2.2以降を使用する場合、クエリごとに一時テーブルは自動的に作成されません。 CREATE TABLE権限があるかどうかに関係なく、InstanceTunnelインターフェイスを呼び出してクエリ結果を取得できます。
MaxCompute権限の詳細については、「MaxCompute権限」をご参照ください。
MaxCompute は、データ保護機能を提供します。 プロジェクトのデータ保護機能が有効になっている場合、プロジェクトからデータを移動することはできません。 V2.4より前のバージョンのMaxCompute JDBCを使用している場合、
result sets
は取得できません。 MaxCompute JDBC V2.4以降を使用する場合、取得する結果行の数はREAD_TABLE_MAX_ROWパラメーターの値を超えることはできません。 このパラメーターの詳細については、「プロジェクト操作」をご参照ください。 データ保護機能の詳細については、「プロジェクトデータ保護」をご参照ください。MaxCompute V2.0データ型エディションは、TINYINT、SMALLINT、DATETIME、TIMESTAMP、ARRAY、MAP、STRUCTなど、より多くのデータ型をサポートしています。 これらの新しいデータ型を使用するには、次のコマンドを実行してMaxCompute V2.0データ型エディションを有効にする必要があります。 詳細については、「Data type editions」をご参照ください。
set odps.sql.type.system.odps2=true
よくある質問
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()
メソッドを使用してすべての列のメタデータを取得できます。