全部產品
Search
文件中心

AnalyticDB:Spark SQL開發介紹

更新時間:Jul 06, 2024

AnalyticDB MySQL版Spark支援在控制台直接提交Spark SQL,無需編寫JAR包或者Python代碼,便於資料開發人員使用Spark進行資料分析。本文介紹AnalyticDB MySQL版Spark SQL應用的範例程式碼及命令類型。

開發工具

您可以通過SQL開發編輯器建立和執行Spark SQL應用,詳情請參見SQL開發編輯器

範例程式碼

本文以讀取OSS資料為例,描述了典型的Spark SQL應用的編寫方式。

-- Here is the spark conf.

conf spark.driver.resourceSpec=medium;
conf spark.executor.resourceSpec=medium;
conf spark.app.name=Spark SQL Test;
conf spark.adb.connectors=oss;

-- Add jars.
add jar oss://example/jars/hive-hcatalog-core-2.3.9.jar;
 
-- Here are your sql statements.
CREATE DATABASE IF NOT EXISTS testdb LOCATION 'oss://<bucket_name>/test';

CREATE EXTERNAL TABLE if not EXISTS `testdb`.`catalog_json_test` (
  `a` string COMMENT 'from deserializer',  
  `b` string COMMENT 'from deserializer')
ROW format serde 
'org.apache.hive.hcatalog.data.JsonSerDe'
LOCATION 
'oss://<bucket_name>/test/catalog_json_test/';

INSERT INTO `testdb`.`catalog_json_test` values('key','value');

SELECT * FROM `testdb`.`catalog_json_test`;

命令類型說明

CONF命令

  • 用於指定Spark的配置,一般置於SQL語句的前面。

  • 每條CONF命令指定一個Spark參數值,每條命令用英文分號(;)隔開。

  • CONF命令的Key和Value均不加單引號或者雙引號。

  • CONF命令支援的配置參數,請參見Spark應用配置參數說明

ADD JAR命令

  • 用於載入Spark SQL運行時依賴的JAR包,例如UDF的JAR包,各類資料來源連接器的JAR包等。目前支援JAR包路徑為OSS路徑,一般置於SQL語句的前面。

  • 每條ADD JAR命令指定一個OSS JAR包路徑,JAR包路徑的字串不添加單引號和雙引號,每條ADD JAR命令用英文分號(;)隔開。

SQL語句

Spark SQL所支援的DDL、DML或DQL語句。詳情請參見Spark SQL建立C-Store表

例如查詢語句SELECT、插入語句INSERT、查看資料庫SHOW DATABASE等。