tencent cloud

Data Lake Compute

製品概要
プロダクト概要
製品の強み
適用シーン
購入ガイド
課金概要
返金説明
支払い期限切れ説明
設定調整費用の説明
クイックスタート
新規ユーザー開通フルプロセス
DLC データインポートガイド
DLCデータ分析の1分間入門
DLC権限管理の1分間入門
パーティションテーブル1分間入門
データ最適化をオンにする
クロスソース分析 EMR Hive データ
標準エンジン構成ガイド
操作ガイド
コンソール操作紹介
開発ガイド
実行環境
SparkJar ジョブ開発ガイド
PySparkジョブ開発ガイド
「クエリパフォーマンス最適化ガイド」
UDF 関数開発ガイド
システム制約
クライアントアクセス
JDBCアクセス
TDLC コマンドラインツールにアクセス
サードパーティソフトウェア連携
Python にアクセス
実践チュートリアル
DLC を Power BI に接続
テーブル作成の実践
Apache Airflowを使用してDLCエンジンのタスクをスケジュールして送信する
StarRocks は DLC 内部ストレージを直接クエリします
Spark の計算コスト最適化プラクティス
DATA + AI
ロールSSOを使用してDLCにアクセスする
SQL構文
SuperSQL構文
標準 Spark 構文概要
標準 Presto 構文の概要
予約語
API Documentation
History
Introduction
API Category
Making API Requests
Data Table APIs
Task APIs
Metadata APIs
Service Configuration APIs
Permission Management APIs
Database APIs
Data Source Connection APIs
Data Optimization APIs
Data Engine APIs
Resource Group for the Standard Engine APIs
Data Types
Error Codes
一般クラスリファレンス
エラーコード
クォータと制限
サードパーティソフトウェアでDLCに接続する操作ガイド
よくあるご質問
権限に関するよくあるご質問
エンジン類のよくある質問
機能に関するよくあるご質問
Sparkジョブクラスに関するよくある質問
DLC ポリシー
プライバシーポリシー
データプライバシーとセキュリティ契約
お問い合わせ

DLC JDBC アクセス

PDF
フォーカスモード
フォントサイズ
最終更新日: 2026-01-21 15:54:07

環境準備

依存関係:JDK 1.8

DLCに接続

1. DLC JDBC ドライバをロード
Class.forName("com.tencent.cloud.dlc.jdbc.DlcDriver");
2. DriverManagerを使用してConnectionを作成
Connection cnct = DriverManager.getConnection(url, secretId, secretKey);

url形式

jdbc:dlc:<dlc_endpoint>?task_type=SQLTask&database_name=abc&datasource_connection_name=DataLakeCatalog&region=ap-nanjing&data_engine_name=spark-cu&result_type=COS&read_type=Stream
JDBC接続文字列パラメータ説明:
パラメータ
必須
説明
dlc_endpoint
はい
DLCサービスのEndpointは、dlc.tencentcloudapi.comに固定されています
datasource_connection_name
はい
データソース接続名、DLCのデータカタログに対応
task_type
はい
タスクタイプ
Prestoエンジンの入力:SQLTask
SparkSQLエンジンの入力:SparkSQLTask
Sparkジョブエンジンの入力:BatchSQLTask
database_name
いいえ
データベース名
region
はい
地域、現在DLCサービスがサポートしているのはap-nanjing、ap-beijing、ap-guangzhou、ap-shanghai、ap-chengdu、ap-chongqing、na-siliconvalley、ap-singapore、ap-hongkongです
data_engine_name
はい
データエンジン名
secretId
はい
TencentCloud APIキー管理におけるSecretId
secretKey
はい
TencentCloud APIキー管理におけるSecretKey
result_type
いいえ
デフォルトはServiceです。結果の取得速度にさらに高い要件がある場合は、COSに設定できます。
Service:DLCインターフェースを通じて結果を取得
COS:COSクライアントを通じて結果を取得
read_type
いいえ
Stream:COSからストリーミングで結果を取得
DownloadSingle:単一ファイルをローカルにダウンロードして結果を取得
デフォルト値はStreamです。result_typeがCOSの場合にのみ、この値は意味を持ちます。
ダウンロードファイルの場所は/tmp一時ディレクトリです。このディレクトリに読み書き権限があることを確認してください。データの読み取りが完了すると自動的に削除されます。

