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

文檔

管理MaxCompute Catalog

重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業(yè)務(wù)造成影響,請務(wù)必仔細(xì)閱讀。

配置MaxCompute Catalog后,您可以在Flink全托管作業(yè)開發(fā)中直接訪問MaxCompute中存儲的表,無需再定義Schema。本文為您介紹如何在Flink全托管模式下創(chuàng)建、查看、使用及刪除MaxCompute Catalog。

背景信息

MaxCompute Catalog通過查詢MaxCompute服務(wù)來獲取MaxCompute中已存儲物理表的Schema信息,您無需在Flink SQL中聲明MaxCompute連接表的Schema便可以獲取具體的字段信息。MaxCompute Catalog具有以下功能特點(diǎn):

  • MaxCompute Catalog中的數(shù)據(jù)庫名對應(yīng)MaxCompute的項(xiàng)目名,您可以通過切換數(shù)據(jù)庫來使用不同MaxCompute項(xiàng)目中的表。

  • MaxCompute Catalog中的表名對應(yīng)MaxCompute中存儲的物理表名,自動(dòng)映射數(shù)據(jù)類型,無需再通過DDL語句手動(dòng)注冊MaxCompute表,提升開發(fā)效率和正確性。

  • MaxCompute Catalog提供的表可以直接作為Flink SQL作業(yè)中的源表、維表和結(jié)果表使用。

  • 在MaxCompute Catalog中創(chuàng)建表能夠自動(dòng)在MaxCompute服務(wù)中創(chuàng)建對應(yīng)的物理表,并自動(dòng)映射數(shù)據(jù)類型,提升開發(fā)效率。

本文將從以下方面為您介紹如何管理MaxCompute Catalog:

使用限制

  • 僅Flink計(jì)算引擎VVR 6.0.7及以上版本支持配置MaxCompute Catalog。

  • MaxCompute Catalog不支持創(chuàng)建數(shù)據(jù)庫,即MaxCompute中的項(xiàng)目。

  • MaxCompute Catalog不支持修改表結(jié)構(gòu)。

  • MaxCompute Catalog不支持CREATE TABLE AS(CTAS)語句

創(chuàng)建MaxCompute Catalog

支持UI與SQL命令兩種方式配置MaxCompute Catalog,推薦使用UI方式配置MaxCompute Catalog。

UI方式(推薦)

  1. 進(jìn)入元數(shù)據(jù)管理頁面。

    1. 登錄實(shí)時(shí)計(jì)算控制臺,單擊目標(biāo)工作空間操作列下的控制臺

    2. 單擊元數(shù)據(jù)管理

  2. 單擊創(chuàng)建Catalog,選擇ODPS后,單擊下一步

  3. 填寫參數(shù)配置信息。

    重要

    Catalog創(chuàng)建完成后,以下配置信息都不支持修改。如果需要修改,您需要?jiǎng)h除掉已創(chuàng)建的Catalog,重新進(jìn)行創(chuàng)建。

    image

    參數(shù)

    說明

    類型

    是否必填

    備注

    catalog name

    MaxCompute Catalog的名稱。

    String

    請?zhí)顚憺樽远x的英文名。

    endpoint

    MaxCompute服務(wù)連接站點(diǎn)。

    String

    具體站點(diǎn)請參見Endpoint

    accessId

    訪問MaxCompute服務(wù)所使用阿里云賬號的AccessKey ID。

    String

    該賬號需要對Catalog訪問的項(xiàng)目有admin權(quán)限。

    accessKey

    訪問MaxCompute服務(wù)所使用阿里云賬號的AccessKey Secret。

    String

    無。

    project

    Catalog中作為默認(rèn)數(shù)據(jù)庫的MaxCompute項(xiàng)目名。

    String

    若不設(shè)置該值,默認(rèn)項(xiàng)目為default。

  4. 單擊確定

    創(chuàng)建完成后,元數(shù)據(jù)下即可查看新建的Catalog。

SQL方式

  1. 查詢腳本文本編輯區(qū)域,輸入配置MaxCompute Catalog的命令。

    CREATE CATALOG `<catalogName>` WITH (
      'type' = 'odps',
      'endpoint' = '<odpsEndpoint>',
      'accessId' = '<aliyunAccountAccessId>',
      'accessKey' = '<aliyunAccountAccessKey>',
      'project' = '<defaultProject>',
      'userAccount' = '<RAMUserAccount>'
    );

    參數(shù)詳情如下表所示。

    參數(shù)

    說明

    類型

    是否必填

    備注

    catalogName

    MaxCompute Catalog的名稱。

    String

    請?zhí)顚憺樽远x的英文名。

    type

    Catalog類型。

    String

    固定值為odps。

    endpoint

    MaxCompute服務(wù)連接站點(diǎn)。

    String

    具體站點(diǎn)請參見Endpoint

    accessId

    訪問MaxCompute服務(wù)所使用阿里云賬號的AccessKey ID。

    String

    該賬號需要對Catalog訪問的項(xiàng)目有admin權(quán)限。

    accessKey

    訪問MaxCompute服務(wù)所使用阿里云賬號的AccessKey Secret。

    String

    無。

    project

    Catalog中作為默認(rèn)數(shù)據(jù)庫的MaxCompute項(xiàng)目名。

    String

    若不設(shè)置該值,默認(rèn)項(xiàng)目為default。

    userAccount

    阿里云賬號或RAM用戶名稱。

    String

    若使用的AccessKey非主賬號,僅對主賬號下的部分項(xiàng)目有admin權(quán)限,則需要設(shè)置該參數(shù)為賬號名稱,例如RAM$[<account_name>:]<RAM_name>,MaxCompute Catalog將僅展示該賬號有權(quán)限的項(xiàng)目列表。

    MaxCompute用戶權(quán)限管理參見用戶規(guī)劃與管理

  2. 選中創(chuàng)建Catalog的代碼后,單擊左側(cè)代碼行數(shù)上的運(yùn)行

    創(chuàng)建MaxCompute Catalog..png

查看MaxCompute Catalog

UI方式(推薦)

  1. 進(jìn)入元數(shù)據(jù)管理頁面。

    1. 登錄實(shí)時(shí)計(jì)算控制臺

    2. 單擊目標(biāo)工作空間操作列下的控制臺

    3. 單擊元數(shù)據(jù)管理

  2. Catalog列表頁面,查看Catalog名稱類型

    如果您需要查看目標(biāo)Catalog下的數(shù)據(jù)庫和表,請單擊查看

SQL方式

  1. 查詢腳本文本編輯區(qū)域,輸入以下命令:

    DESCRIBE `<catalogName>`.`<projectName>`.`<tableName>`;

    參數(shù)

    說明

    catalogName

    MaxCompute Catalog名稱。

    projectName

    MaxCompute中的項(xiàng)目名。

    tableName

    MaxCompute中存儲的物理表名。

  2. 選中查看Catalog的代碼后,單擊左側(cè)代碼行數(shù)上的運(yùn)行

    運(yùn)行成功后,可以在編輯區(qū)域下方的結(jié)果一欄中看到MaxCompute物理表在Flink中對應(yīng)的Schema信息。

使用MaxCompute Catalog

通過Catalog創(chuàng)建MaxCompute物理表

通過Flink SQL DDL,在MaxCompute Catalog中創(chuàng)建表時(shí),會自動(dòng)在對應(yīng)的MaxCompute項(xiàng)目中創(chuàng)建對應(yīng)的物理表,并自動(dòng)將Flink中的類型轉(zhuǎn)換為MaxCompute中的類型,支持創(chuàng)建非分區(qū)表和分區(qū)表。

創(chuàng)建非分區(qū)表示例:

CREATE TABLE `<catalogName>`.`<projectName>`.`<tableName>` (
 f0 INT,
  f1 BIGINT,
  f2 DOUBLE,
  f3 STRING
);

