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

Paimon外部表

更新時(shí)間:

MaxCompute支持通過(guò)創(chuàng)建Paimon外部表來(lái)與存儲(chǔ)在OSS上的Paimon表目錄建立映射關(guān)系,并訪問(wèn)其中的數(shù)據(jù)。本文將介紹如何創(chuàng)建Paimon外部表并通過(guò)MaxCompute訪問(wèn)Paimon外部表。

背景信息

Apache Paimon是一種流批一體的湖存儲(chǔ)格式,具備高吞吐的寫(xiě)入和低延遲的查詢能力。阿里云實(shí)時(shí)計(jì)算Flink版開(kāi)源大數(shù)據(jù)平臺(tái)E-MapReduce的常見(jiàn)計(jì)算引擎(如Spark、Hive或Trino)都與Paimon有完善的集成。借助Apache Paimon,您可以快速構(gòu)建自己的數(shù)據(jù)湖存儲(chǔ)服務(wù)在存儲(chǔ)服務(wù)OSS上,并接入MaxCompute實(shí)現(xiàn)數(shù)據(jù)湖的分析。關(guān)于Apache Paimon的詳細(xì)信息,請(qǐng)參見(jiàn)Apache Paimon

前提條件

  • 當(dāng)前執(zhí)行操作的賬號(hào)已具備創(chuàng)建MaxCompute表(CreateTable)的權(quán)限。更多表權(quán)限信息,請(qǐng)參見(jiàn)MaxCompute權(quán)限

  • 已創(chuàng)建MaxCompute項(xiàng)目。具體操作,請(qǐng)參見(jiàn)創(chuàng)建MaxCompute項(xiàng)目

  • 已創(chuàng)建存儲(chǔ)空間(Bucket)以及對(duì)應(yīng)的文件目錄。具體操作,請(qǐng)參見(jiàn)創(chuàng)建存儲(chǔ)空間

    說(shuō)明

    由于MaxCompute只在部分地域部署,跨地域的數(shù)據(jù)連通性可能存在問(wèn)題,因此建議Bucket與MaxCompute項(xiàng)目所在地域保持一致。

  • 已購(gòu)買(mǎi)Flink全托管,具體操作請(qǐng)參見(jiàn)開(kāi)通實(shí)時(shí)計(jì)算Flink版

注意事項(xiàng)

  • 當(dāng)前MaxCompute僅支持對(duì)Paimon外部表的讀取操作,暫時(shí)不支持寫(xiě)入和自動(dòng)跟隨Paimon表結(jié)構(gòu)變更等操作。

  • Paimon當(dāng)前暫時(shí)不支持開(kāi)啟了Schema操作的MaxCompute項(xiàng)目。

  • Paimon外部表不支持cluster屬性。

  • Paimon外部表暫不支持查詢回溯歷史版本的數(shù)據(jù)等特性。

創(chuàng)建Paimon外部表命令語(yǔ)法

MaxCompute創(chuàng)建Paimon外部表的語(yǔ)法定義如下:

CREATE EXTERNAL TABLE  [if NOT EXISTS] <mc_oss_extable_name>
(
<col_name> <data_type>,
...
)
[partitioned BY (<col_name> <data_type>, ...)]
stored BY 'org.apache.paimon.hive.PaimonStorageHandler'
WITH serdeproperties (
    'odps.properties.rolearn'='acs:ram::xxxxxxxxxxxxx:role/aliyunodpsdefaultrole'
)
location '<oss_location>'
USING 'paimon_maxcompute_connector.jar';

若您創(chuàng)建的Paimon外部表為分區(qū)表時(shí),需要額外執(zhí)行引入分區(qū)數(shù)據(jù)的操作。命令詳情,請(qǐng)參見(jiàn)補(bǔ)全OSS外部表分區(qū)數(shù)據(jù)語(yǔ)法

  • 方式一(推薦):自動(dòng)解析OSS目錄結(jié)構(gòu),識(shí)別分區(qū),為OSS外部表添加分區(qū)信息。

    msck repair TABLE <mc_oss_extable_name> ADD partitions;
  • 方式二:手動(dòng)執(zhí)行如下命令為OSS外部表添加分區(qū)信息。

    ALTER TABLE <mc_oss_extable_name> ADD PARTITION (<col_name>= <col_value>);

參數(shù)說(shuō)明如下:

參數(shù)名稱(chēng)

可選/必填

說(shuō)明

mc_oss_extable_name

必填

