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

OSS數(shù)據(jù)湖加速

基于阿里云數(shù)據(jù)湖構(gòu)建(Data Lake Formation,DLF)和對(duì)象存儲(chǔ)(Object Storage Service,OSS)推出的Hologres數(shù)據(jù)湖加速服務(wù),提供了靈活的數(shù)據(jù)訪問(wèn)和分析能力以及高效的數(shù)據(jù)處理能力,顯著加快了對(duì)OSS數(shù)據(jù)湖的查詢(xún)和分析過(guò)程。本文將為您介紹在Hologres中如何通過(guò)DLF讀寫(xiě)OSS數(shù)據(jù)。

前提條件

  • 您已開(kāi)通DLF數(shù)據(jù)湖構(gòu)建,詳情請(qǐng)參見(jiàn)快速入門(mén)。支持開(kāi)通DLF的地域請(qǐng)參見(jiàn)已開(kāi)通的地域和訪問(wèn)域名

  • (可選)如果您需要使用DLF自定義數(shù)據(jù)目錄功能,請(qǐng)先在DLF中新建數(shù)據(jù)目錄,詳情請(qǐng)參見(jiàn)新建數(shù)據(jù)目錄

  • 您已開(kāi)通OSS并準(zhǔn)備好數(shù)據(jù),詳情請(qǐng)參見(jiàn)開(kāi)通OSS服務(wù)

  • 您已進(jìn)行OSS授權(quán)操作,通過(guò)外部表方式訪問(wèn)OSS數(shù)據(jù),需要訪問(wèn)的賬號(hào)有OSS的相關(guān)訪問(wèn)權(quán)限,否則即使創(chuàng)建外表成功了,也無(wú)法查詢(xún)數(shù)據(jù),OSS授權(quán)請(qǐng)參見(jiàn)Bucket Policy

  • (可選)如果您需要使用OSS-HDFS功能,請(qǐng)開(kāi)通OSS-HDFS服務(wù),詳情請(qǐng)參見(jiàn)開(kāi)通OSS-HDFS服務(wù)

注意事項(xiàng)

  • Hologres數(shù)據(jù)導(dǎo)出至OSS時(shí)僅支持執(zhí)行INSERT INTO命令,不支持執(zhí)行INSERT ON CONFLICTUPDATEDELETE命令。

  • 僅Hologres V1.3及以上版本支持回寫(xiě)數(shù)據(jù)至OSS,且僅支持ORC、Parquet、CSV、SequenceFile格式文件。

  • Hologres暫不支持從引擎?zhèn)茸詣?dòng)創(chuàng)建OSS外部表,如需使用INSERT INTO命令回寫(xiě)數(shù)據(jù)至OSS,請(qǐng)?jiān)贒LF中提前創(chuàng)建好對(duì)應(yīng)的外部表,如需導(dǎo)出數(shù)據(jù)至分區(qū)表,請(qǐng)?zhí)崆皠?chuàng)建好對(duì)應(yīng)的分區(qū)。

  • 只讀從實(shí)例暫不支持開(kāi)啟數(shù)據(jù)湖加速能力。

  • 不支持讀寫(xiě)使用了OSS加速器的數(shù)據(jù)湖數(shù)據(jù),OSS加速器詳情請(qǐng)參見(jiàn)使用OSS加速器

  • IMPORT FOREIGN SCHEMA語(yǔ)句支持導(dǎo)入存儲(chǔ)于OSS上的分區(qū)表,當(dāng)前Hologres最多支持查詢(xún)512個(gè)分區(qū),請(qǐng)?zhí)砑臃謪^(qū)過(guò)濾條件,使得一次查詢(xún)不超過(guò)512個(gè)分區(qū)。

  • 湖數(shù)據(jù)查詢(xún)的原理是在運(yùn)行時(shí)將外表數(shù)據(jù)的特定查詢(xún)分區(qū)加載到Hologres的內(nèi)存和緩存中完成計(jì)算,為不影響查詢(xún)體驗(yàn),Hologres一次查詢(xún)支持的數(shù)據(jù)量不超過(guò)200GB(經(jīng)分區(qū)過(guò)濾后命中的數(shù)據(jù)量)。

  • 不支持對(duì)外表執(zhí)行UPDATEDELETETRUNCATE等命令。