執(zhí)行完成后,您可以在MaxCompute中查看對應(yīng)項(xiàng)目中的表,可以看到已創(chuàng)建對應(yīng)名字的非分區(qū)表,其列名稱、類型與Flink DDL中對應(yīng)。

創(chuàng)建分區(qū)表示例:

CREATE TABLE `<catalogName>`.`<projectName>`.`<tableName>` (
	f0 INT,
  f1 BIGINT,
  f2 DOUBLE,
  f3 STRING,
  ds STRING
) PARTITIONED BY (ds);

在Flink DDL的Schema末尾添加分區(qū)列,并在PARTITIONED BY語句中聲明分區(qū)列名,執(zhí)行完成后查看對應(yīng)MaxCompute項(xiàng)目中的表,可以看到已創(chuàng)建對應(yīng)名字的分區(qū)表,其普通列為f0、f1、f2、f3,分區(qū)列為ds。

重要

MaxCompute中列名均為小寫,而Flink中列名區(qū)分大小寫,若DDL中列名包含大寫字母將被自動(dòng)轉(zhuǎn)換成小寫,若DDL中包含多個(gè)轉(zhuǎn)換成小寫后同名的列,則會報(bào)錯(cuò)。

從MaxCompute Catalog表中讀取數(shù)據(jù)

MaxCompute Catalog能夠從MaxCompute服務(wù)讀取物理表的Schema,因此無需在Flink中聲明對應(yīng)Schema即可直接讀取數(shù)據(jù)。例如:

SELECT * FROM `<catalogName>`.`<projectName>`.`<tableName>`;

不聲明任何參數(shù)的默認(rèn)行為為全量讀取所有分區(qū),若您需要讀取特定分區(qū),或使用增量源表模式,可以參考大數(shù)據(jù)計(jì)算服務(wù)MaxCompute中的參數(shù)設(shè)置,在SQL注釋中聲明,例如:

讀取特定分區(qū):

SELECT * FROM `<catalogName>`.`<projectName>`.`<tableName>`
/*+ OPTIONS('partition' = 'ds=230613') */;

使用增量源表模式:

SELECT * FROM `<catalogName>`.`<projectName>`.`<tableName>`
/*+ OPTIONS('startPartition' = 'ds=230613') */;

使用維表模式:

SELECT * FROM `<anotherTable>` AS l LEFT JOIN
`<catalogName>`.`<projectName>`.`<tableName>`
/*+ OPTIONS('partition' = 'max_pt()', 'cache' = 'ALL') */
FOR SYSTEM_TIME AS OF l.proc_time AS r
ON l.id = r.id;

其他大數(shù)據(jù)計(jì)算服務(wù)MaxCompute中支持的源表和維表參數(shù)均可以通過該方式進(jìn)行設(shè)置。但需要注意的是,MaxCompute Catalog中不保存Watermark信息,若需要在以源表讀取數(shù)據(jù)時(shí)指定Watermark,可以使用CREATE TABLE ... LIKE ...語句,例如:

CREATE TABLE `<newTable>` ( WATERMARK FOR ts AS ts )
LIKE `<catalogName>`.`<projectName>`.`<tableName>`;

其中ts為MaxCompute物理表中類型為DATETIME的列,該類型可以在Flink中被設(shè)置為事件時(shí)間并添加Watermark信息,創(chuàng)建完成后,從newTable讀取的數(shù)據(jù)均帶有Watermark。

向MaxCompute Catalog表中寫入數(shù)據(jù)

MaxCompute Catalog支持以固定分區(qū)或動(dòng)態(tài)分區(qū)模式寫入數(shù)據(jù),參見結(jié)果表示例。例如有MaxCompute物理表有二級分區(qū)ds和hh,可以使用如下語句寫入數(shù)據(jù):

-- 寫入固定分區(qū)
INSERT INTO `<catalogName>`.`<projectName>`.`<tableName>`
/*+ OPTIONS('partition' = 'ds=20231024,hh=09') */
SELECT <otherColumns>, '20231024', '09' FROM `<anotherTable>`;

