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
命令支持的配置參數,請參見Conf配置參數。
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等。
文檔內容是否對您有幫助?