JDBC是Java DataBase Connectivity的缩写,它是Java程序访问数据库的标准接口,EMR Serverless Spark支持使用JDBC来提交任务,您可以使用标准JDBC接口来访问EMR Serverless Spark,还可以与市面上常见的BI软件进行结合。
Class.forName("org.volcano.serverless.spark.jdbc.EMRServerlessSparkDriver"); Properties properties = new Properties(); properties.setProperty("user", "Ax"); properties.setProperty("password", "xx"); Connection conn = DriverManager.getConnection("jdbc:emr-serverless-spark://serverless-spark-jdbc.emr.cn-beijing.volces.com:10009/;queue_name=test_sparkjar", properties); Statement statement = conn.createStatement(); String sql = "select 1"; ResultSet resultSet = statement.executeQuery(sql); System.out.println(resultSet.getString(1));
依赖:JDK 1.8
JDBC 下载地址:emr-serverless-spark-jdbc-driver.jar
Class.forName("org.volcano.serverless.spark.jdbc.EMRServerlessSparkDriver");
Connection conn = DriverManager.getConnection("jdbc:emr-serverless-spark://xx:10009/;queue_name=test_sparkjar", properties);
Statement statement = conn.createStatement(); String sql = "select 1"; ResultSet resultSet = statement.executeQuery(sql); System.out.println(resultSet.getString(1));
jdbc:emr-serverless-spark://${endpoint}:10009/;queue_name=${queueName}&user=${AccessKey}&password=${SecretKey}
注意
如示例,queue_name、user、password三个参数也可以放在Properties中
参数名 | 说明 |
---|---|
endpoint | 连接EMR Serverless Spark 的地址,每个region不一样
|
queue_name | 连接使用的队列名称,不填默认使用公共队列 |
user | 填写租户的AccessKey |
password | 填写租户的SecretKey |
通过JDBC,您可以在任意支持Hive/Spark/自定义 JDBC连接的BI软件上使用EMR Serverless Spark,下述是一些场景BI软件的连接示例
其中: