日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

訪問MaxCompute數據源

本文介紹如何使用云原生數據倉庫 AnalyticDB MySQL 版Spark SQL讀寫MaxCompute數據。

背景信息

大數據計算服務MaxCompute是一種快速、完全托管的TB/PB級數據倉庫解決方案。您可以通過AnalyticDB for MySQLSpark SQL讀寫MaxCompute數據。

前提條件

  • AnalyticDB for MySQL集群的產品系列為企業版、基礎版或湖倉版

  • 已創建數據庫賬號。

  • 已在AnalyticDB for MySQL集群中創建Job型資源組。具體操作,請參見新建資源組

  • 已創建與AnalyticDB for MySQL集群同地域的MaxCompute項目空間。具體操作,請參見創建MaxCompute項目。本文示例為杭州地域創建的項目空間spark_on_maxcompute

操作步驟

您可以選擇批處理或者交互式執行任意一種方式讀寫MaxCompute數據。兩種方式的區別,請參見Spark SQL執行方式

批處理方式讀寫MaxCompute數據

步驟一:提交Spark配置

  1. 登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在企業版湖倉版頁簽下,單擊目標集群ID。

  2. 在左側導航欄,單擊作業開發 > SQL開發

  3. SQLConsole窗口,選擇Spark引擎和Job型資源組。

  4. SQLConsole窗口,按照SET Key=Value;的形式輸入以下配置。

    SET spark.sql.catalog.odps = org.apache.spark.sql.execution.datasources.v2.odps.OdpsTableCatalog;
    SET spark.hadoop.odps.access.id = LTAI5tMnzDS5EyqqMsT****;
    SET spark.hadoop.odps.access.key = A2kHFzEgFidOKrDKqAbJIPt8****;
    SET spark.hadoop.odps.endpoint = http://service.cn-hangzhou.maxcompute.aliyun-inc.com/api;
    SET spark.hadoop.odps.project = spark_on_maxcompute;
    SET spark.adb.connectors = odps;

    參數名稱

    取值說明

    spark.sql.catalog.<catalog_name>

    Spark SQL支持的配置數據源的方式。

    參數取值固定為org.apache.spark.sql.execution.datasources.v2.odps.OdpsTableCatalog

    說明

    參數名稱中的catalog_name可自定義,本文示例為odps

    spark.hadoop.odps.access.id

    阿里云賬號或者具備MaxCompute訪問權限的RAM用戶的AccessKey ID。

    如何獲取AccessKey ID,請參見獲取AccessKey信息

    spark.hadoop.odps.access.key

    阿里云賬號或者具備MaxCompute訪問權限的RAM用戶的AccessKey Secret。

    如何獲取AccessKey Secret,請參見獲取AccessKey信息

    spark.hadoop.odps.endpoint

    MaxCompute所在地域對應VPC網絡的Endpoint。

    查詢各地域VPC網絡的Endpoint,請參見各地域Endpoint對照表(阿里云VPC網絡連接方式)

    spark.hadoop.odps.project

    MaxCompute的項目空間名稱。

    spark.adb.connectors

    Spark作業連接的數據源,固定為odps

  5. 在彈窗中,選擇繼續執行

步驟二:使用Spark SQL讀寫MaxCompute數據

  1. 輸入以下語句,單擊執行SQL(F8),并在彈窗中,單擊繼續執行。創建MaxCompute表。

    CREATE TABLE odps.spark_on_maxcompute.spark_test(k1 int, k2 string) 
    partitioned by (part int);
    重要

    本示例中表名odps.spark_on_maxcompute.spark_test以三層Catalog形式命名。

    • 第一層為Catalog_name,需要與參數spark.sql.catalog.<catalog_name>中的Catalog_name一致,本文示例為odps

    • 第二層為MaxCompute項目空間名稱。

    • 第三層為MaxCompute表名稱。

    Spark SQL也支持使用兩層Catalog形式命名<maxcompute_project_name>.<table_name>,需要在執行建表語句前,先執行USE <catalog_name>;。您還可以繼續執行USE <maxcompute_project_name>;,建表時只寫表名。

  2. 輸入以下語句,單擊執行SQL(F8),并在彈窗中,單擊繼續執行。向表中寫入數據。

    INSERT INTO odps.spark_on_maxcompute.spark_test 
    values (1, 'aaa', 101), (2, 'bbb', 102);
  3. 輸入以下語句,單擊執行SQL(F8),并在彈窗中,單擊繼續執行。查詢MaxCompute表數據。

    SELECT * FROM odps.spark_on_maxcompute.spark_test;
    說明

    您可以在DataWorks控制臺查詢對應的MaxCompute項目空間,確認在項目空間中表是否已經創建并且寫入數據。

交互式執行方式讀寫MaxCompute數據

步驟一:提交Spark配置

  1. 登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在企業版湖倉版頁簽下,單擊目標集群ID。

  2. 在左側導航欄,單擊集群管理 > 資源組管理

  3. 在資源組列表中,單擊目標Job型資源組操作列的高級配置

  4. 單擊其他配置后的1111,填寫以下參數。

    參數名稱

    取值說明

    spark.sql.catalog.<catalog_name>

    Spark SQL支持的配置數據源的方式。

    參數取值固定為org.apache.spark.sql.execution.datasources.v2.odps.OdpsTableCatalog

    說明

    參數名稱中的catalog_name可自定義,本文示例為odps

    spark.hadoop.odps.access.id

    阿里云賬號或者具備MaxCompute訪問權限的RAM用戶的AccessKey ID。

    如何獲取AccessKey ID,請參見獲取AccessKey信息

    spark.hadoop.odps.access.key

    阿里云賬號或者具備MaxCompute訪問權限的RAM用戶的AccessKey Secret。

    如何獲取AccessKey Secret,請參見獲取AccessKey信息

    spark.hadoop.odps.endpoint

    MaxCompute所在地域對應VPC網絡的Endpoint。

    查詢各地域VPC網絡的Endpoint,請參見各地域Endpoint對照表(阿里云VPC網絡連接方式)

    spark.hadoop.odps.project

    MaxCompute的項目空間名稱。

    spark.adb.connectors

    Spark作業連接的數據源,固定為odps

  5. 單擊啟動。當高級配置(Spark ThriftServer配置)頁面顯示運行中,則配置生效。

步驟二:使用Spark SQL讀寫MaxCompute數據

  1. 在左側導航欄,單擊作業開發 > SQL開發

  2. SQLConsole窗口,選擇Spark引擎和Job型資源組。

  3. 輸入以下語句,單擊執行SQL(F8),創建MaxCompute表。

    CREATE TABLE odps.spark_on_maxcompute.spark_test(k1 int, k2 string) 
    partitioned by (part int);
    重要

    本示例中表名odps.spark_on_maxcompute.spark_test以三層Catalog形式命名。

    • 第一層為Catalog_name,需要與參數spark.sql.catalog.<catalog_name>中的Catalog_name一致,本文示例為odps

    • 第二層為MaxCompute項目空間名稱。

    • 第三層為MaxCompute表名稱。

    Spark SQL也支持使用兩層Catalog形式命名<maxcompute_project_name>.<table_name>,需要在執行建表語句前,先執行USE <catalog_name>;。您還可以繼續執行USE <maxcompute_project_name>;,建表時只寫表名。

  4. 輸入以下語句,單擊執行SQL(F8),向表中寫入數據。

    INSERT INTO odps.spark_on_maxcompute.spark_test 
    values (1, 'aaa', 101), (2, 'bbb', 102);
  5. 輸入以下語句,單擊執行SQL(F8),查詢MaxCompute表數據。

    SELECT * FROM odps.spark_on_maxcompute.spark_test;
    說明

    您可以在DataWorks控制臺查詢對應的MaxCompute項目空間,確認在項目空間中表是否已經創建并且寫入數據。

支持的操作和數據類型

支持的庫表操作

  • SHOW DATABASES

  • AHOW TABLES

  • CREATE TABLE

  • DROP TABLE

  • SELECT

  • INSERT INTO

  • INSERT INTO PARTITION

重要

暫不支持INSERT OVERWRITE PARTITION。

支持的字段類型

  • BOOLEAN

  • DOUBLE

  • INT

  • BIGINT

  • STRING

  • DECIMAL

  • DATA

  • TIMESTAMP

  • FLOAT

  • SMALLINT

  • TINYINT

  • BINARY

  • ARRAY

  • MAP

  • STRUCT

支持的分區字段類型

  • INT

  • BIGINT

  • STRING

  • TINYINT

  • SMALLINT