使用說(shuō)明

環(huán)境配置

  1. 在Hologres實(shí)例中開(kāi)啟DLF_FDW后臺(tái)配置。

    前往Hologres管控臺(tái)實(shí)例列表實(shí)例詳情頁(yè),單擊目標(biāo)實(shí)例操作列的數(shù)據(jù)湖加速并確認(rèn),后臺(tái)將自動(dòng)配置DLF_FDW并重啟實(shí)例,重啟完成即可使用該服務(wù)。

    說(shuō)明

    Hologres控制臺(tái)自助開(kāi)啟DLF_FDW后臺(tái)配置功能陸續(xù)開(kāi)放中,如果您暫時(shí)看不到數(shù)據(jù)湖加速按鈕,請(qǐng)您使用自助升級(jí)或加入Hologres釘釘交流群反饋,詳情請(qǐng)參見(jiàn)如何獲取更多的在線支持?

    開(kāi)啟DLF_FDW后默認(rèn)使用當(dāng)前系統(tǒng)資源(目前規(guī)格是1Core 4GB),無(wú)需額外購(gòu)買(mǎi)資源。

  2. 創(chuàng)建Extension。

    在Hologres中由Superuser在DB中執(zhí)行以下語(yǔ)句創(chuàng)建Extension,用于開(kāi)啟通過(guò)DLF讀取OSS數(shù)據(jù)的功能。該操作針對(duì)整個(gè)DB生效,一個(gè)DB只需執(zhí)行一次。

    CREATE EXTENSION IF NOT EXISTS dlf_fdw;
  3. 創(chuàng)建外部服務(wù)器。

    Hologres支持DLF數(shù)據(jù)目錄(Multi-Catalog)功能,如果您只有一個(gè)EMR集群,則使用DLF默認(rèn)數(shù)據(jù)目錄(DLF Default Catalog)即可,如果您有多個(gè)EMR集群,可以使用自定義數(shù)據(jù)目錄來(lái)控制Hologres實(shí)例鏈接到不同的EMR集群。同時(shí),您也可以選擇原生OSS或者OSS-HDFS作為數(shù)據(jù)來(lái)源,具體配置如下。

    • 使用DLF默認(rèn)數(shù)據(jù)目錄和原生OSS存儲(chǔ)創(chuàng)建Server,示例語(yǔ)法如下。

      --查看現(xiàn)有server(其中meta_warehouse_server,odps_server是系統(tǒng)內(nèi)置server,不可以修改和刪除)
      SELECT * FROM pg_foreign_server;
      
      --刪除現(xiàn)有server
      DROP SERVER <server_name> CASCADE;
      
      --創(chuàng)建server
      CREATE SERVER IF NOT EXISTS <server_name> FOREIGN DATA WRAPPER dlf_fdw OPTIONS (
          dlf_region '<region id>',
          dlf_endpoint 'dlf-share.<region id>.aliyuncs.com',
          oss_endpoint 'oss-<region id>-internal.aliyuncs.com'
      );
    • 使用DLF自定義數(shù)據(jù)目錄。

      創(chuàng)建Server默認(rèn)連接到DLF的默認(rèn)數(shù)據(jù)目錄,如您需要訪問(wèn)自定義數(shù)據(jù)目錄,需要在創(chuàng)建Server時(shí)指定DLF數(shù)據(jù)目錄參數(shù),示例語(yǔ)法如下。

      --刪除現(xiàn)有 server
      DROP SERVER <server_name> CASCADE;
      
      --創(chuàng)建 server
      CREATE SERVER IF NOT EXISTS <server_name> FOREIGN DATA WRAPPER dlf_fdw OPTIONS (
          dlf_region '<region id>',
          dlf_endpoint 'dlf-share.<region id>.aliyuncs.com',
          oss_endpoint 'oss-<region id>-internal.aliyuncs.com',
          [dlf_catalog 'dlf_catalog_name']                     -- 添加自定義Catalog參數(shù)
      );
      重要

      如果您使用DLF默認(rèn)數(shù)據(jù)目錄,請(qǐng)勿定義dlf_catalog參數(shù),僅自定義數(shù)據(jù)目錄支持使用dlf_catalog參數(shù)進(jìn)行聲明。使用DLF默認(rèn)數(shù)據(jù)目錄請(qǐng)參見(jiàn)使用DLF默認(rèn)數(shù)據(jù)目錄和原生OSS存儲(chǔ)創(chuàng)建Server

    • 使用OSS-HDFS作為數(shù)據(jù)湖存儲(chǔ)。

      • 確定OSS-HDFS Endpoint(地域節(jié)點(diǎn))

        通過(guò)DLF_FDW訪問(wèn)存儲(chǔ)在OSS-HDFS上數(shù)據(jù),需要配置OSS-HDFS的服務(wù)域名;域名地址可以在OSS控制臺(tái)中,已開(kāi)通OSS-HDFS服務(wù)的Bucket概覽頁(yè)獲取。

        image

      • 創(chuàng)建外部Server并配置Endpoint信息

        確認(rèn)Bucket域名后即可在Hologres中配置DLF_FDW OSS_Endpoint選項(xiàng),示例語(yǔ)法如下。

        CREATE EXTENSION IF NOT EXISTS dlf_fdw;
        
        CREATE SERVER IF NOT EXISTS <server_name> FOREIGN DATA WRAPPER dlf_fdw OPTIONS (
            dlf_region '<region id>',
            dlf_endpoint 'dlf-share.<region id>.aliyuncs.com',
            oss_endpoint '<bucket_name>.<region id>.oss-dls.aliyuncs.com' -- OSS-HDFS Bucket Endpoint 域名節(jié)點(diǎn)
        );
      • 參數(shù)說(shuō)明。

        參數(shù)

        說(shuō)明

        示例

        server_name

        自定義的server名稱(chēng)。

        dlf_server

        dlf_region

        連接DLF所在的地域,請(qǐng)您根據(jù)地域進(jìn)行選擇。

        • 華北2(北京):cn-beijing

        • 華東1(杭州):cn-hangzhou

        • 華東2(上海):cn-shanghai。

        • 華南1(深圳):cn-shenzhen

        • 華北3(張家口):cn-zhangjiakou

        • 新加坡:ap-southeast-1

        • 德國(guó)(法蘭克福):eu-central-1

        • 美國(guó)(弗吉尼亞):us-east-1

        • 印度尼西亞(雅加達(dá)):ap-southeast-5

        cn-hangzhou

        dlf_endpoint

        推薦使用DLF的對(duì)內(nèi)服務(wù)Endpoint,可以獲得更好的訪問(wèn)性能。

        • 華北2(北京):dlf-share.cn-beijing.aliyuncs.com

        • 華東1(杭州):dlf-share.cn-hangzhou.aliyuncs.com

        • 華東2(上海):dlf-share.cn-shanghai.aliyuncs.com

        • 華南1(深圳):dlf-share.cn-shenzhen.aliyuncs.com

        • 華北3(張家口):dlf-share.cn-zhangjiakou.aliyuncs.com

        • 新加坡:dlf-share.ap-southeast-1.aliyuncs.com

        • 德國(guó)(法蘭克福):dlf-share.eu-central-1.aliyuncs.com

        • 美國(guó)(弗吉尼亞):dlf-share.us-east-1.aliyuncs.com

        • 印度尼西亞(雅加達(dá)):dlf-share.ap-southeast-5.aliyuncs.com

        dlf-share.cn-shanghai.aliyuncs.com

        oss_endpoint

        • 原生OSS存儲(chǔ)推薦使用OSS的內(nèi)網(wǎng)Endpoint,以獲得更好的訪問(wèn)性能。

        • OSS-HDFS目前僅支持內(nèi)網(wǎng)訪問(wèn),域名獲取方式詳見(jiàn)獲取OSS-HDFS服務(wù)域名

        • OSS

          oss-cn-shanghai-internal.aliyuncs.com
        • OSS-HDFS

          cn-hangzhou.oss-dls.aliyuncs.com

        dlf_catalog

        在DLF中新建的數(shù)據(jù)目錄,詳情請(qǐng)參見(jiàn)新建數(shù)據(jù)目錄

        dlf_catalog

  4. (可選)創(chuàng)建用戶映射。

    Hologres支持通過(guò)CREATE USER MAPPING命令指定其他用戶身份來(lái)訪問(wèn)DLF和OSS,如:foreign server的Owner可以通過(guò)CREATE USER MAPPING指定RAM用戶123xxx來(lái)訪問(wèn)OSS外部數(shù)據(jù)。

    查詢(xún)時(shí)請(qǐng)確保該賬號(hào)有對(duì)應(yīng)外部數(shù)據(jù)的查詢(xún)權(quán)限。詳細(xì)原理請(qǐng)參見(jiàn)postgres create user mapping

    CREATE USER MAPPING FOR <賬號(hào)uid> SERVER <server_name> OPTIONS 
    (
        dlf_access_id 'accessid', 
        dlf_access_key 'accesskey',
        oss_access_id 'accessid', 
        oss_access_key 'accesskey'
    );

    使用示例:

    --為當(dāng)前用戶創(chuàng)建用戶映射
    CREATE USER MAPPING FOR current_user SERVER <server_name> OPTIONS
    (
        dlf_access_id 'LTAI5txxx', 
        dlf_access_key 'y8LUUyyy',
        oss_access_id 'LTAI5txxx', 
        oss_access_key 'y8LUUyyy'
    );
    
    -- 為RAM用戶123xxx創(chuàng)建用戶映射
    CREATE USER MAPPING FOR "p4_123xxx" SERVER <server_name> OPTIONS
    (
        dlf_access_id 'LIlY5txxx', 
        dlf_access_key 'KsjkXKyyy',
        oss_access_id 'LIlY5txxx', 
        oss_access_key 'KsjkXKyyy'
    );
    
    --刪除用戶映射
    DROP USER MAPPING FOR current_user SERVER <server_name>;
    DROP USER MAPPING FOR "p4_123xxx" SERVER <server_name>;