クエリを実行

Statement stmt = cnct.createStatement();ResultSet rset = stmt.executeQuery("SELECT * FROM dlc");
while (rset.next())
{// process the results
}
rset.close();
stmt.close();
conn.close();
}
rset.close();
stmt.close();
conn.close();

構文サポート

現在、JDBCで使用できる構文はDLC標準構文と一致しています。

インスタンスコード

テーブル操作

import java.sql.*;
public class MetaTest {
public static void main(String[] args) throws SQLException {
try {
Class.forName("com.tencent.cloud.dlc.jdbc.DlcDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
return;
}
Connection connection = DriverManager.getConnection(
"jdbc:dlc:<dlc_endpoint>?task_type=<task_type>&database_name=<database_name>&datasource_connection_name=DataLakeCatalog&region=<region>&data_engine_name=<data_engine_name>&result_type=<result_type>",
"<secret_id>",
"secret_key");
Statement statement = connection.createStatement();
String dbName = "dlc_db1";
String createDatabaseSql = String.format("CREATE DATABASE IF NOT EXISTS %s", dbName);
statement.execute(createDatabaseSql);
String tableName = "dlc_t1";
String wholeTableName = String.format("%s.%s", dbName, tableName);
String createTableSql =
String.format(
"CREATE EXTERNAL TABLE %s ( "
+ " id string , "
+ " name string , "
+ " status string , "
+ " type string ) "
+ "ROW FORMAT SERDE "
+ " 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' "
+ "STORED AS INPUTFORMAT "
+ " 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' "
+ "OUTPUTFORMAT "
+ " 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat' "
+ "LOCATION\\\\n"
+ " 'cosn://<bucket_name>/<path>' ",
wholeTableName);
statement.execute(createTableSql);
// get meta data
DatabaseMetaData metaData = connection.getMetaData();
System.out.println("product = " + metaData.getDatabaseProductName());
System.out.println("jdbc version = "
+ metaData.getDriverMajorVersion() + ", "
+ metaData.getDriverMinorVersion());
ResultSet tables = metaData.getTables(null, dbName, tableName, null);
while (tables.next()) {
String name = tables.getString("TABLE_NAME");
System.out.println("table: " + name);
ResultSet columns = metaData.getColumns(null, dbName, name, null);
while (columns.next()) {
System.out.println(
columns.getString("COLUMN_NAME") + "\\\\t" +
columns.getString("TYPE_NAME") + "\\\\t" +
columns.getInt("DATA_TYPE"));
}
columns.close();
}
tables.close();
statement.close();
connection.close();
}
}


データクエリ

import java.sql.*;
public class DataTest {
public static void main(String[] args) throws SQLException {
try {
Class.forName("com.tencent.cloud.dlc.jdbc.DlcDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
return;
}
Connection connection = DriverManager.getConnection(
"jdbc:dlc:<dlc_endpoint>?task_type=<task_type>&database_name=<database_name>&datasource_connection_name=DataLakeCatalog&region=<region>&data_engine_name=<data_engine_name>&result_type=<result_type>",
"<secret_id>",
"secret_key");
Statement statement = connection.createStatement();
String sql = "select * from dlc_test";
statement.execute(sql);
ResultSet rs = statement.getResultSet();
while (rs.next()) {
System.out.println(rs.getInt(1) + ":" + rs.getString(2));
}
rs.close();
statement.close();
connection.close();
}
}


データベースクライアント

DLCのJDBCドライバパッケージをSQLクライアントにロードし、DLCサービスに接続してクエリを実行できます。

事前条件

1. データレイク計算Data Lake Computeサービスが開通されました。
2. 上記のJDBCドライバパッケージをダウンロードしました。
3. SQL Workbench/Jをダウンロードしてインストールしました。

操作手順

1. JDBCドライバパッケージを使用してDLCドライバを作成します。

2. DLCに接続し、以下のパラメータを入力して、testをクリックし、テストが成功したら、DLCとの接続が完了します。
Name:接続名。DLCとの接続を識別するために使用されます。
Username:Tencent Cloudユーザーのsecret_idに対応します。
Password:Tencent Cloudユーザーのsecret_keyに対応します。
URL:DLCに接続するためのURL。形式は上記のJDBCを使用して接続を作成する際のURLと同じです。

3. テーブル情報を確認します。

4. データをクエリします。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック