プロダクト概要
製品の強み
適用シーン
Class.forName("com.tencent.cloud.dlc.jdbc.DlcDriver");
Connection cnct = DriverManager.getConnection(url, secretId, secretKey);
jdbc:dlc:<dlc_endpoint>?task_type=SQLTask&database_name=abc&datasource_connection_name=DataLakeCatalog®ion=ap-nanjing&data_engine_name=spark-cu&result_type=COS&read_type=Stream
パラメータ | 必須 | 説明 |
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();
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®ion=<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 dataDatabaseMetaData 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®ion=<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();}}




フィードバック