讀取OSS湖數(shù)據(jù)

以DLF數(shù)據(jù)源為例,您需要在DLF中準(zhǔn)備元數(shù)據(jù)表,并保證該表中已抽取數(shù)據(jù),詳情請(qǐng)參見(jiàn)元數(shù)據(jù)管理。在Hologres中以外部表方式通過(guò)DLF訪問(wèn)OSS的數(shù)據(jù)操作步驟如下:

  1. 在Hologres實(shí)例中創(chuàng)建外部表。

    Server創(chuàng)建完成后,您可以在Hologres中使用CREATE FOREIGN TABLE創(chuàng)建外部表或IMPORT FOREIGN SCHEMA語(yǔ)法單獨(dú)或者批量創(chuàng)建外部表,用于讀取DLF抽取的OSS數(shù)據(jù)。

    說(shuō)明

    如果OSS外部表存在和Holo內(nèi)表同名的表,IMPORT FOREIGN SCHEMA會(huì)跳過(guò)該外部表的創(chuàng)建,請(qǐng)使用CREATE FOREIGN TABLE來(lái)定義一個(gè)非重復(fù)表名來(lái)創(chuàng)建。

    Hologres支持讀取OSS中的分區(qū)表,支持作為分區(qū)鍵的數(shù)據(jù)類(lèi)型為T(mén)EXT、VARCHAR和INT。CREATE FOREIGN TABLE方式因只做字段映射,不實(shí)際存儲(chǔ)數(shù)據(jù),將分區(qū)字段作為普通字段來(lái)創(chuàng)建即可;IMPORT FOREIGN SCHEMA方式無(wú)需關(guān)心表字段,會(huì)自動(dòng)處理表字段映射。

    • 語(yǔ)法示例

      -- 方式一
      CREATE FOREIGN TABLE [ IF NOT EXISTS ] oss_table_name ( [
      { column_name data_type }
        [, ... ]
        ] )
      SERVER <server_name>
      OPTIONS
      (
        schema_name '<dlf_database_name>',
        table_name '<dlf_table_name>'
      );
      
      -- 方式二
      IMPORT FOREIGN SCHEMA schema_name
          [ { limit to | except } ( table_name [, ...] ) ]
          from server <server_name>
          into local_schema
          [ options ( option 'value' [, ... ] ) ]
    • 參數(shù)說(shuō)明

      參數(shù)

      說(shuō)明

      schema_name

      DLF中創(chuàng)建的元數(shù)據(jù)庫(kù)名。

      table_name

      DLF中創(chuàng)建的元數(shù)據(jù)表名。

      server_name

      Hologres中創(chuàng)建的Server名。

      local_schema

      Hologres中的Schema名。

      options

      IMPORT FOREIGN SCHEMA中的option參數(shù)取值,詳情請(qǐng)參見(jiàn)IMPORT FOREIGN SCHEMA

    • 使用示例。

      • 單獨(dú)創(chuàng)建。

        創(chuàng)建一張外部表映射DLF元數(shù)據(jù)庫(kù)dlfpro中元數(shù)據(jù)表dlf_oss_test的數(shù)據(jù),該表位于Hologres中的public schema,并且檢驗(yàn)是否存在該外部表,若存在,則對(duì)已有表更新。

        -- 方式一
        CREATE FOREIGN TABLE dlf_oss_test_ext
        (
          id text,
          pt text
        )
        SERVER <server_name>
        OPTIONS
        (
          schema_name 'dlfpro',
          table_name 'dlf_oss_test'
        );
        
        -- 方式二
        IMPORT FOREIGN SCHEMA dlfpro LIMIT TO
        (
          dlf_oss_test
        )
        FROM SERVER <server_name> INTO public options (if_table_exist 'update');
      • 批量創(chuàng)建。

        將DLF元數(shù)據(jù)庫(kù)dlfpro中所有的表都映射至Hologres的public Schema,將會(huì)在Hologres中批量創(chuàng)建同名外部表。

        • 整庫(kù)導(dǎo)入。

          IMPORT FOREIGN SCHEMA dlfpro
          FROM SERVER <server_name> INTO public options (if_table_exist 'update');
        • 多表導(dǎo)入。

          IMPORT FOREIGN SCHEMA dlfpro
          (
            table1,
            table2,
            tablen
          )
          FROM SERVER <server_name> INTO public options (if_table_exist 'update');
  2. 數(shù)據(jù)查詢(xún)。

    創(chuàng)建外部表成功后,可以直接查詢(xún)外部表讀取OSS中的數(shù)據(jù)。

    • 非分區(qū)表

      SELECT * FROM dlf_oss_test;
    • 分區(qū)表

      SELECT * FROM partition_table where dt = '2013';

下一步

常見(jiàn)問(wèn)題

創(chuàng)建DLF外部表時(shí),提示報(bào)錯(cuò)ERROR: babysitter not ready,req:name:"HiveAccess"

  • 問(wèn)題原因。

    未添加后臺(tái)配置。

  • 解決方法。

    請(qǐng)您在管理控制臺(tái)的實(shí)例列表頁(yè)單擊數(shù)據(jù)湖加速以開(kāi)啟后臺(tái)配置。

示例教程

數(shù)據(jù)湖加速查詢(xún)