待創(chuàng)建的Paimon外部表的名稱(chēng)。

表名大小寫(xiě)不敏感,在查詢外部表時(shí),無(wú)需區(qū)分大小寫(xiě),且不支持強(qiáng)制轉(zhuǎn)換大小寫(xiě)。

col_name

必填

Paimon外部表的列名稱(chēng)。

在讀取Paimon數(shù)據(jù)場(chǎng)景,創(chuàng)建的Paimon外部表結(jié)構(gòu)必須與Paimon數(shù)據(jù)文件結(jié)構(gòu)保持一致,否則無(wú)法成功讀取Paimon數(shù)據(jù)。

data_type

必填

Paimon外部表的列數(shù)據(jù)類(lèi)型。

在讀取Paimon數(shù)據(jù)場(chǎng)景,創(chuàng)建的Paimon外部表各列數(shù)據(jù)類(lèi)型必須與Paimon數(shù)據(jù)文件各列數(shù)據(jù)類(lèi)型保持一致,否則無(wú)法成功讀取Paimon數(shù)據(jù)。

odps.properties.rolearn

必填

指定RAM中Role(具有訪問(wèn)OSS權(quán)限)的ARN信息。

您可以通過(guò)RAM控制臺(tái)中的角色詳情獲取。

oss_location

必填

數(shù)據(jù)文件所在OSS路徑。格式為oss://<oss_endpoint>/<Bucket名稱(chēng)>/<OSS目錄名稱(chēng)>/。MaxCompute默認(rèn)會(huì)讀取該路徑下的所有數(shù)據(jù)文件。

  • oss_endpoint:OSS訪問(wèn)域名信息。您需要使用OSS提供的內(nèi)網(wǎng)域名,否則將產(chǎn)生OSS流量費(fèi)用。例如oss://oss-cn-beijing-internal.aliyuncs.com/xxx。更多OSS內(nèi)網(wǎng)域名信息,請(qǐng)參見(jiàn)OSS地域和訪問(wèn)域名

    說(shuō)明

    建議數(shù)據(jù)文件存放的OSS地域與MaxCompute項(xiàng)目所在地域保持一致。由于MaxCompute只在部分地域部署,跨地域的數(shù)據(jù)連通性可能存在問(wèn)題。

  • Bucket名稱(chēng):OSS存儲(chǔ)空間名稱(chēng),即Bucket名稱(chēng)。更多查看存儲(chǔ)空間名稱(chēng)信息,請(qǐng)參見(jiàn)列舉存儲(chǔ)空間

  • 目錄名稱(chēng):OSS目錄名稱(chēng)。目錄后不需要指定文件名。示例如下:

    oss://oss-cn-shanghai-internal.aliyuncs.com/oss-mc-test/Demo1/

使用說(shuō)明

步驟一:在Flink中準(zhǔn)備數(shù)據(jù)

創(chuàng)建Paimon Catalog和Paimon表,并在表中插入數(shù)據(jù),參考示例操作步驟如下。如果您在Flink中已有Paimon表和數(shù)據(jù),可以跳過(guò)此步。

  1. 登錄實(shí)時(shí)計(jì)算控制臺(tái),創(chuàng)建Paimon Catalog。具體操作,請(qǐng)參見(jiàn)創(chuàng)建Paimon Catalog

  2. 創(chuàng)建Paimon表。具體操作,請(qǐng)參見(jiàn)管理Paimon表

    1. 元數(shù)據(jù)管理頁(yè)面,選擇已創(chuàng)建Paimon Catalog下的default,然后單擊創(chuàng)建表,如下圖所示。

      image.png

    2. 添加表對(duì)話框,選擇Apache Paimon連接器,輸入以下語(yǔ)句,單擊確定。本文以test_tbl表為例。

      CREATE TABLE `catalogname`.`default`.test_tbl (
          dt STRING,
          id BIGINT,
          data STRING,
          PRIMARY KEY (dt, id) NOT ENFORCED
      ) PARTITIONED BY (dt);
    3. SQL 開(kāi)發(fā)頁(yè)面,創(chuàng)建包含如下語(yǔ)句的SQL作業(yè),部署并運(yùn)行作業(yè)。關(guān)于如何創(chuàng)建并運(yùn)行SQL作業(yè)詳情,請(qǐng)參見(jiàn)SQL作業(yè)開(kāi)發(fā)

      INSERT INTO `catalogname`.`default`.test_tbl VALUES ('2023-04-21', 1, 'AAA'), ('2023-04-21', 2, 'BBB'), ('2023-04-22', 1, 'CCC'), ('2023-04-22', 2, 'DDD');
      說(shuō)明
      • 請(qǐng)確認(rèn)SQL作業(yè)的引擎版本為vvr-8.0.1-flink-1.17及以上版本。

      • 若SQL作業(yè)有限流作業(yè)(例如執(zhí)行INSERT INTO ... VALUES ...語(yǔ)句),需要在作業(yè)運(yùn)維頁(yè)面,編輯運(yùn)行參數(shù)配置,在其他配置設(shè)置execution.checkpointing.checkpoints-after-tasks-finish.enabled: true代碼。關(guān)于如何配置作業(yè)的運(yùn)行參數(shù)詳情,請(qǐng)參見(jiàn)配置作業(yè)部署信息