-- 寫入動(dòng)態(tài)分區(qū)
INSERT INTO `<catalogName>`.`<projectName>`.`<tableName>`
/*+ OPTIONS('partition' = 'ds,hh') */
SELECT <otherColumns>, ds, hh FROM `<anotherTable>`;
重要

SELECT中,分區(qū)列需要按分區(qū)層級順序放置在其他普通列之后。

刪除MaxCompute Catalog

警告

刪除MaxCompute Catalog不會影響已運(yùn)行的作業(yè),但會導(dǎo)致使用該Catalog下表的作業(yè),在上線或重啟時(shí)報(bào)無法找到該表的錯(cuò)誤,請您謹(jǐn)慎操作。

UI方式

  1. 進(jìn)入元數(shù)據(jù)管理頁面。

    1. 登錄實(shí)時(shí)計(jì)算控制臺

    2. 單擊目標(biāo)工作空間操作列下的控制臺

    3. 單擊元數(shù)據(jù)管理

  2. Catalog列表頁面,單擊目標(biāo)Catalog名稱對應(yīng)操作列下的刪除

  3. 在彈出的對話框中,單擊刪除

    說明

    刪除完成后,在左側(cè)元數(shù)據(jù)區(qū)域下即可查看目標(biāo)Catalog已刪除。

SQL命令方式

  1. 查詢腳本文本編輯區(qū)域,輸入以下命令。

    DROP CATALOG `<catalogName>`;

    其中,<catalogName>為您要?jiǎng)h除的目標(biāo)MaxCompute Catalog名稱。

    警告

    刪除MaxCompute Catalog不會影響已運(yùn)行的作業(yè),但對未上線或者需要暫停恢復(fù)的作業(yè)均產(chǎn)生影響,請您謹(jǐn)慎操作。

  2. 選中刪除Catalog的命令,鼠標(biāo)右鍵選擇運(yùn)行

  3. 在左側(cè)元數(shù)據(jù)區(qū)域,查看目標(biāo)Catalog是否已刪除。

MaxCompute與Flink的類型映射

MaxCompute支持的類型參見2.0數(shù)據(jù)類型版本

MaxCompute至Flink

讀取已有MaxCompute物理表時(shí),字段的MaxCompute類型將按下表映射為Flink類型。

MaxCompute類型

Flink類型

BOOLEAN

BOOLEAN

TINYINT

TINYINT

SMALLINT

SMALLINT

INT

INTEGER

BIGINT

BIGINT

FLOAT

FLOAT

DOUBLE

DOUBLE

DECIMAL(precision, scale)

DECIMAL(precision, scale)

CHAR(n)

CHAR(n)

VARCHAR(n)

VARCHAR(n)

STRING

STRING

BINARY

BYTES

DATE

DATE

DATETIME

TIMESTAMP(3)

TIMESTAMP

TIMESTAMP(9)

ARRAY

ARRAY

MAP

MAP

STRUCT

ROW

JSON

STRING

Flink至MaxCompute

通過Flink DDL在Catalog創(chuàng)建MaxCompute表時(shí),F(xiàn)link DDL中的字段類型將按下表映射為MaxCompute類型。

Flink類型

MaxCompute類型

BOOLEAN

BOOLEAN

TINYINT

TINYINT

SMALLINT

SMALLINT

INTEGER

INT

BIGINT

BIGINT

FLOAT

FLOAT

DOUBLE

DOUBLE

DECIMAL(precision, scale)

DECIMAL(precision, scale)

CHAR(n)

CHAR(n)

VARCHAR / STRING

STRING

BINARY

BINARY

VARBINARY / BYTES

BINARY

DATE

DATE

TIMESTAMP(n<=3)

DATETIME

TIMESTAMP(3<n<=9)

TIMESTAMP

ARRAY

ARRAY

MAP

MAP

ROW

STRUCT