步驟二:在MaxCompute項(xiàng)目中上傳Paimon插件

您可以選擇以下其中一種方式,在已創(chuàng)建的MaxCompute項(xiàng)目中上傳Paimon插件

使用MaxCompute客戶端

通過(guò)客戶端(odpscmd)訪問(wèn)已創(chuàng)建的MaxCompute項(xiàng)目,并執(zhí)行以下代碼,將paimon_maxcompute_connector.jar上傳至MaxCompute項(xiàng)目中。

ADD JAR <path_to_paimon_maxcompute_connector.jar>;

使用DataWorks

  1. 登錄DataWorks控制臺(tái),在左側(cè)導(dǎo)航欄選擇工作空間,單擊目標(biāo)工作空間操作列中的快速進(jìn)入 > 數(shù)據(jù)開(kāi)發(fā)

  2. 數(shù)據(jù)開(kāi)發(fā)頁(yè)面,單擊新建按鈕,選擇新建資源 > JAR

  3. 新建資源對(duì)話框,配置新建資源參數(shù),上傳paimon_maxcompute_connector.jar,單擊新建。新建資源操作詳情,請(qǐng)參見(jiàn)步驟一:創(chuàng)建或上傳資源

    image.png

  4. 資源創(chuàng)建完成后,您需在資源編輯頁(yè)面,單擊工具欄中的image.png圖標(biāo),提交資源至調(diào)度開(kāi)發(fā)服務(wù)器端。

步驟三:通過(guò)MaxCompute創(chuàng)建Paimon外表

使用本地客戶端(odpscmd)連接或其他可以運(yùn)行MaxCompute SQL的工具,創(chuàng)建MaxCompute Paimon外部表。本文以oss_extable_paimon_1pt為例。

CREATE EXTERNAL TABLE oss_extable_paimon_1pt
(
    id BIGINT,
    data STRING
)
PARTITIONED BY (dt STRING )
stored BY 'org.apache.paimon.hive.PaimonStorageHandler'
WITH serdeproperties (
    'odps.properties.rolearn'='acs:ram::124*********:role/aliyunodpsdefaultrole'
)
location 'oss://oss-cn-beijing-internal.aliyuncs.com/paimon_flink/test_db_y.db/test_tbl/'
USING 'paimon_maxcompute_connector.jar'
;

步驟四:通過(guò)MaxCompute讀取Paimon外部表

  1. 使用本地客戶端(odpscmd)或其他可以運(yùn)行MaxCompute SQL的工具,執(zhí)行以下命令。

    SET odps.sql.common.table.planner.ext.hive.bridge = true;
    SET odps.sql.hive.compatible = true;
  2. 執(zhí)行以下命令,查詢MaxCompute Paimon外部表oss_extable_paimon_1pt

    SELECT * FROM oss_extable_paimon_1pt;

    示例返回結(jié)果如下。

    +------------+------------+------------+
    | id         | data       | dt         |
    +------------+------------+------------+
    | 1          | AAA        | 2023-04-21 |
    | 2          | BBB        | 2023-04-21 |
    +------------+------------+------------+
    說(shuō)明

    若返回結(jié)果中沒(méi)有顯示分區(qū)信息,您可以通過(guò)如下命令追加分區(qū)信息:

    msck repair table oss_extable_paimon_1pt add partitions;

相關(guān)文檔

您還可以在Flink中以自定義Catalog的方式創(chuàng)建MaxCompute Paimon外部表,并在寫(xiě)入數(shù)據(jù)后,通過(guò)MaxCompute查詢并消費(fèi)Paimon數(shù)據(jù),詳情請(qǐng)參見(jiàn)基于Flink創(chuàng)建MaxCompute Paimon外部表